Adds initial support for UV-based installation#4739
Open
myurasov-nv wants to merge 11 commits intoisaac-sim:developfrom
Open
Adds initial support for UV-based installation#4739myurasov-nv wants to merge 11 commits intoisaac-sim:developfrom
myurasov-nv wants to merge 11 commits intoisaac-sim:developfrom
Conversation
Contributor
Greptile SummaryThis PR adds Phase 1 UV support for Isaac Lab installation while preserving the existing setuptools-based approach. The implementation enables UV-based installation of Isaac Lab and its 8 sub-packages through a new Key Changes:
Issues Found:
Confidence Score: 4/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User runs uv pip install] --> B{Installation Type?}
B -->|isaaclab only| C[Install base isaaclab package]
B -->|isaaclab isaacsim| D[Check pypi.nvidia.com index]
B -->|isaaclab extras| E[Install isaaclab + subpackages]
D --> F[UV reads pyproject.toml]
F --> G[Auto-discovers isaacsim from pypi.nvidia.com]
G --> H[Install isaacsim==5.1.0]
E --> I{Which extras?}
I -->|assets/physx/contrib/etc| J[Install specific subpackages]
I -->|all| K[Install all 8 subpackages]
C --> L[Dependencies resolved via setup.py]
H --> L
J --> L
K --> L
L --> M[Install core dependencies]
M --> N[Newton v0.2.3 from git]
M --> O[PyTorch from cu128 index]
M --> P[Other Python packages]
Last reviewed commit: 25d23a7 |
04d8d5d to
35cc571
Compare
… without --extra-index-url
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Signed-off-by: myurasov-nv <168484206+myurasov-nv@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Signed-off-by: myurasov-nv <168484206+myurasov-nv@users.noreply.github.com>
…"sub-packages", not extras or anything else
287832e to
7abb718
Compare
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.
Description
This adds initial support for installing Isaac Lab and it's sub-projects via UV.
After discussion with @kellyguo11 we have decided that since we're about to code-freeze, it makes sense to split UV support into 2 phases:
Phase 1:
./isaaclab.sh -h ... -i [INSTALL], --install [INSTALL] Install Isaac Lab sub-packages and RL frameworks. Accepts a comma-separated list of sub-package names, one of the RL frameworks, or a special value. Sub-packages: assets, physx, contrib, mimic, newton, rl, tasks, teleop. RL frameworks: rl_games, rsl_rl, sb3, skrl, robomimic. Passing an RL framework name installs all sub-packages + that framework. Special values: - all - Install all sub-packages + all RL frameworks (default). - none - Install only the core 'isaaclab' package. - <empty> (-i or --install without value) - Install all sub-packages + all RL frameworks. ...Phase 2:
pyproject.tomlbased dependency management.uv.lockfiles that are pinning dependencies to verified and tested state.This approach preserves proven setuptools-based installation for now and allows to properly test new
pyproject.toml-based approach when code and Isaac Sim 6.0 are stable.Type of change
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there