Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 8 additions & 17 deletions adapters/claude/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,22 @@ SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All
SPDX-License-Identifier: Apache-2.0
-->

# Claude Adapter
# NVIDIA NeMo Fabric Claude Adapter

The `nvidia.fabric.claude` adapter uses the official Claude Agent SDK for
Python behind Fabric's normalized invocation contract. The SDK is an
implementation detail; consumers select the Claude harness by adapter ID.

## Install

To install just the Claude adapter by itself:
```bash
just wheels
python -m pip install --find-links dist "nemo-fabric[claude]"
pip install "nemo-fabric[claude]"
```

To install just the Claude adapter along with the NeMo Fabric Runtime:
```bash
pip install "nemo-fabric[claude, runtime]"
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved
```

## Authentication
Expand Down Expand Up @@ -203,17 +208,3 @@ assert first.output["session_id"] == second.output["session_id"]
Resume requires the same workspace and Claude state directory on the same host.
The Fabric-to-Claude correlation record alone is insufficient if Claude's
underlying transcript store is removed.

## Tests

The default suite uses deterministic mock Claude Code and Relay CLIs and
requires no credentials. Test a current `nemo-relay` CLI with the mock Claude
client, or run the live integrations on an authenticated developer host:

```bash
FABRIC_NEMO_RELAY_COMMAND="$(command -v nemo-relay)" uv run --no-sync pytest tests/e2e/test_claude.py -q -k real_relay_gateway
RUN_FABRIC_CLAUDE_INTEGRATION=1 uv run --no-sync pytest tests/e2e/test_claude.py -q -k live
RUN_FABRIC_CLAUDE_RELAY_INTEGRATION=1 uv run --no-sync pytest tests/e2e/test_claude.py -q -k live_claude_relay
```

The first command uses the mock Claude client and does not require credentials.
18 changes: 18 additions & 0 deletions adapters/claude/testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->

# Claude Adapter Tests

The default suite uses deterministic mock Claude Code and Relay CLIs and
requires no credentials. Test a current `nemo-relay` CLI with the mock Claude
client, or run the live integrations on an authenticated developer host:

```bash
FABRIC_NEMO_RELAY_COMMAND="$(command -v nemo-relay)" uv run --no-sync pytest tests/e2e/test_claude.py -q -k real_relay_gateway
RUN_FABRIC_CLAUDE_INTEGRATION=1 uv run --no-sync pytest tests/e2e/test_claude.py -q -k live
RUN_FABRIC_CLAUDE_RELAY_INTEGRATION=1 uv run --no-sync pytest tests/e2e/test_claude.py -q -k live_claude_relay
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved
```

The first command uses the mock Claude client and does not require credentials.
15 changes: 8 additions & 7 deletions adapters/codex-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,20 @@ SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All
SPDX-License-Identifier: Apache-2.0
-->

# Codex CLI Adapter
# NVIDIA NeMo Fabric Codex Adapter

Runs an installed Codex CLI through Fabric's Python-adapter lifecycle. One
Runs an installed Codex through Fabric's Python-adapter lifecycle. One
Fabric runtime maps to one Codex thread.

Keep `fabric-adapter.json` aligned with the adapter implementation.
`contract_version` must match the adapter contract supported by Fabric core;
`adapter_id` is the stable id selected by `harness.adapter_id`.
To install just the Codex adapter by itself:

Install Fabric with the adapter dependency before running it:
```bash
pip install "nemo-fabric[codex]"
```

To install just the Codex adapter along with the NeMo Fabric Runtime:
```bash
python3 -m pip install -e ".[runtime,codex]"
pip install "nemo-fabric[codex, runtime]"
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved
```

