task2/README.md
2025-03-16 11:21:18 +01:00

59 lines
1.8 KiB
Markdown

# 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/