Documentation

We follow a documentation-as-code approach. Documentation is written in Markdown and reStructuredText and is stored in the docs/ directory.

Tools

  • Sphinx: The primary tool for generating documentation.

  • MyST-Parser: Allows us to use Markdown instead of reStructuredText.

  • Mermaid.js: Used for creating live-rendered diagrams within the documentation.

  • Napoleon: Used for parsing NumPy-style docstrings from the source code.

Building Documentation Locally

To generate the HTML documentation on your machine:

nox -s docs

The output will be available in docs/_build/html/index.html.

Live Reloading

For a better development experience, you can use the serve_docs session which will automatically rebuild and reload your browser when you save changes:

nox -s serve_docs

Architecture Documentation

Our architecture documentation follows the arc42 template and is located in docs/architecture/.

  • Use Mermaid.js for any diagrams.

  • Keep the architecture docs updated when making major structural changes.

API Documentation

API documentation is automatically generated from the docstrings in the source code. Ensure that all public interfaces are well-documented following the Coding Standards.