-
Notifications
You must be signed in to change notification settings - Fork 21
docs: Ensure wheel readme files are suitable for pypi.org #76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
8de34e2
Update adapter readmes to be end-user focused as they will appear on …
dagardner-nv c72da42
Create a pypi specific readme, as the current README.md is suitable a…
dagardner-nv 43cda70
Fix claims about adapter installation
dagardner-nv a49a2ea
Add blank lines around code fences
dagardner-nv 26b2d89
document version restrictions
dagardner-nv c0a23c6
Merge branch 'main' of github.com:NVIDIA/NeMo-Fabric into david-pypi-…
dagardner-nv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| <!-- | ||
| 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 | ||
|
dagardner-nv marked this conversation as resolved.
|
||
| ``` | ||
|
|
||
| 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. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| <!-- | ||
| SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| SPDX-License-Identifier: Apache-2.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 a | ||
| one-shot invocation and multi-turn thread resume. The Relay test additionally | ||
| requires an external gateway binary and verifies one-shot and resumed model | ||
| responses, stable thread identity, ATOF, and ATIF; gateway startup alone is not | ||
| a passing result. The semantic regression also requires decoded LLM request | ||
| content, a model, token usage, and the expected agent response in ATIF. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| <!-- | ||
| 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: | ||
|
|
||
| ```bash | ||
| pip install "nemo-fabric[claude]" | ||
| pip install "nemo-fabric[codex]" | ||
| pip install "nemo-fabric[deepagents]" | ||
| pip install "nemo-fabric[hermes]" | ||
| ``` | ||
|
|
||
| Fabric supports running an agent harness in a different virtual environment than the one used to run Fabric itself. This is useful for running agents that have conflicting dependencies with Fabric or other agents. | ||
|
|
||
| The adapter must be installed into the virtual environment that the harness is installed in. For this reason adapters intentionally have minimal dependencies. | ||
|
|
||
| ### Integrations | ||
|
|
||
| Harbor integration: | ||
|
|
||
| ```bash | ||
| pip install "nemo-fabric[harbor]" | ||
| ``` | ||
|
dagardner-nv marked this conversation as resolved.
|
||
|
|
||
| Relay integration: | ||
|
|
||
| ```bash | ||
| pip install "nemo-fabric[relay]" | ||
|
dagardner-nv marked this conversation as resolved.
|
||
| ``` | ||
|
|
||
| ### Python Versions | ||
|
|
||
| NeMo Fabric supports Python versions 3.11-3.14, however some of the integrations and adapters may have additional requirements. Specifically the Hermes adapter doesn't support Python 3.14 yet, and the Harbor integration requires Python 3.12 or later. | ||
|
|
||
| ## 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/). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.