Skip to content

Commit 4357457

Browse files
authored
Drop uv wheel installation from docs (#1159)
## Summary Drop uv wheel installation from docs, see decision [here](https://nvidia.slack.com/archives/C0BR78Z3KAR/p1787912847523739?thread_ts=1787911799.861249&cid=C0BR78Z3KAR) --------- Signed-off-by: Xinjie Yao <xyao@nvidia.com>
1 parent a9657f8 commit 4357457

6 files changed

Lines changed: 27 additions & 126 deletions

File tree

docs/_ext/isaaclab_arena_doc_tools.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,7 @@ def uv_source_replacer(_: Any) -> str:
7171
source .venv/bin/activate
7272
export OMNI_KIT_ACCEPT_EULA=YES ACCEPT_EULA=Y"""
7373

74-
def uv_wheel_replacer(_: Any) -> str:
75-
return """.. code-block:: bash
76-
77-
uv sync --no-default-groups --group isaaclab-from-wheel --extra dev
78-
source .venv/bin/activate
79-
export OMNI_KIT_ACCEPT_EULA=YES ACCEPT_EULA=Y"""
80-
8174
source[0] = re.sub(r":uv_run_source:", uv_source_replacer, source[0])
82-
source[0] = re.sub(r":uv_run_wheel:", uv_wheel_replacer, source[0])
8375

8476

8577
def docker_run_command_replacer(app: Sphinx, _: Any, source: list[str]) -> None:

docs/pages/example_workflows/agentic_env_gen/index.rst

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,21 +111,17 @@ Use either a native ``uv`` environment or the base Docker container (see
111111

112112
.. tab-set::
113113

114-
.. tab-item:: Native uv source
114+
.. tab-item:: Native uv
115115
:selected:
116116

117117
:uv_run_source:
118118

119-
.. tab-item:: Native uv wheel
120-
121-
:uv_run_wheel:
122-
123119
.. tab-item:: Docker Container
124120

125121
:docker_run_default:
126122

127-
For either native ``uv`` flavor, ``isaaclab_arena_curobo`` is not installed; use
128-
the Docker container with ``-c`` if you need
123+
For native ``uv``, ``isaaclab_arena_curobo`` is not installed; use the Docker
124+
container with ``-c`` if you need
129125
:doc:`cuRobo-based reachability validation </pages/concepts/object_placement/validation>`.
130126

131127
Available Generated Environments

docs/pages/quickstart/installation.rst

Lines changed: 12 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,11 @@ or from source inside a Docker container.
1717
- ✓
1818
- ✓
1919
- ✓
20-
* - uv (Isaac Lab from source)
20+
* - uv
2121
- ✓
2222
- ✓
2323
- ✓
2424
- ✓
25-
* - uv (Isaac Lab from wheel)
26-
- ✓
27-
- ✗
28-
- ✗
29-
- ✓
3025

3126
Supported Systems
3227
-----------------
@@ -41,64 +36,28 @@ Native uv developer setup
4136
-------------------------
4237

4338
Isaac Lab Arena can be installed natively with `uv <https://docs.astral.sh/uv/>`_;
44-
the committed lockfile pins the complete environment. Two flavors are
45-
available, differing only in where Isaac Lab comes from:
46-
47-
- **Source flavor (recommended):** Isaac Lab is installed editable from the
48-
``submodules/IsaacLab`` checkout.
49-
- **Wheel flavor:** Isaac Lab is installed from the published wheel, which
50-
does not include Isaac Lab's RL/IL scripts.
51-
52-
Both flavors follow the same workflow — clone, sync, activate, run; only the
53-
``uv sync`` line differs.
39+
the committed lockfile pins the complete environment. Isaac Lab is installed
40+
editable from the ``submodules/IsaacLab`` checkout.
5441

5542
Clone the repository:
5643

5744
:isaaclab_arena_git_clone_code_block:
5845

59-
Sync the environment and activate it, picking the flavor that matches your
60-
workflow:
61-
62-
.. tab-set::
63-
64-
.. tab-item:: Source (recommended)
65-
:selected:
66-
67-
.. code-block:: bash
46+
Sync the environment and activate it:
6847

69-
uv sync --extra dev
70-
source .venv/bin/activate
71-
72-
.. tab-item:: Wheel
73-
74-
.. code-block:: bash
75-
76-
uv sync --no-default-groups --group isaaclab-from-wheel --extra dev
77-
source .venv/bin/activate
48+
.. code-block:: bash
7849
79-
.. note::
80-
The wheel flavor does not support the
81-
:doc:`imitation learning </pages/example_workflows/imitation_learning/index>`
82-
and
83-
:doc:`reinforcement learning </pages/example_workflows/reinforcement_learning_workflows/index>`
84-
workflows: the published Isaac Lab wheel does not include the scripts
85-
they rely on. Use the source flavor for those workflows.
50+
uv sync --extra dev
51+
source .venv/bin/activate
8652
8753
``uv sync`` creates a Python virtual environment in ``.venv/`` (pinned by
88-
``.python-version``), installs Isaac Lab Arena and Isaac Lab (editable from
89-
``submodules/IsaacLab`` in the source flavor, or from the published wheel),
90-
and pulls the matching Isaac Sim, PyTorch, and Newton wheels at the versions
91-
pinned by the committed lockfile. The ``dev`` extra installs the Streamlit and
92-
SimReady search dependencies used by the
54+
``.python-version``), installs Isaac Lab Arena and Isaac Lab editable from
55+
``submodules/IsaacLab``, and pulls the matching Isaac Sim, PyTorch, and Newton
56+
wheels at the versions pinned by the committed lockfile. The ``dev`` extra
57+
installs the Streamlit and SimReady search dependencies used by the
9358
:doc:`agentic environment generation workflow
9459
</pages/concepts/agentic_environment_generation/index>`.
9560

96-
.. note::
97-
The two flavors are mutually exclusive within the single ``.venv``: syncing
98-
one replaces the other. In the wheel flavor, run ``python``/``pytest`` in
99-
the activated environment rather than through ``uv run`` — a bare
100-
``uv run`` re-syncs the environment back to the source flavor.
101-
10261
.. note::
10362
Native ``uv`` installs do not include the optional ``isaaclab_arena_curobo``
10463
package, so :doc:`cuRobo-based reachability validation
@@ -128,20 +87,14 @@ a few more steps so there is time to see it):
12887
python isaaclab_arena/evaluation/policy_runner.py \
12988
--viz kit --policy_type zero_action --num_steps 200 cube_goal_pose
13089
131-
With the **source installation**, optionally verify the installation by running the test
132-
phases:
90+
Optionally verify the installation by running the test phases:
13391

13492
.. code-block:: bash
13593
13694
pytest -sv -m "not with_cameras and not with_subprocess" isaaclab_arena/tests/
13795
pytest -sv -m "with_cameras and not with_subprocess" isaaclab_arena/tests/
13896
pytest -sv -m with_subprocess isaaclab_arena/tests/
13997
140-
The full test suite is not supported by the wheel flavor because it includes
141-
tests for Isaac Lab's imitation-learning and reinforcement-learning
142-
interoperability. Use the zero-action rollout above to verify a wheel-based
143-
installation.
144-
14598
With ``isaaclab_arena`` installed you're ready to build your first environment;
14699
see :doc:`arena_env`.
147100

docs/pages/quickstart/running_a_real_policy/gr00t.rst

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,9 @@ Run GR00T with the Experiment Runner
4646
If you run Arena from its native ``uv`` environment, install the GR00T client
4747
package:
4848

49-
.. tab-set::
50-
51-
.. tab-item:: Source
52-
:selected:
53-
54-
.. code-block:: bash
55-
56-
uv sync --group gr00t-client
57-
58-
.. tab-item:: Wheel
59-
60-
.. code-block:: bash
49+
.. code-block:: bash
6150
62-
uv sync --no-default-groups --group isaaclab-from-wheel --group gr00t-client
51+
uv sync --group gr00t-client
6352
6453
Arena includes a one-Run YAML configuration for the first rollout. It selects the
6554
DROID environment, connects the GR00T policy to the server, and stops after three episodes.

skills/user/setup-arena/SKILL.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: setup-arena
3-
description: Sets up and verifies a runnable Isaac Lab-Arena checkout using the supported native uv source, native uv wheel, or Docker route. Use when installing Arena, preparing a fresh checkout to run examples or evaluations, choosing between uv and Docker, starting or attaching to the Arena container, mounting datasets/models/evaluation outputs, enabling cuRobo, or checking whether an installation is ready. Do not use for contributor hooks, forced image rebuilds, pytest regression testing, or experiment configuration.
3+
description: Sets up and verifies a runnable Isaac Lab-Arena checkout using the supported native uv or Docker route. Use when installing Arena, preparing a fresh checkout to run examples or evaluations, choosing between uv and Docker, starting or attaching to the Arena container, mounting datasets/models/evaluation outputs, enabling cuRobo, or checking whether an installation is ready. Do not use for contributor hooks, forced image rebuilds, pytest regression testing, or experiment configuration.
44
allowed-tools: Read Grep Glob Skill Bash(git rev-parse *) Bash(git submodule *) Bash(head *) Bash(id -un) Bash(test -d *) Bash(test -x *) Bash(uv --version) Bash(uv sync *) Bash(nvidia-smi *) Bash(.venv/bin/python *) Bash(./docker/run_docker.sh *) Bash(docker exec *) Bash(docker images *) Bash(docker inspect *) Bash(docker ps *) Bash(docker stop isaaclab_arena-*)
55
---
66

@@ -21,12 +21,11 @@ supported route:
2121

2222
| Route | Use it when |
2323
|---|---|
24-
| Native uv, Isaac Lab from source | Default when `uv` is available; supports evaluation, imitation learning, reinforcement learning, and agentic environment generation. |
25-
| Native uv, Isaac Lab wheel | Use only when the user prefers the wheel and needs evaluation or agentic environment generation; it does not support the Isaac Lab RL/IL scripts. |
24+
| Native uv | Default when `uv` is available; supports evaluation, imitation learning, reinforcement learning, and agentic environment generation. |
2625
| Docker | Use when requested, when the existing workflow is container-based, or when cuRobo reachability validation is required. |
2726

28-
Do not silently switch routes. The two native flavors share `.venv` and replace one another. Native
29-
uv does not provide the optional cuRobo package; use Docker with `-c` for `ik_reachable` validation.
27+
Do not silently switch routes. Native uv does not provide the optional cuRobo package; use Docker
28+
with `-c` for `ik_reachable` validation.
3029

3130
## Preflight and confirmation
3231

@@ -47,21 +46,14 @@ approval.
4746

4847
## Native uv route
4948

50-
For the recommended source flavor:
49+
Initialize the source submodules and sync the environment:
5150

5251
```bash
5352
git submodule update --init --recursive
5453
uv sync --extra dev
5554
```
5655

57-
For the wheel flavor:
58-
59-
```bash
60-
uv sync --no-default-groups --group isaaclab-from-wheel --extra dev
61-
```
62-
63-
Use `.venv/bin/python` for non-interactive commands. In the wheel flavor, do not use a bare
64-
`uv run`; it resyncs the environment to the default source flavor.
56+
Use `.venv/bin/python` for non-interactive commands.
6557

6658
Accept the Isaac Sim EULA for launch commands:
6759

skills/user/setup-arena/evaluations.md

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Setup Arena Evaluations
22

3-
## Scenario 1: Choose The Native Source Route
3+
## Scenario 1: Choose The Native Route
44

55
Query: "I just cloned Arena and want to use it for imitation learning. Set up the recommended native
66
runtime and stop when it is ready."
@@ -9,7 +9,7 @@ Expected behavior:
99

1010
- Reads `docs/pages/quickstart/installation.rst` and inspects the checkout, submodules, existing
1111
runtime, and GPU before changing state.
12-
- Selects the native Isaac Lab source flavor because it supports imitation learning.
12+
- Selects native uv because it supports imitation learning.
1313
- Shows `git submodule update --init --recursive` and `uv sync --extra dev`, explains the sync and
1414
EULA handling, and obtains confirmation before starting the large sync.
1515
- Uses `.venv/bin/python`, verifies that `isaaclab_arena` imports from this checkout, runs the
@@ -18,31 +18,10 @@ Expected behavior:
1818

1919
Known failure modes:
2020

21-
- Selects the wheel flavor even though it does not include Isaac Lab's imitation-learning scripts.
2221
- Syncs before inspecting the checkout or obtaining the required confirmation.
2322
- Treats a successful import alone as readiness or starts the downstream workflow.
2423

25-
## Scenario 2: Honor The Wheel Flavor
26-
27-
Query: "Switch this checkout from its source-flavor `.venv` to the published Isaac Lab wheel for
28-
local policy evaluation. I do not need reinforcement or imitation learning."
29-
30-
Expected behavior:
31-
32-
- Honors the requested wheel route and explains that it replaces the source flavor in the shared
33-
`.venv`.
34-
- After the required sync confirmation, uses
35-
`uv sync --no-default-groups --group isaaclab-from-wheel --extra dev`.
36-
- Uses `.venv/bin/python` rather than a bare `uv run`, verifies the checkout import and zero-action
37-
rollout, reports the interpreter, import path, and exit status, and does not run the unsupported
38-
full source test suite.
39-
40-
Known failure modes:
41-
42-
- Uses `uv sync --extra dev`, a bare `uv run`, or claims both native flavors coexist.
43-
- Switches to Docker or source despite the explicit supported wheel request.
44-
45-
## Scenario 3: Set Up cuRobo
24+
## Scenario 2: Set Up cuRobo
4625

4726
Query: "I've cloned Arena and need the `ik_reachable` validation check. Set up the supported runtime
4827
and stop when it is ready."
@@ -62,7 +41,7 @@ Known failure modes:
6241
- Rebuilds unnecessarily, starts a large build without confirmation, or continues into validation
6342
configuration.
6443

65-
## Scenario 4: Change A Docker Mount Safely
44+
## Scenario 3: Change A Docker Mount Safely
6645

6746
Query: "My Arena Docker container is already running, but I need it to use a different datasets
6847
directory. Help me change the mount."

0 commit comments

Comments
 (0)