The development environment can be set up as follows:
git clone https://github.com/sdsc-ordes/modos-api && cd modos-api
make install
This will install dependencies and create the python virtual environment using poetry and setup pre-commit hooks with pre-commit.
The tests can be run with make test
, it will execute pytest with the doctest module.
If you are using nix
package manager with flakes enabled,
you can enter a development shell with all requirements installed by doing:
nix develop ./nix#default
Releases are deployed to pypi.org through github actions. To create a new release, create a PR named "chore: bump to X.Y.Z" where X.Y.Z is the new version. In the PR upgrade versions in the repo (sphinx config and pyproject.toml).
Once the PR is merged, a release can be created through the github UI on the merge commit. This will trigger corresponding release builds on PyPI and ghcr.io.