Skip to content

Contributing guidelines

Building the documentation

The documentation is written in markdown, and uses Zensical to generate the pages.

To build the documentation for yourself:

pip install -e .[docs]
zensical serve

You can find the documentation source in the docs directory. If you are adding new pages, make sure to update the listing in the mkdocs.yml under the nav entry.

The documentation is hosted on PROTEUS Framework.

Running tests

MORS uses pytest to run the tests. You can run the tests for yourself using:

pytest

To check coverage:

coverage run -m pytest
coverage report  # to output to terminal
coverage html    # to generate html report

Making a release

MORS uses CalVer and derives its version straight from git tags with setuptools-scm, so there is no version string to edit by hand. To cut a release, tag the current main with today's date and publish a GitHub release:

git checkout main && git pull
git tag 26.07.11          # today's date as YY.MM.DD, with no leading "v"
git push origin 26.07.11
gh release create 26.07.11 --title "26.07.11" --generate-notes

Publishing the GitHub release triggers the publish workflow, which builds the package and uploads it to PyPI via trusted publishing. The full procedure, the version-scheme rationale, and troubleshooting are on the release how-to page.