# AP8MI assignment submission This project is made as one of the assignments for the AP8MI class. ## Installation This project uses [python] 3.12 or higher. You will need to have it installed on your system. (On Arch Linux, you can do so with `pacman -S python`.) ### For production If you only wish to run the project and you're not interested in doing some further development on it, you can simply use `pip` and `venv` to install all the necessary dependencies: > [!NOTE] > Make sure you're in the root directory of the project (the same folder that this README file is in). ```bash # Create & activate python virtual environment python -m venv .venv . .venv/bin/activate # Install the dependencies (into the activated environment) python -m pip install -e . ``` This will only install the runtime dependencies, necessary to actually run the code. (The development dependencies will not be installed.) The dependencies will be installed into their own isolated virtual environment, which won't interfere with the system-wide python dependencies. ### For development This project uses [uv], which is a dependency management tool for python. You will need to install it. (On Arch Linux, you can do so with `pacman -S uv`). Once you get `uv` installed, go to the project's root directory and run: ```bash uv sync ``` This will install all of the necessary dependencies you'll need to run this project, including the development dependencies in a virtual environment. To then activate this environment, you can run: ```bash . .venv/bin/activate ``` ## Running To run the project, make sure you've activated your virtual environment first, then from the project's root directory, simply run: ```bash python -m src ``` [uv]: https://docs.astral.sh/uv/ [python]: https://www.python.org/