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-cov
cargo-nextest
llvm-cov-pretty
is used only for the optionalnox -s pretty-cov
task. Without this installed,nox -s llvm-cov
will 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