Developer tools

We use hatch to manage install, CI/testing, docs build, versioning, and deployment.

Dev environment setup

Create the dev environment:

hatch env create

If you want to activate the dev environment on the terminal, run the following command (but it’s not necessary for running the subsequent hatch commands):

hatch shell

CI

Run tests:

hatch run tests

Lint checker:

hatch run lint

Format code:

hatch run format

Docs

Build docs locally (you can then see the generated documentation in docs/_build/html/index.html):

hatch run docs

Note

To render inheritance diagrams in the docs, you’ll need to install Graphviz. We use the Conda package:

conda install -c conda-forge graphviz

Docs are automatically deployed to github pages via a workflow on push to the main branch.

Versioning

To bump e.g. the minor version, run:

hatch version minor

Deployment

To deploy to PyPI, run:

hatch build

which will create a distribution in dist/, then:

hatch publish