Nox sessions¶
Generated projects use nox as the task runner, with uv as the backend. List everything:
uv run nox -l
Run the default suite (what CI runs):
uv run nox
Run a single session, optionally pinned to a Python version:
uv run nox -s tests
uv run nox -s tests -p 3.13
Default sessions¶
These run with a bare uv run nox and in CI.
pre-commitLint and format everything — Ruff (lint + format), pydoclint, ty, zizmor and actionlint on the workflows, prettier, and the file-hygiene hooks.
mypyStrict static type checking across all supported Python versions.
tyAstral’s ty as a fast secondary type check. mypy stays the authoritative checker.
testsThe pytest suite across all supported Python versions, in parallel (
pytest-xdist) and in random order (pytest-randomly).typeguardRuns the tests with runtime type checking enabled.
xdoctestExecutes the examples embedded in your docstrings.
docs-buildBuilds the Sphinx documentation once (HTML).
On-demand sessions¶
Not part of the default suite — run them explicitly.
coverageCombines coverage data and prints the report; enforces the 100% gate.
docsServes the docs locally with live reload (
sphinx-autobuild) — handy while writing docs.docs-linkcheckChecks external documentation links. Runs weekly (and on demand) via the
linkcheckworkflow — never on pull requests, so a flaky external link can’t block a merge.tests_compiledOnly when
extension=mypyc. Builds the mypyc C extension and runs the suite against the compiled build.