diff --git a/adapters/claude/README.md b/adapters/claude/README.md index f13ad2f0..96d2ff94 100644 --- a/adapters/claude/README.md +++ b/adapters/claude/README.md @@ -237,3 +237,23 @@ assert first.output["session_id"] == second.output["session_id"] The runtime must remain on the same local host for its lifetime. A persisted NeMo Fabric-to-Claude correlation record is not an attach token and cannot recover a stopped or crashed local host. + + +## Testing + +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. +Set `FABRIC_TEST_CLAUDE_MODEL` to override the default live-test model, +`claude-sonnet-4-5`. +The live Relay test applies the same semantic artifact contract as Codex: ATOF +must contain structured LLM requests and token usage, and ATIF must contain the +expected agent response. diff --git a/adapters/claude/pypi.md b/adapters/claude/pypi.md new file mode 100644 index 00000000..c9f75a83 --- /dev/null +++ b/adapters/claude/pypi.md @@ -0,0 +1,29 @@ + + +# NVIDIA NeMo Fabric Claude Adapter + +[![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) +[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) +[![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) + +Provides a NeMo Fabric adapter for use with [Claude Code](https://claude.com/). + +## Install + +Installation can be performed using the `nemo-fabric` meta package with the `claude` extra, or by installing the adapter and harness packages separately. The following table shows which components each installation provides: + +| Installation | Runtime | Adapter | Harness | NeMo Relay CLI | +| --- | --- | --- | --- | --- | +| `pip install "nemo-fabric[claude]"` | Yes | Yes | Yes | No | +| `pip install "nemo-fabric-adapters-claude[harness]"` | No | Yes | Yes | No | +| `pip install nemo-fabric-adapters-claude` | No | Yes | No | No | + +The `full` extra is equivalent to `harness`. Relay is optional for ordinary +runs. NeMo Relay telemetry and streaming require the `nemo-relay` CLI tool to be installed, refer to the [NeMo Relay installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#nemo-relay-cli). + +Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details. diff --git a/adapters/claude/pyproject.toml b/adapters/claude/pyproject.toml index 86874789..22bdceec 100644 --- a/adapters/claude/pyproject.toml +++ b/adapters/claude/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ ] license = "Apache-2.0" license-files = ["LICENSE"] -readme = "README.md" +readme = "pypi.md" requires-python = ">=3.11" dependencies = [ "nemo-fabric-adapters-common == 0.1.0", @@ -38,7 +38,9 @@ full = [ ] [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.setuptools.packages.find] diff --git a/adapters/claude/testing.md b/adapters/claude/testing.md deleted file mode 100644 index 89e1ed0c..00000000 --- a/adapters/claude/testing.md +++ /dev/null @@ -1,23 +0,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 -``` - -The first command uses the mock Claude client and does not require credentials. -Set `FABRIC_TEST_CLAUDE_MODEL` to override the default live-test model, -`claude-sonnet-4-5`. -The live Relay test applies the same semantic artifact contract as Codex: ATOF -must contain structured LLM requests and token usage, and ATIF must contain the -expected agent response. diff --git a/adapters/codex/README.md b/adapters/codex/README.md index 7d81a83d..de101ce1 100644 --- a/adapters/codex/README.md +++ b/adapters/codex/README.md @@ -144,3 +144,28 @@ installed `nemo-relay` CLI as a supervised sidecar; do not start the gateway separately. NeMo Fabric routes the selected Responses-compatible provider through the gateway and passes its explicit `base_url` to Relay as the upstream endpoint. + + +## Testing + +Run the unit and opt-in real SDK tests separately: + +```bash +uv run pytest tests/adapters/test_codex_adapter.py -q +RUN_FABRIC_CODEX_INTEGRATION=1 uv run pytest tests/e2e/test_codex.py -q +RUN_FABRIC_CODEX_RELAY_INTEGRATION=1 \ + FABRIC_TEST_NEMO_RELAY_COMMAND=/path/to/nemo-relay \ + uv run pytest tests/e2e/test_codex.py -q +``` + +Set `FABRIC_TEST_CODEX_BIN=/path/to/codex` on either opt-in command to validate +an explicit app-server override instead of the SDK-pinned runtime. + +The SDK test uses the current Codex authentication state and exercises both the +single-invocation convenience API and multiple turns against one started +runtime. The Relay test additionally requires an external gateway binary and +verifies model responses, stable thread identity across turns, Agent Trajectory +Observability Format (ATOF), and Agent Trajectory Interchange Format (ATIF); +gateway startup alone is not a passing result. The semantic regression requires +the LLM request content to be decoded. It also requires ATIF to contain the +model, token usage, and expected agent response. diff --git a/adapters/codex/pypi.md b/adapters/codex/pypi.md new file mode 100644 index 00000000..72bdfa36 --- /dev/null +++ b/adapters/codex/pypi.md @@ -0,0 +1,29 @@ + + +# NVIDIA NeMo Fabric Codex Adapter + +[![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) +[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) +[![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) + +Provides a NeMo Fabric adapter for use with [Codex](https://openai.com/codex/). + +## Install + +Installation can be performed using the `nemo-fabric` meta package with the `codex` extra, or by installing the adapter and harness packages separately. The following table shows which components each installation provides: + +| Installation | Runtime | Adapter | Harness | NeMo Relay CLI | +| --- | --- | --- | --- | --- | +| `pip install "nemo-fabric[codex]"` | Yes | Yes | Yes | No | +| `pip install "nemo-fabric-adapters-codex[harness]"` | No | Yes | Yes | No | +| `pip install nemo-fabric-adapters-codex` | No | Yes | No | No | + +The `full` extra is equivalent to `harness`. NeMo Relay is optional for ordinary +runs. NeMo Relay telemetry and streaming require the `nemo-relay` CLI tool to be installed, refer to the [NeMo Relay installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#nemo-relay-cli). + +Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details. diff --git a/adapters/codex/pyproject.toml b/adapters/codex/pyproject.toml index bbdbc08f..5b2da91a 100644 --- a/adapters/codex/pyproject.toml +++ b/adapters/codex/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ ] license = "Apache-2.0" license-files = ["LICENSE"] -readme = "README.md" +readme = "pypi.md" requires-python = ">=3.11" dependencies = [ "nemo-fabric-adapters-common == 0.1.0", @@ -38,7 +38,9 @@ full = [ ] [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.setuptools.packages.find] diff --git a/adapters/codex/testing.md b/adapters/codex/testing.md deleted file mode 100644 index d5ccd987..00000000 --- a/adapters/codex/testing.md +++ /dev/null @@ -1,28 +0,0 @@ - - -# Testing the Codex Adapter - -Run the unit and opt-in real SDK tests separately: - -```bash -uv run pytest tests/adapters/test_codex_adapter.py -q -RUN_FABRIC_CODEX_INTEGRATION=1 uv run pytest tests/e2e/test_codex.py -q -RUN_FABRIC_CODEX_RELAY_INTEGRATION=1 \ - FABRIC_TEST_NEMO_RELAY_COMMAND=/path/to/nemo-relay \ - uv run pytest tests/e2e/test_codex.py -q -``` - -Set `FABRIC_TEST_CODEX_BIN=/path/to/codex` on either opt-in command to validate -an explicit app-server override instead of the SDK-pinned runtime. - -The SDK test uses the current Codex authentication state and exercises both the -single-invocation convenience API and multiple turns against one started -runtime. The Relay test additionally requires an external gateway binary and -verifies model responses, stable thread identity across turns, Agent Trajectory -Observability Format (ATOF), and Agent Trajectory Interchange Format (ATIF); -gateway startup alone is not a passing result. The semantic regression requires -the LLM request content to be decoded. It also requires ATIF to contain the -model, token usage, and expected agent response. diff --git a/adapters/common/pypi.md b/adapters/common/pypi.md new file mode 100644 index 00000000..354f67c4 --- /dev/null +++ b/adapters/common/pypi.md @@ -0,0 +1,28 @@ + + +# NVIDIA NeMo Fabric Adapter Utilities + +[![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) +[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) +[![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) + +`nemo-fabric-adapters-common` provides shared helper methods for NeMo Fabric +adapter implementations. Adapter packages typically declare this package as a +dependency. + +## Install + +Install the package directly when developing an adapter: + +```bash +pip install nemo-fabric-adapters-common +``` + +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). diff --git a/adapters/common/pyproject.toml b/adapters/common/pyproject.toml index e428d1d4..7b644669 100644 --- a/adapters/common/pyproject.toml +++ b/adapters/common/pyproject.toml @@ -22,11 +22,13 @@ classifiers = [ ] license = "Apache-2.0" license-files = ["LICENSE"] -readme = "README.md" +readme = "pypi.md" requires-python = ">=3.11" [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.setuptools.packages.find] diff --git a/adapters/deepagents/pypi.md b/adapters/deepagents/pypi.md new file mode 100644 index 00000000..f5f9bc3f --- /dev/null +++ b/adapters/deepagents/pypi.md @@ -0,0 +1,33 @@ + + +# NVIDIA NeMo Fabric LangChain Deep Agents Adapter + +[![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) +[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) +[![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) + +Provides a NeMo Fabric adapter for use with [LangChain Deep Agents](https://www.langchain.com/deep-agents). + +## Install + +Installation can be performed using the `nemo-fabric` meta package with the `deepagents` extra, or by installing the adapter and harness packages separately. The following table shows which components each installation provides: + +| Installation | Runtime | Adapter | Harness | NeMo Relay Python Package | +| --- | --- | --- | --- | --- | +| `pip install "nemo-fabric[deepagents]"` | Yes | Yes | Yes | No | +| `pip install "nemo-fabric[deepagents,relay]"` | Yes | Yes | Yes | Yes | +| `pip install "nemo-fabric-adapters-deepagents[harness]"` | No | Yes | Yes | No | +| `pip install "nemo-fabric-adapters-deepagents[full]"` | No | Yes | Yes | Yes | +| `pip install "nemo-fabric-adapters-deepagents[relay]"` | No | Yes | No | Yes | +| `pip install nemo-fabric-adapters-deepagents` | No | Yes | No | No | + +NeMo Relay is optional for ordinary runs. NeMo Relay telemetry and streaming +require one of the installations in the table that includes the NeMo Relay +Python package. + +Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details. diff --git a/adapters/deepagents/pyproject.toml b/adapters/deepagents/pyproject.toml index ed447d28..08c2c509 100644 --- a/adapters/deepagents/pyproject.toml +++ b/adapters/deepagents/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ ] license = "Apache-2.0" license-files = ["LICENSE"] -readme = "README.md" +readme = "pypi.md" requires-python = ">=3.11" dependencies = [ "nemo-fabric-adapters-common == 0.1.0", @@ -50,7 +50,9 @@ full = [ ] [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.setuptools.packages.find] diff --git a/adapters/hermes/pypi.md b/adapters/hermes/pypi.md new file mode 100644 index 00000000..798a1cbc --- /dev/null +++ b/adapters/hermes/pypi.md @@ -0,0 +1,34 @@ + + +# NVIDIA NeMo Fabric Hermes Agent Adapter + +[![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) +[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) +[![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) + +Provides a NeMo Fabric adapter for use with [Hermes Agent](https://hermes-agent.nousresearch.com/). + +## Install + +Hermes Agent and this adapter require Python versions 3.11 through 3.13. +Installation can be performed using the `nemo-fabric` meta package with the `hermes-agent` extra, or by installing the adapter and harness packages separately. The following table shows which components each installation provides: + +| Installation | Runtime | Adapter | Harness | NeMo Relay Python Package | +| --- | --- | --- | --- | --- | +| `pip install "nemo-fabric[hermes-agent]"` | Yes | Yes | Yes | No | +| `pip install "nemo-fabric[hermes-agent,relay]"` | Yes | Yes | Yes | Yes | +| `pip install "nemo-fabric-adapters-hermes[harness]"` | No | Yes | Yes | No | +| `pip install "nemo-fabric-adapters-hermes[full]"` | No | Yes | Yes | Yes | +| `pip install "nemo-fabric-adapters-hermes[relay]"` | No | Yes | No | Yes | +| `pip install nemo-fabric-adapters-hermes` | No | Yes | No | No | + +NeMo Relay is optional for ordinary runs. NeMo Relay telemetry and streaming +require one of the installations in the table that includes the NeMo Relay +Python package. + +Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details. diff --git a/adapters/hermes/pyproject.toml b/adapters/hermes/pyproject.toml index 32c94ca8..5e4fd5fa 100644 --- a/adapters/hermes/pyproject.toml +++ b/adapters/hermes/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ ] license = "Apache-2.0" license-files = ["LICENSE"] -readme = "README.md" +readme = "pypi.md" # Hermes Agent does not currently support Python 3.14 or later. requires-python = ">=3.11,<3.14" dependencies = [ @@ -42,7 +42,9 @@ full = [ ] [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.setuptools.packages.find] diff --git a/pypi.md b/pypi.md index edee058a..2b89ac1a 100644 --- a/pypi.md +++ b/pypi.md @@ -8,9 +8,8 @@ SPDX-License-Identifier: Apache-2.0 [![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) [![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) [![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) -[![PyPI](https://img.shields.io/pypi/v/nemo-fabric?color=4B8BBE&logo=pypi)](https://pypi.org/project/nemo-fabric/) -[![Crates.io](https://img.shields.io/crates/v/nemo-fabric-core?label=nemo-fabric-core&color=B7410E&logo=rust)](https://crates.io/crates/nemo-fabric-core) -[![Crates.io](https://img.shields.io/crates/v/nemo-fabric-cli?label=nemo-fabric-cli&color=B7410E&logo=rust)](https://crates.io/crates/nemo-fabric-cli) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) NeMo Fabric gives applications one configurable, observable way to run applications across multiple agent harnesses. It standardizes configuration, lifecycle @@ -31,15 +30,22 @@ It provides: ## Install -NeMo Fabric supports Python 3.11 through 3.14. Use Python 3.11 through 3.13 for -Hermes Agent; the Harbor integration requires Python 3.12 or later. - Install the core runtime and Python SDK: ```bash pip install nemo-fabric ``` +### Supported Harnesses + +| Agent Harness | Runtime, Adapter, and Harness | Adapter and Harness | Adapter Only | +| --- | --- | --- | --- | +| [Claude Code](https://pypi.org/project/nemo-fabric-adapters-claude/) | `nemo-fabric[claude]` | `nemo-fabric-adapters-claude[harness]` | `nemo-fabric-adapters-claude` | +| [Codex](https://pypi.org/project/nemo-fabric-adapters-codex/) | `nemo-fabric[codex]` | `nemo-fabric-adapters-codex[harness]` | `nemo-fabric-adapters-codex` | +| [Hermes Agent](https://pypi.org/project/nemo-fabric-adapters-hermes/) | `nemo-fabric[hermes-agent]` | `nemo-fabric-adapters-hermes[harness]` | `nemo-fabric-adapters-hermes` | +| [LangChain Deep Agents](https://pypi.org/project/nemo-fabric-adapters-deepagents/) | `nemo-fabric[deepagents]` | `nemo-fabric-adapters-deepagents[harness]` | `nemo-fabric-adapters-deepagents` | + + To install the NeMo Fabric runtime, adapter, and supported harness in one environment, choose one of the following `nemo-fabric` harness extras: @@ -80,11 +86,6 @@ does not install the NeMo Fabric runtime. Select `harness` or `full` to install the harness. If the runtime shares an environment with an existing compatible harness, install `nemo-fabric` and the bare adapter package together. -NeMo Fabric supports running an agent harness in a different virtual -environment from the NeMo Fabric runtime. This separation can isolate harnesses -that have conflicting dependencies. Use matching NeMo Fabric release versions -for the runtime and adapter package unless a different pairing has been -explicitly validated. ### Integrations @@ -112,20 +113,6 @@ Relay Python package. They do not provide a `relay` extra. Refer to the [NeMo Relay CLI](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-nemo-relay) install guide for instructions on installing the CLI tool. -## Core Concepts - -- **Typed configuration:** Construct a complete `FabricConfig` in Python and - use ordinary functions to create experiment variants. -- **Adapters:** Select harness-specific integrations with - `harness.adapter_id`. -- **Artifacts:** Receive normalized output, logs, patches, and telemetry - references through an `ArtifactManifest`. - -The experimental `nemo-fabric` CLI is distributed separately from the Python -package. It selects complete typed configs from built-in presets and maintained -examples. Applications that need a stable integration surface should use the -Python SDK. - ## Learn More Refer to the [NVIDIA NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric) diff --git a/pyproject.toml b/pyproject.toml index 2642d11b..a3bb5726 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,9 @@ dependencies = [ ] [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.setuptools] diff --git a/python/pypi.md b/python/pypi.md new file mode 100644 index 00000000..d2320818 --- /dev/null +++ b/python/pypi.md @@ -0,0 +1,35 @@ + + +# NVIDIA NeMo Fabric Runtime + +[![License](https://img.shields.io/github/license/NVIDIA/NeMo-Fabric)](https://github.com/NVIDIA/NeMo-Fabric/blob/main/LICENSE) +[![GitHub](https://img.shields.io/badge/github-repo-blue?logo=github)](https://github.com/NVIDIA/NeMo-Fabric/) +[![Release](https://img.shields.io/github/v/release/NVIDIA/NeMo-Fabric?color=green)](https://github.com/NVIDIA/NeMo-Fabric/releases) + +![Diagram showing NeMo Fabric connecting applications, evaluations, and reinforcement learning rollouts to Hermes, Codex, Claude, and Deep Agents, with results, artifacts, and telemetry as outputs.](https://raw.githubusercontent.com/NVIDIA/NeMo-Fabric/refs/heads/main/assets/fabric-hero-option2.png) + +`nemo-fabric-runtime` provides the Python SDK and native Rust bindings for +NVIDIA NeMo Fabric, a runtime execution layer for agents. + +Typically this is installed using the [`nemo-fabric`](https://pypi.org/project/nemo-fabric/) meta package. + +```bash +pip install nemo-fabric +``` + +Is equivalent to: + +```bash +pip install nemo-fabric-runtime +``` + +The package exposes the `nemo_fabric` Python module for typed agent +configuration, validation, run planning, runtime lifecycle management, +normalized results, artifacts, diagnostics, and telemetry references. + +Refer to the [NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric) +for installation and usage guidance. Source code is available in the +[NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/nemo-fabric/). diff --git a/python/pyproject.toml b/python/pyproject.toml index 4e952d05..4f720e09 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -19,7 +19,7 @@ classifiers = [ ] license = "Apache-2.0" license-files = ["LICENSE"] -readme = "README.md" +readme = "pypi.md" requires-python = ">=3.11" dependencies = [ "pydantic>=2.10,<3", @@ -28,7 +28,9 @@ dependencies = [ dynamic = ["version"] [project.urls] -Repository = "https://github.com/NVIDIA/nemo-fabric/" +Repository = "https://github.com/NVIDIA/NeMo-Fabric" +Homepage = "https://github.com/NVIDIA/NeMo-Fabric" +Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" [tool.maturin]