RepoNVIDIANVIDIApublished Jun 15, 2026seen 4d

NVIDIA/NeMo-Fabric

Python

Open original ↗

Captured source

source ↗
published Jun 15, 2026seen 4dcaptured 4dhttp 200method plain

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 FabricConfig contract 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
  • just 1.50.0+
  • NVIDIA_API_KEY for 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 FabricConfig in Python.

Start with the [Python SDK guide](docs/sdk/python.mdx), and refer...

Excerpt shown — open the source for the full document.