No longer `--only-group`, but `--group` so that it also uses the default dependencies. ref: N25B-213
Development environment
We begin by installing UV (very nice utility for managing packages and Python version):
# On MacOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Using UV, installing the packages and virtual environment is as simple as typing the following (inside the root directory of this repository):
uv sync
Running
To run the project (development server), execute the following command (while inside the root repository):
uv run fastapi dev src/control_backend/main.py
Testing
Testing happens automatically when opening a merge request to any branch. If you want to manually run the test suite, you can do so by running the following for unit tests:
uv run --only-group test pytest test/unit
Or for integration tests:
uv run --group integration-test pytest test/integration
GitHooks
To activate automatic commits/branch name checks run:
git config --local core.hooksPath .githooks
If your commit fails its either: branch name != /description-of-branch , commit name != : description of the commit. : N25B-Num's
To add automatic linting and formatting, run:
uv run pre-commit install