Develop and preview documentation¶
Run commands from a repository checkout. Install Hatch for package checks and MkDocs for the documentation site:
python -m pip install hatch 'mkdocs<2'
Run quality checks and tests¶
hatch run dev:format-check
hatch run dev:lint-check
hatch run dev:typecheck
hatch run dev:security
hatch run test:test
The first four commands are non-mutating checks. test:test runs the execution and spatial
suite across Python 3.10–3.14. Hatch may need network access to provision the
environments, dependencies, and DuckDB spatial extensions. Spatial fixtures also
validate STAC items against schemas that may require network access.
hatch run dev:quality groups the four static checks. hatch run dev:check adds
pytest in the development environment; it does not replace the full test matrix.
For one interpreter, use hatch run +py=3.12 test:test. To apply formatting and
lint fixes, use hatch run dev:fix.
Build and preview the site¶
The restored Hatch documentation environment provides hatch run docs:build
and hatch run docs:serve (preview on 127.0.0.1:8089). It pins the same MkDocs
version as docs/requirements.txt used by CI and Read the Docs.
mkdocs build --strict
mkdocs serve
Open the local address printed by serve. The configuration is mkdocs.yaml.
The build validates documentation links and navigation and writes HTML to site/.
It does not execute Python examples or notebooks.
With Task and uv installed, task build-docs builds the site strictly and
task serve-docs starts the preview using an isolated MkDocs dependency.
Maintain documentation¶
Keep tutorials focused on a guided exercise, how-to guides on specific tasks,
reference pages on exact behavior, and explanation pages on design context.
Check examples against the implementation and add new pages to nav in
mkdocs.yaml. Use relative links between documentation pages and run a strict
build before submitting changes.