Refresh documentation and move Ray tooling to contrib - #7134
Conversation
# Conflicts: # docs/source/setup/quickstart.rst # uv.lock
Greptile SummaryThe PR refreshes and reorganizes documentation while moving the experimental Ray dispatch and tuning tools into
Confidence Score: 4/5The PR should not merge until the documented Ray environment installs MLflow for the remote tuning and conversion commands. The newly introduced Ray extra does not provide a package directly imported on two supported execution paths, causing immediate module-import failures. Files Needing Attention: pyproject.toml and the MLflow-dependent modules under source/isaaclab_contrib/isaaclab_contrib/rl/ray Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
User["uv run --extra ray"] --> Extra["Root ray extra"]
Extra --> Contrib["isaaclab_contrib.rl.ray"]
Contrib --> Submit["Job dispatch"]
Contrib --> Tune["Remote tuning"]
Contrib --> Convert["MLflow to TensorBoard"]
Tune --> MLflow["MLflow tracking"]
Convert --> MLflow
Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'upstream/d..." | Re-trigger Greptile |
| ray = [ | ||
| "ray[default,tune]>=2.47.0", | ||
| "optuna>=3.0.0,<5", | ||
| "sqlalchemy<2.1", | ||
| "kubernetes", | ||
| "jinja2", | ||
| "pyyaml", | ||
| ] |
There was a problem hiding this comment.
Isaac Lab Review Bot
The Ray workflow is cleanly reorganized under isaaclab_contrib.rl.ray, but two release/compatibility details need correction: the isaaclab changelog fragment attributes a root-project extra to the wrong package, and the previously documented script entry points are removed without a deprecation window.
- Design and architecture: Moving the experimental Ray tooling into
isaaclab_contriband replacing localsys.pathmanipulation with package imports is coherent. The optional dependency group, package data, documentation navigation, and module layout align with that contributed-workflow classification. - API: The new
rayextra is consistent across project metadata, lock data, tests, and documentation. However, removing everyscripts/reinforcement_learning/ray/*.pyentry point immediately breaks existing automation using those documented paths and conflicts with the repository requirement for prior deprecation; temporary forwarding wrappers should preserve those paths for a release. - Implementation: The moved modules, package initializers, imports,
python -mcommands, Dockerfile, and Jinja package data are integrated consistently. Thesource/isaaclabchange is test-only while its patch fragment claims that package added the root-level dependency group, causing an inaccurate package release note and version bump; use a.skipfragment there and record the user-visible Ray workflow change with the owning contributed workflow metadata.
Minor fixes needed. Posted 2 actionable findings inline.
Automated review; human maintainers own approval decisions.
| @@ -0,0 +1,3 @@ | |||
| Added | |||
There was a problem hiding this comment.
🔵 Suggestion · Implementation — Changelog fragment misattributes root-level extra
The only source/isaaclab/ change is test/cli/test_uv_run_pyproject.py, and the ray extra is defined in the repository-root pyproject.toml, not in the isaaclab package. This patch-tier fragment therefore bumps isaaclab and publishes a note claiming that package added a dependency group it does not own. Per the changelog rules, use a .skip fragment for this test-only touch and keep the extra documented in the isaaclab_contrib fragment.
| Changed | ||
| ^^^^^^^ | ||
|
|
||
| * Moved the contributed Ray job-dispatch and tuning workflow from |
There was a problem hiding this comment.
🔵 Suggestion · Api — Documented Ray script paths removed outright
Every scripts/reinforcement_learning/ray/*.py entry point is relocated with no forwarding stub, so existing scripts and automation invoking the previously documented paths fail immediately. The changelog does give migration guidance, but the repository rule also asks for a prior deprecation step. Consider leaving thin wrappers at the old paths for one release that print a deprecation notice and delegate to isaaclab_contrib.rl.ray.*.
Summary
isaaclab_contrib, add arayoptional dependency group, and update commands and package dataWhy
The documentation inventory identified stale or duplicated pages, and the Ray tooling was not regularly tested or maintained as a core script workflow. This keeps current guidance discoverable while clearly classifying Ray as contributed and experimental.
Validation
uv lock --checkuv run --extra ray --extra test pytest source/isaaclab/test/cli/test_uv_run_pyproject.py -q(11 passed)--helpsmoke checksuv run isaaclab -f(all hooks passed except pre-existing invalid changelog fragments unrelated to this PR)