Testing and release#
Create the development environment with uv:
uv venv --python 3.12 .venv-dev
source .venv-dev/bin/activate
uv pip install -e ".[tests,lint,docs,server]"
Prefer focused tests for changed behavior:
.venv-dev/bin/python -m pytest -q tests/path/to/test_file.py
Run broader environments when a shared contract changes:
tox -e lint
tox -e py312
tox -e docs
tox -e linkcheck
Documentation changes must pass the README QuickStart test, generated-module freshness check, Sphinx warnings-as-errors build, and relevant link checks.
Version and changelog updates are produced by the release-preparation workflow
after changes reach main. Local version inspection must use
semantic-release version --print; do not create release tags from a feature
branch.