Skip to content

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

First ensure that the following cargo-managed binaries are installed:

Use nox to run tests:

uv run nox -s test

Different test profiles are still defined in .config/nextest.toml. The above command uses the "default" profile, but to mimic the CI, use:

uv run nox -s test -- --profile ci

To generate a coverage report:

uv run nox -s llvm-cov -- --open

The -- --open part is optional. It opens the built coverage report in your default browser.

The uploaded codecov report is generated with

uv run nox -s lcov

Generating docs

To view the docs locally, use

uv run nox -s docs -- --open

The -- --open part is optional. It opens the built docs in your default browser.

In CI, docs are built using

uv run nox -s docs-build