## Authentication and Codex Config
Expand Down
5 changes: 5 additions & 0 deletions adapters/common/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ Install the package directly when developing an adapter:
pip install nemo-fabric-adapters-common
```

Alternately through the NeMo Fabric metapackage:
```bash
pip install "nemo-fabric[adapters-common]"
```
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved

Refer to the [NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
for adapter and configuration guidance. Source code is available in the
[NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/nemo-fabric/).
Expand Down
10 changes: 7 additions & 3 deletions adapters/deepagents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,20 @@ SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All
SPDX-License-Identifier: Apache-2.0
-->

# LangChain Deep Agents Adapter
# NVIDIA NeMo Fabric LangChain Deep Agents Adapter

Runs a [LangChain Deep Agents](https://github.com/langchain-ai/deepagents) agent
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved
through Fabric's inline Python adapter lifecycle. The same adapter supports
one-shot, multi-turn, and resumed execution.

Install Fabric with the adapter dependency before running it:
To install just the Deep Agents adapter by itself:
```bash
pip install "nemo-fabric[deepagents]"
```

To install just the Deep Agents adapter along with the NeMo Fabric Runtime:
```bash
python3 -m pip install -e ".[deepagents]"
pip install "nemo-fabric[deepagents, runtime]"
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved
```

## Model and Authentication
Expand Down
19 changes: 13 additions & 6 deletions adapters/hermes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,25 @@ SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All
SPDX-License-Identifier: Apache-2.0
-->

# Hermes Agent Adapter
# NVIDIA NeMo Fabric Hermes Agent Adapter

This adapter runs Hermes Agent through its Python SDK.

Fabric invokes the adapter module with `python -m` through the core runtime
lifecycle. The module entry point and the descriptor's callable route use the
same `run(payload: dict) -> dict` implementation.
## Install

To install just the Hermes adapter by itself:
```bash
pip install "nemo-fabric[adapters-hermes]"
```

To install just the Hermes adapter along with the NeMo Fabric Runtime:
```bash
pip install "nemo-fabric[adapters-hermes, runtime]"
```
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved

## What It Maps

The adapter receives Fabric's normalized payload and materializes Hermes-native
configuration for:
The adapter receives a normalized payload from Fabric and materializes Hermes-native configuration for:

- model provider, model name, base URL, temperature, and token settings;
- workspace and terminal settings;
Expand Down
70 changes: 70 additions & 0 deletions pypi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->

# NVIDIA NeMo Fabric

NVIDIA NeMo Fabric is a runtime execution layer for agents. It turns multiple
agent harnesses into one configurable, observable lifecycle surface.

NeMo Fabric standardizes how applications configure, launch, invoke, and
collect artifacts from agent harnesses. It provides:

- a versioned, typed configuration contract;
- profile-based configuration for evaluation and ablation runs;
- adapter integrations for harness-specific launch and control;
- a Python SDK backed by a Rust core;
- normalized run results, artifact manifests, and telemetry references.

## Install

Install the core runtime and Python SDK:

```bash
pip install "nemo-fabric[runtime]"
```

To use a supported agent harness, install its adapter extra instead. Each
adapter extra includes the core runtime:

```bash
pip install "nemo-fabric[claude]"
pip install "nemo-fabric[codex]"
pip install "nemo-fabric[deepagents]"
pip install "nemo-fabric[hermes]"
```
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved

* Note: The Hermes extra currently doesn't support Python 3.14 and above.

### Integrations

Harbor integration:
```bash
pip install "nemo-fabric[harbor]"
```
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved

Relay integration:
```bash
pip install "nemo-fabric[relay]"
Comment thread
dagardner-nv marked this conversation as resolved.
Resolved
```


## Core Concepts

- **Agent source:** Provide either an agent package path or a typed
`FabricConfig`.
- **Typed configuration:** Construct configuration in memory with the Python
SDK, or use `agent.yaml` as a portable representation.
- **Profiles:** Vary the harness, model, MCP servers, tools, skills, telemetry,
or environment without editing the base configuration.
- **Adapters:** Select harness-specific integrations with
`harness.adapter_id`.
- **Artifacts:** Receive normalized output, logs, patches, and telemetry
references through an `ArtifactManifest`.

## Learn More

Refer to the [NVIDIA NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
for installation, configuration, and usage guidance. Source code is available
in the [NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/nemo-fabric/).
10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ classifiers = [
]
license = "Apache-2.0"
license-files = ["LICENSE"]
readme = "README.md"
readme = "pypi.md"
requires-python = ">=3.11"
dependencies = []

Expand Down Expand Up @@ -54,14 +54,14 @@ adapters-hermes = [
"nemo-fabric-adapters-hermes == 0.1.0; python_version < '3.14'",
]

codex = [
"nemo-fabric-adapters-codex-cli == 0.1.0",
]

claude = [
"nemo-fabric-adapters-claude == 0.1.0",
]

codex = [
"nemo-fabric-adapters-codex-cli == 0.1.0",
]

deepagents = [
"nemo-fabric-adapters-deepagents == 0.1.0",
]
Expand Down
Loading