Contributing
February 23, 2026 ยท View on GitHub
Setup
uv sync --all-groups
Run Checks
uv run ruff check .
uv run ruff format --check .
uv run mypy .
uv run pytest -q
Pre-commit
Install hooks:
uv run pre-commit install
Run hooks manually:
uv run pre-commit run --all-files
Release Process
- Update
versioninpyproject.toml(SemVer). - Merge changes to
main. - Create and push a matching tag:
vX.Y.Z. - GitHub Actions runs
.github/workflows/release.yml:- validates tag/version match,
- builds with
uv build --no-sources, - publishes with PyPI Trusted Publishing (OIDC).