NVIDIA/NeMo-Fabric
Python
Captured source
source ↗NVIDIA/NeMo-Fabric
Description: Project NVIDIA NeMo Fabric
Language: Python
License: NOASSERTION
Stars: 10
Forks: 2
Open issues: 7
Created: 2026-06-15T21:41:29Z
Pushed: 2026-07-22T05:52:21Z
Default branch: main
Fork: no
Archived: no
README:
NVIDIA NeMo Fabric
Fabric is a runtime execution layer for agents. It turns multiple agent harnesses into one configurable, observable lifecycle surface.
Architecture
NeMo Fabric standardizes how applications configure, launch, invoke, and collect artifacts from agent harnesses.
Fabric provides:
- a versioned, typed
FabricConfigcontract constructed through the SDK; - ordinary Python composition for harness and experiment variants;
- adapter descriptors for harness-specific launch and control;
- a Rust core, Python SDK, and standalone experimentation CLI;
- JSON Schema snapshots for the public config and runtime contract;
- normalized run results, artifact manifests, and telemetry references.
flowchart TB Consumer["Consumer\nCLI | Python SDK | integrations"] Config["Typed source\nFabricConfig"] Core["Fabric Rust core\nresolve | plan | create | invoke | destroy"] Adapter["Selected Fabric adapter"] Harness["Agent harness runtime\nHermes | Codex | custom"] Artifacts["Artifact manifest\noutput | logs | patches | telemetry refs"] Relay["NeMo Relay\nATOF / ATIF when enabled"] Consumer --> Core Config --> Core Core --> Adapter Adapter --> Harness Harness --> Artifacts Core --> Artifacts Core -. telemetry config .-> Relay Harness -. harness telemetry .-> Relay
Quick Start: Experimentation CLI
The nemo-fabric CLI is a maintained, experimental developer interface for quick harness experiments, smoke tests, examples, planning, and diagnostics. Its command contract can evolve as experiments mature. The Python SDK remains the stable application-facing contract.
Install the Rust CLI from this source checkout, verify it, and run the credential-free preset:
cargo install --path crates/fabric-cli --locked nemo-fabric --version nemo-fabric preset show scripted nemo-fabric run --preset scripted --input "fabric works"
Copy an editable Python starting point with:
nemo-fabric example init code-review ./my-agent --language python
See the [experimentation CLI guide](docs/experimentation/cli.mdx) for the CLI's intent and boundaries.
Quick Start: Hermes Agent
This path installs Fabric, installs Hermes Agent in a separate Python environment, and runs one input through the Hermes Agent adapter.
Prerequisites:
- Rust and Cargo
- Python 3.11+ for Fabric
- Python 3.11-3.13 for Hermes Agent
- uv
just1.50.0+NVIDIA_API_KEYfor NVIDIA-hosted model access
Install just if not already installed.
cargo install just --locked
Ensure the local Cargo bin directory is in your PATH, if not set it with:
export PATH="$HOME/.cargo/bin:$PATH"
Refer to the official installation guide for more details.
Install Fabric from the source checkout:
just build-all just wheels
Install Fabric, Hermes Agent, and the Hermes adapter into an environment:
# Use any Python 3.11-3.13 interpreter for Hermes. python3 -m venv .tmp/hermes-venv .tmp/hermes-venv/bin/python -m pip install --find-links dist "nemo-fabric[hermes]"
If you are working from a local Hermes checkout, replace the final install line with:
.tmp/hermes-venv/bin/python -m pip install -e ../hermes-agent .tmp/hermes-venv/bin/python -m pip install --find-links /dist nemo-fabric-adapters-hermes
Run the code-review example:
export NVIDIA_API_KEY=... export ADAPTER_PYTHON="$PWD/.tmp/hermes-venv/bin/python" .venv/bin/python -m examples.code_review_agent \ --input "Reply with exactly: fabric works"
ADAPTER_PYTHON selects the interpreter used to launch any Python adapter. An explicit harness.settings.python or harness.settings.python_env takes precedence. If none is configured and ADAPTER_PYTHON is unset, Fabric falls back to python3.
Use ADAPTER_PYTHON when the harness is installed in a separate environment from Fabric. The environment must have the adapter package installed, the adapters tend to be small and self-contained with minimal dependencies.
The run returns a normalized RunResult JSON payload and writes logs/artifacts under examples/code_review_agent/artifacts/hermes/. Its complete base config and clone-based variants live in examples/code_review_agent/config.py.
Supported Agent Harnesses
Choose a bundled agent harness based on your model ecosystem and application needs. Every harness supports persistent multi-turn local runtimes through the same Fabric lifecycle and returns normalized results, artifacts, and telemetry references.
| Agent harness | Choose it for | Model ecosystem | Key capabilities | Observability | | --- | --- | --- | --- | --- | | Claude | Claude-native coding and tool-use workflows | Anthropic and NVIDIA-hosted Anthropic Messages-compatible models | Tool guardrails, MCP, skills, and persistent Claude sessions | NeMo Relay | | Codex | Codex-native coding workflows | OpenAI and NVIDIA-hosted Responses-compatible models | MCP, skills, and persistent Codex threads | NeMo Relay and native OpenTelemetry | | LangChain Deep Agents | Composable LangChain and LangGraph agents | LangChain model providers | Built-in and MCP tools, guardrails, skills, and local subagents | NeMo Relay and native OpenTelemetry/OpenInference | | Hermes Agent | Hermes workflows with custom model endpoints | Configurable provider, model, and base URL | Toolsets, guardrails, MCP, skills, and persistent conversation history | NeMo Relay |
For package names, exact compatibility and limitations, runtime ownership, and individual harness guides, refer to the [adapter compatibility reference](adapters/README.md).
Claude Adapter
Build the local wheels and install Fabric with the independent Claude adapter:
just wheels python -m pip install --find-links dist "nemo-fabric[claude]"
Refer to the [Claude adapter guide](adapters/claude/README.md) for typed configuration, normalized tools, MCP and skills, persistent multi-turn runtimes, authentication, and execution details.
Core Concepts
- Typed config: callers construct a complete
FabricConfigin Python.
Start with the [Python SDK guide](docs/sdk/python.mdx), and refer...
Excerpt shown — open the source for the full document.