Contributing

This project requires the following tools installed:

Getting started

After checking out the repo locally, use

uv sync

This creates a venv at “.venv/” in repo root (if it doesn’t exist). It also installs dev dependencies like pre-commit, nox, ruff, and mypy.

See uv sync docs for more detailed usage.

Tip

To register the pre-commit hooks, use:

uv run pre-commit install

Running tests

Use nox to run tests:

uv run nox -s test

To run tests in all supported versions of python:

uv run nox -s test-all

To generate a coverage report:

uv run nox -s coverage

Generating docs

To view the docs locally, use

uv run nox -s docs

Submitting patches

Be sure to include unit tests for any python code that is changed.