dynamo/docs
Anant Sharma e3346dabb0
fix: use image relative path for sphinx build (#3933)
Signed-off-by: Anant Sharma <anants@nvidia.com>
2025-10-28 16:16:36 -04:00
..
_extensions docs: Convert github alerts to sphinx admonitions (#1483) 2025-06-30 15:41:14 -04:00
_includes docs: move all md files from components to docs (#3440) 2025-10-10 03:39:26 +00:00
_sections docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
_static docs: Add sphinx-theme based userguides (#528) 2025-05-21 22:41:34 +08:00
agents docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
api/nixl_connect docs: reorganizing documentation to make things clearer (#3658) 2025-10-16 23:59:59 +00:00
backends fix: Update Broken Links (#3918) 2025-10-27 14:54:46 -07:00
benchmarks fix: use image relative path for sphinx build (#3933) 2025-10-28 16:16:36 -04:00
design_docs docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
development docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
examples docs: fail build on warnings and fix existing warns (#3342) 2025-10-01 12:48:31 -04:00
fault_tolerance docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
images feat: Add CPU metrics to Grafana Dynamo Dashboard (#3908) 2025-10-27 22:43:21 +00:00
kubernetes feat: Add CPU metrics to Grafana Dynamo Dashboard (#3908) 2025-10-27 22:43:21 +00:00
kvbm chore: rm --enable-kvbm in docker build since KVBM is in by default (#3775) 2025-10-21 17:58:30 +00:00
multimodal docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
observability refactor: redesign the metrics API from Trait to composition to make the code cleaner and easier to understand (#3687) 2025-10-24 14:34:29 -07:00
performance docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
planner feat: turn profiling k8s jobs into sample DGDR requests (#3864) 2025-10-27 13:36:31 -07:00
reference chore: Update version to 0.6.1 (#3916) 2025-10-27 17:17:26 -04:00
router docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
Makefile docs: fail build on warnings and fix existing warns (#3342) 2025-10-01 12:48:31 -04:00
README.md docs: move doc build dependencies to pyproject.toml (#3453) 2025-10-07 11:55:49 -07:00
conf.py docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
exclusions.txt docs: Add sphinx-theme based userguides (#528) 2025-05-21 22:41:34 +08:00
generate_docs.py fix: resolve regex library warnings (#1237) 2025-05-28 08:48:05 -04:00
hidden_toctree.rst docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
index.rst docs: address Harry/VDR feedback + fixing broken links across repository (#3802) 2025-10-22 19:56:24 -04:00
project.json docs: Adding elements required for version switcher (#3521) 2025-10-17 12:38:28 -04:00
repositories.txt docs: Add sphinx-theme based userguides (#528) 2025-05-21 22:41:34 +08:00
versions1.json docs: update version picker for 0.6.1 (#3906) 2025-10-27 10:15:09 -07:00

README.md

orphan
true

Building Documentation

This directory contains the documentation source files for NVIDIA Dynamo.

Prerequisites

  • Python 3.11 or later
  • uv package manager

Build Instructions

This approach builds the docs without requiring the full project dependencies (including ai-dynamo-runtime):

# One-time setup: Create docs environment and install dependencies
uv venv .venv-docs
uv pip install --python .venv-docs --group docs

# Generate documentation
uv run --python .venv-docs --no-project docs/generate_docs.py

The generated HTML will be available in docs/build/html/.

Option 2: Using Full Development Environment

If you already have the full project dependencies installed (i.e., you're actively developing the codebase), you can use uv run directly:

uv run --group docs docs/generate_docs.py

This will use your existing project environment and add the docs dependencies.

Option 3: Using Docker

Build the docs in a Docker container with all dependencies isolated:

docker build -f container/Dockerfile.docs -t dynamo-docs .

The documentation will be built inside the container. To extract the built docs:

# Run the container and copy the output
docker run --rm -v $(pwd)/docs/build:/workspace/dynamo/docs/build dynamo-docs

# Or create a container to copy files from
docker create --name temp-docs dynamo-docs
docker cp temp-docs:/workspace/dynamo/docs/build ./docs/build
docker rm temp-docs

This approach is ideal for CI/CD pipelines or when you want complete isolation from your local environment.

Directory Structure

  • docs/ - Documentation source files (Markdown and reStructuredText)
  • docs/conf.py - Sphinx configuration
  • docs/_static/ - Static assets (CSS, JS, images)
  • docs/_extensions/ - Custom Sphinx extensions
  • docs/build/ - Generated documentation output (not tracked in git)

Dependency Management

Documentation dependencies are defined in pyproject.toml under the [dependency-groups] section:

[dependency-groups]
docs = [
    "sphinx>=8.1",
    "nvidia-sphinx-theme>=0.0.8",
    # ... other doc dependencies
]

Troubleshooting

Build Warnings

The build process treats warnings as errors. Common issues:

  • Missing toctree entries: Documents must be referenced in a table of contents
  • Non-consecutive headers: Don't skip header levels (e.g., H1 → H3)
  • Broken links: Ensure all internal and external links are valid

Missing Dependencies

If you encounter import errors, ensure the docs dependencies are installed:

uv pip install --python .venv-docs --group docs

Viewing the Documentation

After building, open docs/build/html/index.html in your, or use Python's built-in HTTP server:

cd docs/build/html
python -m http.server 8000
# Then visit http://localhost:8000 in your browser