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:
cargo-llvm-covcargo-nextestllvm-cov-prettyis used only for the optionalnox -s pretty-covtask. Without this installed,nox -s llvm-covwill suffice.
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