For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Digest
  • Getting Started
    • Quickstart
    • Introduction
    • Local Installation
    • Building from Source
    • Contribution Guide
  • Resources
    • Support Matrix
    • Feature Matrix
    • Release Artifacts
    • Examples
  • Kubernetes Deployment
    • Deployment Guide
  • User Guides
    • KV Cache Aware Routing
    • Disaggregated Serving
    • KV Cache Offloading
    • Dynamo Benchmarking
    • Multimodal
    • Diffusion (Preview)
    • Tool Calling
    • LoRA Adapters
    • Agents
    • Observability (Local)
    • Fault Tolerance
    • Writing Python Workers
  • Backends
    • SGLang
    • TensorRT-LLM
    • vLLM
  • Components
    • Frontend
    • Router
    • Planner
    • Profiler
    • KVBM
  • Integrations
    • LMCache
    • SGLang HiCache
    • FlexKV
    • KV Events for Custom Engines
  • Design Docs
    • Overall Architecture
    • Architecture Flow
    • Disaggregated Serving
    • Distributed Runtime
    • Blog
  • Documentation
    • Dynamo Docs Guide
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogoDocumentation
Digest
On this page
  • 1. Install System Libraries
  • 2. Install Rust
  • 3. Create a Python Virtual Environment
  • 4. Install Build Tools
  • 5. Build the Rust Bindings
  • 6. Install GPU Memory Service
  • 7. Install the Wheel
  • 8. Verify the Build
  • DevContainer
  • Set Up Pre-commit Hooks
  • Troubleshooting
  • Next Steps
Getting Started

Building from Source

||View as Markdown|
Edit this page
Previous

Local Installation

Next

Contribution Guide

Build Dynamo from source when you want to contribute code, test features on the development branch, or customize the build. If you just want to run Dynamo, the Local Installation guide is faster.

This guide covers Ubuntu and macOS. For a containerized dev environment that handles all of this automatically, see DevContainer.

1. Install System Libraries

Ubuntu:

$sudo apt install -y build-essential libhwloc-dev libudev-dev pkg-config libclang-dev protobuf-compiler python3-dev cmake

macOS:

$# Install Homebrew if needed
$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$
$brew install cmake protobuf
$
$# Verify Metal is accessible
$xcrun -sdk macosx metal

2. Install Rust

$curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$source $HOME/.cargo/env

3. Create a Python Virtual Environment

Install uv if you don’t have it:

$curl -LsSf https://astral.sh/uv/install.sh | sh

Create and activate a virtual environment:

$uv venv .venv
$source .venv/bin/activate

4. Install Build Tools

$uv pip install pip maturin

Maturin is the Rust-Python bindings build tool.

5. Build the Rust Bindings

$cd lib/bindings/python
$maturin develop --uv

6. Install GPU Memory Service

$# Return to project root
$cd "$(git rev-parse --show-toplevel)"
$uv pip install -e lib/gpu_memory_service

7. Install the Wheel

$uv pip install -e .

8. Verify the Build

$python3 -m dynamo.frontend --help

You should see the frontend command help output.

DevContainer

VSCode and Cursor users can skip manual setup using pre-configured development containers. The DevContainer installs all toolchains, builds the project, and sets up the Python environment automatically.

Framework-specific containers are available for vLLM, SGLang, and TensorRT-LLM. See the DevContainer README for setup instructions.

Set Up Pre-commit Hooks

Before submitting PRs, install the pre-commit hooks to ensure your code passes CI checks:

$uv pip install pre-commit
$pre-commit install

Run checks manually on all files:

$pre-commit run --all-files

Troubleshooting

Missing system packages

If maturin develop fails with linker errors, verify all system dependencies are installed. On Ubuntu:

$sudo apt install -y build-essential libhwloc-dev libudev-dev pkg-config libclang-dev protobuf-compiler python3-dev cmake

Virtual environment not activated

Maturin builds against the active Python interpreter. If you see errors about Python or site-packages, ensure your virtual environment is activated:

$source .venv/bin/activate

Disk space

The Rust target/ directory can grow to 10+ GB during development. If builds fail with disk space errors, clean the build cache:

$cargo clean

Next Steps

  • Contribution Guide — Workflow for contributing code
  • Examples — Explore the codebase
  • Good First Issues — Find a task to work on