Frlai/improve leapp export - #7326
Conversation
Greptile SummaryThis PR upgrades the optional LEAPP dependency to 0.6.1 and enriches exports with policy-frequency metadata and the originating environment configuration.
Confidence Score: 5/5The PR appears safe to merge, with no concrete changed-code failure identified. The frequency calculation matches the canonical policy step period for both supported environment families, all exporters apply the same artifact contract, and the updated integration tests validate metadata-to-environment parity. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
C[Environment configuration] --> F[Compute frequency from sim.dt × decimation]
F --> G[LEAPP GraphConfigs]
P[Policy checkpoint] --> E[RL-specific exporter]
G --> E
E --> L[Compile LEAPP graph]
L --> A[Model and graph artifacts]
C --> Y[Write env.yaml]
Y --> A
A --> D[Downstream deployment]
Reviews (1): Last reviewed commit: "bumped pinned leapp version to 0.6.1, le..." | Re-trigger Greptile |
There was a problem hiding this comment.
Isaac Lab Review Bot
Reviewed the LEAPP 0.6.1 integration, including policy-frequency metadata, bundled environment configuration, all four RL export backends, documentation, release metadata, and export-flow tests. The changed producer and artifact paths are consistent across backends.
- Design and architecture: Policy frequency is derived centrally from the environment control period (
sim.dt * decimation) and passed through the existing deferred-import structure used by the RSL-RL, RL-Games, skrl, and SB3 exporters. Each backend writesenv.yamlinto the same graph-specific artifact directory, keeping the bundle layout uniform. - API: No existing Isaac Lab CLI option or export artifact is removed or renamed. The LEAPP dependency is pinned to 0.6.1 to match the newly used graph configuration API, while the new frequency metadata and
env.yamlartifact are documented and included in the package changelog. - Implementation: The graph configuration and environment dump are wired into all four compile paths using the same
env_cfg,save_path, andgraph_name. Integration assertions verify that both artifacts exist and that the graph frequency matches1 / (sim.dt * decimation), including the direct-environment RSL-RL path.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
kellyguo11
left a comment
There was a problem hiding this comment.
@StafaH do you mind checking on the uv.lock changes?
StafaH
left a comment
There was a problem hiding this comment.
Thanks for the PR @frlai. I left a comment about moving the logic in a follow up PR, but on that note, we have also been migrating everyone to move logic to uv run isaaclab. Currently you can do:
uv run isaaclab train <rest of args>
uv run isaaclab benchmark startup <rest of args>
uv run isaaclab teleop record <rest of args>
Might be time to add leapp export, wdyt?
uv run isaaclab export <rest of args>
This would require 1) moving logic to isaaclab_rl and 2) getting hooked up correctly to cli.py
| @@ -171,8 +171,16 @@ dependencies = [ | |||
| sdist = { url = "https://files.pythonhosted.org/packages/45/4a/064321452809dae953c1ed6e017504e72551a26b6f5708a5a80e4bf556ff/aiohttp-3.13.4.tar.gz", hash = "sha256:d97a6d09c66087890c2ab5d49069e1e570583f7ac0314ecf98294c1b6aaebd38", size = 7859748, upload-time = "2026-03-28T17:19:40.6Z" } | |||
There was a problem hiding this comment.
Why is the lock changing? Optional dependencies usually don't change the lock that much, you can double check if this lock change is necessary locally by doing a uv lock --check on a fresh install (no leapp installed just base install)
There was a problem hiding this comment.
Done. Previous issue was that I didn't clean the lock file before pushing. newest version has exactly 3 changes.
| @@ -40,6 +40,8 @@ | |||
| is_two_tensor_lstm_state = None | |||
There was a problem hiding this comment.
The changes look reasonable, but just FYI, we moved almost all logic out of the scripts into isaaclab_rl, so leapp is currently the only logic left behind here. Benefit of moving to isaaclab_rl is that downstream package install gets access.
There was a problem hiding this comment.
yeah I would prefer that too. previously noticed that we were doing that but wasn't sure about the scope. I think it's relevant enough to add to this PR. Unless you have a preference for smaller PRs.
… graph frequency and also dumps the isaac lab env.yaml for convenience.
27a4204 to
91b115e
Compare
|
@StafaH if this looks good can you approve it? we can discuss the migration it isaaclab_rl separately. |
|
run-ci |
Description
Small additive updates for leapp.
Type of change
Release backport
developChecklist
pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bumpextension.toml— CI handles that)CONTRIBUTORS.mdor my name already exists there