Repository navigation
docs: describe the repository layout and the nemo_gym packages - #5385
Merged
Merged
Conversation
Contributor
|
🌿 Preview your docs: https://nvidia-preview-pr-5385-58c586c93291.docs.buildwithfern.com/nemo/gym |
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
from
October 30, 2026 21:03
856de32 to
e918648
Compare
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
October 30, 2026 21:04
c5ea278 to
58c586c
Compare
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
from
October 30, 2026 23:19
e918648 to
f209da8
Compare
32 of 41 tasks
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
3 times, most recently
from
November 3, 2026 17:01
42b8ce6 to
32cfec4
Compare
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
November 3, 2026 18:02
58c586c to
b9dc200
Compare
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
from
November 3, 2026 18:08
6eba755 to
96de085
Compare
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
November 3, 2026 18:17
b9dc200 to
7a39901
Compare
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
2 times, most recently
from
November 3, 2026 18:23
3bcfad5 to
9616fd2
Compare
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
November 3, 2026 18:23
7a39901 to
45f16b3
Compare
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
from
November 3, 2026 18:27
9616fd2 to
a744fb6
Compare
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
November 3, 2026 18:28
45f16b3 to
56ed5ee
Compare
ananthsub
force-pushed
the
ananthsub/layout-cli
branch
from
November 3, 2026 18:28
a744fb6 to
d5ee75a
Compare
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
November 3, 2026 18:33
56ed5ee to
de96e27
Compare
The API reference overview listed a few "key modules" by their class names. That list no longer matches the code after `nemo_gym/` was split into layered packages, and class lists go stale as features are added. The overview now has two sections: - Repository Layout says what each top-level directory holds. - The nemo_gym Package has a layer diagram and one line per package. It also covers the three modules that sit directly in `nemo_gym/` and the `verifiers` helpers that sit outside the layers. It ends with the import rule and how long old import paths keep working. The architecture page links to the repository layout. The architecture section of `AGENTS.md` names the modules that define the server base classes and lists the package order. Other pages pointed at code that moved or that never held what they described: - The Ray FAQ named `nemo_gym/cli/env.py` and `server_utils.py`. A run starts Ray from `RunHelper.start()` in `nemo_gym/orchestration/server_supervisor.py`. Each server process connects from `SimpleServer.run_webserver()` in `nemo_gym/server_runtime/base_server.py`. - The Hugging Face download page gave line ranges that now land on the upload config. It names the download config, its validator, and the download function instead. - Code samples imported names from the module that defines them. Samples are code outside `nemo_gym/`, so they now import from each package, such as `nemo_gym.server_runtime`, `nemo_gym.rollouts`, `nemo_gym.sandbox` and `nemo_gym.telemetry`. Signed-off-by: Ananth Subramaniam <ansubramania@nvidia.com>
ananthsub
force-pushed
the
ananthsub/layout-docs
branch
from
November 3, 2026 20:10
4c161ab to
8e7a211
Compare
This branch was previously deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What changed and why
The package reorganization (tracking issue #5166) split
nemo_gym/into layered packages, and every PR in that stack has merged. The API reference overview still described the library as a short list of "key modules" with their class names, which no longer matches the code and goes stale whenever a feature adds a class. This PR replaces that list with a description of the repository layout and fixes other pages that pointed at code that moved.fern/versions/latest/pages/api-reference/index.mdx): the "Key Modules" table is replaced by three sections.nemo_gym/, the server directories,environments/,benchmarks/andtests/.failure_transport,typed_exceptionsandexception_inspection, which sat directly innemo_gym/when this PR merged; refactor(core): move the failure modules from #5072 into their packages #5536 has since moved them intocore/andutils/. It coversnemo_gym.verifiers, which sits outside the layers because it runs inside verifier sandboxes.DeprecationWarninguntil 0.10.0 and thatscripts/migrate_imports.pyrewrites them.fern/versions/latest/pages/about/architecture.mdx): a short "Where the Code Lives" section names the server directories and links to the repository layout.AGENTS.md: the architecture section names the modules that defineBaseServer,SimpleServer,SimpleResourcesServer,SimpleResponsesAPIModelandSimpleResponsesAPIAgent, lists the package order, and points to the import-linter contract inpyproject.tomlthat enforces it.fern/versions/latest/pages/reference/faq.mdx): the page namednemo_gym/cli/env.pyandserver_utils.py. A run starts or joins Ray fromRunHelper.start()innemo_gym/orchestration/server_supervisor.py, and each server process connects fromSimpleServer.run_webserver()innemo_gym/server_runtime/base_server.py, which calls the helpers innemo_gym/server_runtime/ray_support.py.fern/versions/latest/pages/data/download-huggingface.mdx): the source table gave line ranges innemo_gym/config/config_types.pythat now land on the upload config. The table namesDownloadJsonlDatasetHuggingFaceConfig, itscheck_output_path()validator, anddownload_hf_dataset_as_jsonl()instead, so it stays correct as the files change.nemo_gym/, so it imports each name from its package rather than from the module that defines it. The resources server tutorials, aggregate metrics, model call capture, sandbox provider and telemetry extension samples now import fromnemo_gym.server_runtime,nemo_gym.rollouts,nemo_gym.sandboxandnemo_gym.telemetry, and the prose next to the sandbox and telemetry samples names the package too.nemo_gym.verifiers.filesin the Harbor tasks page stays, because the verifier helpers are a standard-library-only package with no public API of their own.Only the bleeding-edge docs under
fern/versions/latest/change, and the frozenfern/versions/v*/snapshots stay as they are.Validation
cd fern && npm run check(fern check) reports no errors. Its one warning is the missing-redirects check, which Fern skips without authentication.fern/versions/latest/pages/imports fromnemo_gymimports on this branch with deprecation warnings raised as errors.nemo_gymfile path, module path and GitHub source link that those pages cite exists on this branch, and each class or function named next to a module is defined in that module or its package.pre-commit run --fileson the changed files passes.Rollout evidence: N/A, docs only.