Documentation
This project uses Sphinx to generate documentation from docstrings (documentation in-code) and custom pages written in Markdown (through the MyST parser).
Prerequisites
The project uses:
uv for dependency management
just for task automation
Make sure you have both tools installed and a proper development environment set up (see environment.md for details).
Build documentation website
The project provides several convenient tasks for building documentation:
HTML Documentation
# Build HTML documentation
just docs-build-html
This will install the required dependencies from the docs group in pyproject.toml and build the HTML documentation to docs/_build/html/. Open docs/_build/html/index.html in a web browser to view it.
PDF Documentation
# Build PDF documentation (requires LaTeX)
just docs-build-pdf
This builds a PDF version of the documentation using LaTeX. The resulting PDF will be in docs/_build/latex/.
Write documentation using live render
For development, you can use the auto-rebuild feature:
# Start auto-building server with live reload
just docs-autobuild
Open http://localhost:8000 in a web browser to see the HTML render updated automatically when you save a documentation file.
Manual commands
If you prefer to run the commands manually instead of using just:
# Install documentation dependencies
uv sync --group docs
# Build HTML manually
uv run sphinx-build -b html -j auto -d docs/_build/cache -q docs docs/_build/html
# Auto-build with live reload manually
uv run sphinx-autobuild -b html docs/ docs/_build --port 8000
MyST Markdown Features
Since this project uses MyST parser, you can leverage advanced Sphinx features in Markdown files, including:
Cross-references
Directives and roles
Code block highlighting
Admonitions (notes, warnings, etc.)
Refer to the MyST documentation for complete syntax reference.