Development

June 3, 2026 · View on GitHub

Editable install

We recommend installing into an isolated environment — the dependencies include several GB of CUDA-built wheels.

python -m venv .venv && source .venv/bin/activate

For development, install the package in editable mode so changes to the source tree are picked up without reinstalling:

pip install -e .

or with uv:

uv venv && source .venv/bin/activate
uv pip install -e .

Pre-commit hooks

This repo uses pre-commit to run lint, format, and type checks (ruff, mypy, etc.) before each commit.

Install once per clone:

pip install pre-commit
pre-commit install

pre-commit install registers a git hook in .git/hooks/pre-commit, so it requires the directory to be a git repo. The hooks now run automatically on git commit against staged files.

To run the hooks manually against every file in the repo (useful right after the first install, or in CI):

pre-commit run --all-files

The first run downloads each hook's environment (ruff, mypy, etc.) into ~/.cache/pre-commit/ and may take a minute. Subsequent runs are fast.

To bump pinned hook versions in .pre-commit-config.yaml:

pre-commit autoupdate