Build the documentation locally#

Run these commands from the repository root with uv installed.

Preview changes#

uv run --group docs inv docs

Open http://localhost:12346. The server rebuilds the documentation when source files change. Press Ctrl+C in the terminal to stop it.

The docs dependency group includes Sphinx, notebook conversion tools, and pypandoc-binary, which bundles the Pandoc executable. The Sphinx configuration uses the bundled executable if pandoc is absent from PATH.

Installing the Python package named pandoc alone does not install that executable and will not resolve a PandocMissing error. Install the docs dependency group using the command above instead. A system installation of Pandoc on PATH also works.

Update release notes#

Add the target version and user-visible changes to docs/explanation/changelog.md before publishing a package release. The release pipeline updates version metadata; it does not generate release notes. Record API server improvements in a separately dated table entry because they are deployed independently of the Python package.

Check the build before publishing#

uv run --group docs sphinx-build -b html -W -E -a \
    -d build/doctrees docs build/docs
uv run python scripts/public_docs.py check build/docs

The first command treats Sphinx warnings as build failures. The second checks the generated site for restricted content and build artifacts. Keep the doctrees directory outside the HTML output directory.

Documentation builds render saved notebook cells and outputs without executing them. They do not authenticate to the API or submit data queries. Validate notebook code separately when changing an example.