Contributing

The project uses uv for its basic setup, ruff for code-formatting, and mypy for type checks and sphinx for the documentation.

The CI checks on the main branch are the single source of truth for code correctness.

To get a full development setup, you can checkout the repo and run

uv sync --all-groups

You can build the documentation with

uv run --group doc sphinx-build \
  --jobs 2 \
  --fail-on-warning \
  -b html \
  docs \
  docs/_build/html