install.mdx
September 22, 2026 ยท View on GitHub
{/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 */}
Package Installation Method
The nemo-fabric package installs the NeMo Fabric runtime. Harness adapters can
run in that environment or in a separate environment with their harness
dependencies.
Supported Python Versions
NeMo Fabric supports Python 3.11 through 3.14. Some integrations and adapters have additional requirements. The Hermes Agent adapter does not support Python 3.14, and the Harbor integration requires Python 3.12 or later.
Choose an Installation
The following table shows a representative subset of package expressions and the components they install. The sections that follow describe the complete installation alternatives. A No entry means that the expression does not install that component; the component can already exist in the environment or be managed separately.
| Installation | Runtime | Collector | Adapter | Harness | Relay Python | Relay CLI |
|---|---|---|---|---|---|---|
nemo-fabric | Yes | No | No | No | No | No |
nemo-fabric[streaming] | Yes | Yes | No | No | No | No |
nemo-fabric[relay] | Yes | No | No | No | Yes | No |
nemo-fabric[hermes-agent,relay] | Yes | No | Yes | No | Yes | No |
nemo-fabric-adapters-claude[harness] | No | No | Yes | Yes | No | Yes |
nemo-fabric-adapters-claude[full] | No | No | Yes | Yes | No | Yes |
nemo-fabric-adapters-deepagents[full] | No | No | Yes | Yes | Yes | No |
nemo-fabric-adapters-mini-swe-agent[full] | No | No | Yes | Yes | Yes | No |
nemo-fabric-adapters-nooa[full] | No | No | Yes | Yes | Yes | No |
nemo-fabric-adapters-openclaw | No | No | Yes | No | No | No |
nemo-fabric-adapters-hermes[relay] | No | No | Yes | No | Yes | No |
nemo-fabric-adapters-claude | No | No | Yes | No | No | No |
An adapter package's full extra is scoped to the adapter environment and does
not install the NeMo Fabric runtime. For Claude and Codex, full is equivalent
to harness; both install the supported harness and nemo-relay CLI. For
LangChain Deep Agents and mini-SWE-agent, full installs the harness and NeMo
Relay Python package without the CLI. For Hermes Agent, full installs only
the adapter and NeMo Relay Python package; Hermes Agent must be installed
separately.
Install the NeMo Fabric Runtime
Install the NeMo Fabric runtime:
pip install nemo-fabric
The nemo-fabric package installs the matching NeMo Fabric runtime
unconditionally.
Install the matching collector when an application uses the default embedded collector for NeMo Relay ATOF streaming:
pip install "nemo-fabric[streaming]"
Applications that set launch_collector=False and use an externally managed
collector do not need this extra.
Install a Complete Runtime and Harness
Use a nemo-fabric harness extra when the runtime, adapter, and harness run in
the same Python environment:
pip install "nemo-fabric[claude]"
pip install "nemo-fabric[codex]"
pip install "nemo-fabric[deepagents]"
pip install "nemo-fabric[mini-swe-agent]"
pip install "nemo-fabric[nooa]"
pip install "nemo-fabric[openclaw]"
Each nemo-fabric harness extra installs the corresponding adapter package
with its harness extra. You can combine independent nemo-fabric extras. For
example, the following command also installs Harbor; the Claude harness extra
supplies the Relay CLI, while relay supplies the Relay Python package:
pip install "nemo-fabric[claude,harbor,relay]"
The NOOA extra supports Python 3.12 and 3.13 only. On another supported Python version, the command can succeed while its environment marker omits the NOOA adapter.
The OpenClaw extra installs its adapter and HTTP client, but not OpenClaw.
Install the openclaw npm package separately before using that adapter.
The Claude and Codex harness extras install the nemo-relay CLI required for
Relay-enabled runs. The root relay extra installs only the Relay Python
package for SDK-native integrations.
Install Hermes Agent
Hermes Agent 0.20 and later is no longer installable from PyPI. End users must follow the Hermes Agent installation guide, then install NeMo Fabric and the bare Hermes adapter into the Python environment that runs Hermes Agent:
pip install "nemo-fabric[hermes-agent]"
These packages do not install Hermes Agent. For local NeMo Fabric development, check out the pinned Hermes Agent source and synchronize it into the project environment by running this command from the repository root:
just install-hermes-agent
Install an Adapter and Harness Without the Runtime
Use an adapter package's harness extra when a different environment runs NeMo
Fabric:
pip install "nemo-fabric-adapters-claude[harness]"
pip install "nemo-fabric-adapters-codex[harness]"
pip install "nemo-fabric-adapters-deepagents[harness]"
pip install "nemo-fabric-adapters-nooa[harness]"
This installation mode keeps the runtime dependencies out of the adapter
environment. Set ADAPTER_PYTHON in the runtime environment to the adapter
environment's Python interpreter. A Python adapter and its Python harness must
use the same interpreter. Use matching NeMo Fabric
release versions for the runtime and adapter package unless a different pairing
has been explicitly validated.
The OpenClaw adapter does not provide harness or full extras. Install
nemo-fabric-adapters-openclaw directly and install the openclaw npm package
separately.
Add an Adapter to an Existing Harness Environment
Install an adapter package without an extra when the environment already supplies and manages a compatible harness:
pip install nemo-fabric-adapters-claude
pip install nemo-fabric-adapters-codex
pip install nemo-fabric-adapters-deepagents
pip install nemo-fabric-adapters-hermes
pip install nemo-fabric-adapters-nooa
pip install nemo-fabric-adapters-openclaw
Bare adapter distributions install only adapter-owned dependencies. They do not install the NeMo Fabric runtime or the harness.
If the existing harness and runtime share an environment, install the runtime and bare adapter together. The following example preserves the existing Codex SDK instead of installing the adapter's supported SDK version:
pip install nemo-fabric nemo-fabric-adapters-codex
Install NeMo Relay
NeMo Relay integration occurs in two ways:
The required integration depends on the agent harness. Relay-enabled runs with
the Claude, Codex, and Pi adapters require the
nemo-relay CLI.
NeMo Relay Python Package
The root relay extra installs a version of the NeMo Relay Python package known
to be compatible with the installed version of NeMo Fabric:
pip install "nemo-fabric[relay]"
LangChain Deep Agents, Hermes Agent, mini-SWE-agent, and NOOA import the NeMo
Relay Python package directly. Their adapter packages provide relay and
full extras:
pip install "nemo-fabric-adapters-deepagents[relay]"
pip install "nemo-fabric-adapters-hermes[relay]"
pip install "nemo-fabric-adapters-mini-swe-agent[relay]"
pip install "nemo-fabric-adapters-nooa[relay]"
pip install "nemo-fabric-adapters-deepagents[full]"
pip install "nemo-fabric-adapters-hermes[full]"
pip install "nemo-fabric-adapters-mini-swe-agent[full]"
pip install "nemo-fabric-adapters-nooa[full]"
Use relay when the environment already manages the harness. For Deep Agents,
mini-SWE-agent, and NOOA, use full to install the harness and Relay package
together. For Hermes Agent, relay and full install the adapter and Relay
package, but neither installs Hermes Agent. Claude and Codex do not provide a
relay extra because their adapters launch the external CLI instead of
importing this Python package.
Python-backed Relay integrations require nemo-relay>=0.7.2,<0.8. NeMo Fabric
does not merge user or workspace plugins.toml files with its runtime-owned
configuration. Remove or relocate a user
plugins.toml or the nearest .nemo-relay/plugins.toml before starting a
Relay-enabled Deep Agents, Hermes Agent, or mini-SWE-agent runtime. System
configuration in /etc/nemo-relay/plugins.toml remains administrator
controlled.
Migrate Relay Observability Configurations from 0.6
Relay 0.7 requires observability schema version 3. Move flat OpenTelemetry
exporter fields into entries under opentelemetry.endpoints. In the Python SDK,
replace the removed RelayOtlpConfig model with RelayOpenTelemetryConfig and
one or more RelayOpenTelemetryEndpointConfig entries.
NeMo Relay CLI
Claude and Codex harness extras install their compatible CLI binary without the Relay Python package. Pi requires a newer CLI because Pi support begins in Relay 0.9. Install the range required by the selected adapter:
# Claude and Codex
pip install "nemo-relay-cli-bin>=0.7.2,<0.8"
# Pi
pip install "nemo-relay-cli-bin>=0.9.0,<0.10.0"
An environment has one nemo-relay executable on PATH. The Claude and Codex
range is disjoint from the Pi range, so use separate adapter environments or
install the range required for the adapter that you run.
If cargo-binstall is available, install the pinned Claude and Codex CLI with
Cargo:
cargo binstall nemo-relay-cli --version 0.7.2
After installation, run nemo-relay --version and confirm the version is in the
range required by the adapter. When Relay is enabled with
FabricConfig.enable_relay(...), the Claude, Codex, and Pi adapters start and
supervise the CLI gateway automatically.
The Pi adapter also requires a user-supplied path to the
Relay 0.9 Pi extension.
Set
harness.settings.relay_extension_path to the extension file or package
directory; relative paths resolve from environment.workspace. Relay-enabled
Pi configurations must also set runtime.artifacts so NeMo Fabric can provide
the adapter-owned Relay configuration. Refer to the
Pi adapter guide for the complete
configuration. Relay-backed Runtime.invoke_stream() correlation is not yet
supported for Pi.
Source Installation Method
Prerequisites:
- Rust and Cargo
- Python 3.11 through 3.14
- uv
just1.50.0+
- Create a Python virtual environment and activate it (replace
3.13with your preferred Python version):
uv venv -p 3.13 --seed .venv
source .venv/bin/activate
just install-hermes-agent
- Build the Rust core and Python libraries.
just build-all
The above command will install only those dependencies that are strictly necessary for the build. Alternately If you want to install all optional dependencies, you can run:
uv sync --all-groups --all-extras
Then run the build command with the no_uv=true flag to avoid re-installing the dependencies:
just no_uv=true build-all