Improves installation UX and documentation for Kit-less and uv flows#4879
Improves installation UX and documentation for Kit-less and uv flows#4879rdsa-nv wants to merge 31 commits intoisaac-sim:developfrom
Conversation
23a56e0 to
eca2916
Compare
d1ba3e3 to
a938c52
Compare
e54b9b3 to
94fe85a
Compare
…y) wil be addressed by uv dependencies and respective code owners more systemically. Soon. 🤞
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>
…Update messages and comments accordingly.
394c1cd to
6df095d
Compare
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>
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>
… with Kelly's updates)
|
@greptile-aps |
Greptile SummaryThis PR improves the installation experience for Kit-less and Key changes:
Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["isaaclab.sh -i [INSTALL]"] --> B{install_type?}
B -->|"all"| C["Install ALL extensions\n+ all RL frameworks"]
B -->|"none"| D["Install core isaaclab only"]
B -->|RL framework name| E["Install ALL extensions\n+ named framework"]
B -->|"comma-separated tokens"| F["Parse tokens one by one"]
F --> G{Token type?}
G -->|"isaacsim"| H["install_isaacsim = True\n→ _install_isaacsim()"]
G -->|"visualizers[extra]"| I["_parse_visualizer_selector()\n→ install with extras"]
G -->|"RL framework"| J["framework_type = name\n+ add isaaclab_rl"]
G -->|"valid sub-package"| K["Append isaaclab_<name>\nto extensions list"]
G -->|"ovrtx"| L["install_ovrtx = True\n→ _install_ovrtx_dependency()"]
G -->|"⚠️ all / none / unknown"| M["Warning: Unknown token\n(silently skipped!)"]
C & D & E & K --> N["_install_isaaclab_extensions()"]
N --> O["_ensure_cuda_torch()"]
O --> P["_install_extra_frameworks()"]
H --> N
C & E --> Q["_install_no_deps_extensions()\n(isaaclab_ov --no-deps)"]
|
| @@ -407,13 +407,16 @@ def command_install(install_type: str = "all") -> None: | |||
| extension_extras["isaaclab_visualizers"] = "[all]" | |||
| else: | |||
| extensions.append(f"isaaclab_{name}") | |||
| # Auto-include the matching visualizer when installing a physics backend. | |||
| if name == "newton" and "isaaclab_visualizers" not in extensions: | |||
| extensions.append("isaaclab_visualizers") | |||
| extension_extras["isaaclab_visualizers"] = "[newton]" | |||
| else: | |||
| valid = sorted(VALID_ISAACLAB_SUBPACKAGES) + sorted(VALID_RL_FRAMEWORKS) | |||
| valid = sorted(VALID_ISAACLAB_SUBPACKAGES) + sorted(VALID_RL_FRAMEWORKS) + ["isaacsim"] | |||
| print_warning(f"Unknown sub-package '{name}'. Valid values: {', '.join(valid)}. Skipping.") | |||
There was a problem hiding this comment.
"all" token not recognised inside comma-separated parser
The special values "all" and "none" are only handled at the top-level if/elif block (lines 364–373). Inside the else branch the comma-separated parser iterates over each token, but "all" is not in VALID_ISAACLAB_SUBPACKAGES, VALID_RL_FRAMEWORKS, or the "isaacsim" shortcut, so it falls through to the else warning:
Unknown sub-package 'all'. Valid values: …. Skipping.
A user who tries -i isaacsim,all expecting to install Isaac Sim and all extensions will get:
- Isaac Sim installed ✓
- A confusing "Unknown sub-package 'all'" warning
- Only the bare
isaaclabcore installed (not all extensions) ✗
Because the help text lists all as a valid value and the warning's "Valid values" list does not include all, the experience is especially confusing.
Consider explicitly handling "all" and "none" inside the loop so they can be mixed with other tokens, or at minimum document that combining them with other tokens is unsupported.
Description
Improvements to the installation and documentation within UV and Kit-less pathways in mind.
CLI fixes:
Docs:
-itokenspresets=newton/physxand--visualizerexamples--helpoutput in docs with updated CLI (visualizers,ovrtx, visualizer selector syntax)Type of change
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there