Skip to content

Commit 355e1f9

Browse files
committed
Take Isaac Sim out of the teleop extra and split test from dev
Review feedback: extras are a user-facing surface, so the images should use the ones that already exist rather than adding container-shaped ones. Both extras this PR introduced are gone. `teleop` now carries only the teleop stack. Environments that already provide Kit -- the container images -- no longer install a second, version-mismatched Isaac Sim beside the one they ship, and `teleop-no-isaacsim` is unnecessary. Agreed with the teleop owner: installs that need the wheel use `--extra teleop,isaacsim`, and the docs now say so wherever XR teleop appears. `test` is the test suite alone and `dev` adds the documentation toolchain, so the images can install `test` without shipping Sphinx and its GPL-3.0-or-later `docutils`, which `Docker Dependency Licenses Check` rejects. That removes the need for `test-runtime`. Docs builds and the license scan move to `dev`. Two tests encoded the old contract and now assert the new one: `teleop` excludes Isaac Sim, and the wheel is pinned only by the `isaacsim` extra.
1 parent 0421f0b commit 355e1f9

15 files changed

Lines changed: 109 additions & 127 deletions

File tree

.github/workflows/docs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868

6969
- name: Install docs dependencies
7070
run: |
71-
bash "$GITHUB_WORKSPACE/.github/actions/_lib/with-python-package-retries.sh" uv sync --extra test
71+
bash "$GITHUB_WORKSPACE/.github/actions/_lib/with-python-package-retries.sh" uv sync --extra dev
7272
echo "$PWD/.venv/bin" >> "$GITHUB_PATH"
7373
7474
- name: Build current version docs
@@ -102,7 +102,7 @@ jobs:
102102

103103
- name: Install docs dependencies
104104
run: |
105-
bash "$GITHUB_WORKSPACE/.github/actions/_lib/with-python-package-retries.sh" uv sync --extra test
105+
bash "$GITHUB_WORKSPACE/.github/actions/_lib/with-python-package-retries.sh" uv sync --extra dev
106106
echo "$PWD/.venv/bin" >> "$GITHUB_PATH"
107107
108108
- name: Generate multi-version docs

.github/workflows/license-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
ISAACSIM_ACCEPT_EULA: YES
6363
run: |
6464
bash "$GITHUB_WORKSPACE/.github/actions/_lib/with-python-package-retries.sh" \
65-
uv sync --extra all --extra isaacsim --extra test --extra rlinf --extra mimic
65+
uv sync --extra all --extra isaacsim --extra dev --extra rlinf --extra mimic
6666
# ``[tool.uv.pip] prerelease = "allow"`` lets unpinned tools float onto
6767
# prereleases. pip-licenses 6.0.0a1 reports an empty License where 5.x reports
6868
# ``UNKNOWN``, which license-exceptions.json keys on, and joins multi-license

docker/Dockerfile.base

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ COPY --parents ../source/*/pyproject.toml ${ISAACLAB_PATH}/
130130

131131
# The image's package set. Kit ships in the base image, so the teleop stack comes without the
132132
# ``isaacsim`` wheel; ``teleop`` itself is left exactly as tuned.
133-
ARG IMAGE_EXTRAS="--extra sb3 --extra skrl --extra rl-games --extra rsl-rl --extra viser --extra rerun --extra mimic --extra teleop-no-isaacsim --extra test-runtime"
133+
ARG IMAGE_EXTRAS="--extra sb3 --extra skrl --extra rl-games --extra rsl-rl --extra viser --extra rerun --extra mimic --extra teleop --extra test"
134134

135135

136136
RUN --mount=type=cache,target=/root/.cache/uv \

docker/Dockerfile.curobo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ RUN ln -sf ${ISAACSIM_ROOT_PATH} ${ISAACLAB_PATH}/_isaac_sim
164164

165165
# The image's package set. Kit ships in the base image, so the teleop stack comes without the
166166
# ``isaacsim`` wheel; ``teleop`` itself is left exactly as tuned.
167-
ARG IMAGE_EXTRAS="--extra sb3 --extra skrl --extra rl-games --extra rsl-rl --extra viser --extra rerun --extra mimic --extra teleop-no-isaacsim --extra test-runtime"
167+
ARG IMAGE_EXTRAS="--extra sb3 --extra skrl --extra rl-games --extra rsl-rl --extra viser --extra rerun --extra mimic --extra teleop --extra test"
168168

169169
# Workspace manifests only: ``uv sync --no-install-workspace`` needs every member's
170170
# pyproject.toml to build an installation plan, but not their sources. Resolving the

docker/Dockerfile.kitless

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ COPY --parents source/*/pyproject.toml ./
7474
# ``--inexact`` keeps the seeded pip, which is not a lock entry.
7575
RUN --mount=type=cache,target=/root/.cache/uv \
7676
uv venv --seed "${VIRTUAL_ENV}" \
77-
&& uv sync --frozen --inexact --extra all --extra importers --extra test-runtime \
77+
&& uv sync --frozen --inexact --extra all --extra importers --extra test \
7878
--no-install-workspace
7979

8080
# Sources only: the workspace install below needs these, and nothing else in the repo. A docs
@@ -87,7 +87,7 @@ RUN chmod 755 "${ISAACLAB_PATH}/isaaclab.sh"
8787

8888
# The workspace members install editable now that their sources are present.
8989
RUN --mount=type=cache,target=/root/.cache/uv \
90-
uv sync --frozen --inexact --extra all --extra importers --extra test-runtime \
90+
uv sync --frozen --inexact --extra all --extra importers --extra test \
9191
&& chmod -R a+rwX "${VIRTUAL_ENV}/lib" "${VIRTUAL_ENV}/bin" \
9292
&& python -c "import importlib.metadata as m; \
9393
names = {d.metadata['Name'].lower() for d in m.distributions()}; \

docs/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This section describes how to build the documentation for the current version of
1616

1717
```bash
1818
# 1. Build the current documentation
19-
uv run --isolated --extra test -- make -C docs current-docs
19+
uv run --isolated --extra dev -- make -C docs current-docs
2020

2121
# 2. Open the current docs
2222
xdg-open docs/_build/current/index.html
@@ -27,7 +27,7 @@ xdg-open docs/_build/current/index.html
2727

2828
```batch
2929
:: 1. Build the current documentation
30-
uv run --isolated --extra test -- cmd /c docs\make.bat current-docs
30+
uv run --isolated --extra dev -- cmd /c docs\make.bat current-docs
3131
3232
:: 2. Open the current docs
3333
start docs\_build\current\index.html
@@ -43,7 +43,7 @@ This section describes how to build the multi-version documentation, which inclu
4343

4444
```bash
4545
# 1. Build the multi-version documentation
46-
uv run --isolated --extra test -- make -C docs multi-docs
46+
uv run --isolated --extra dev -- make -C docs multi-docs
4747

4848
# 2. Open the multi-version docs
4949
xdg-open docs/_build/index.html
@@ -54,7 +54,7 @@ xdg-open docs/_build/index.html
5454

5555
```batch
5656
:: 1. Build the multi-version documentation
57-
uv run --isolated --extra test -- cmd /c docs\make.bat multi-docs
57+
uv run --isolated --extra dev -- cmd /c docs\make.bat multi-docs
5858
5959
:: 2. Open the multi-version docs
6060
start docs\_build\index.html

docs/source/features/isaac_teleop.rst

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ Enable the visualization when launching a teleoperation session:
155155

156156
.. code-block:: bash
157157
158-
uv run --extra teleop isaaclab teleop run \
158+
uv run --extra teleop,isaacsim isaaclab teleop run \
159159
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
160160
--visualizer kit \
161161
--xr \
@@ -461,7 +461,7 @@ on launch -- no headset connection is needed (see :ref:`isaac-teleop-standalone`
461461

462462
.. code-block:: bash
463463
464-
uv run --extra teleop isaaclab teleop run \
464+
uv run --extra teleop,isaacsim isaaclab teleop run \
465465
--task IsaacContrib-Stack-Cube-SO101-Joint-Teleop-v0 \
466466
--num_envs 1 \
467467
--visualizer kit
@@ -488,7 +488,7 @@ only controls whether the scene is rendered to the headset. Follow the connectio
488488

489489
.. code-block:: bash
490490
491-
uv run --extra teleop isaaclab teleop run \
491+
uv run --extra teleop,isaacsim isaaclab teleop run \
492492
--task IsaacContrib-Stack-Cube-SO101-Joint-Teleop-v0 \
493493
--num_envs 1 \
494494
--visualizer kit --xr
@@ -1157,7 +1157,7 @@ for the headless profile, or pass a full file path for a custom profile:
11571157
.. code-block:: bash
11581158
11591159
# Use the AVP profile
1160-
uv run --extra teleop isaaclab teleop run \
1160+
uv run --extra teleop,isaacsim isaaclab teleop run \
11611161
--task IsaacContrib-PickPlace-GR1T2-WaistEnabled-Abs \
11621162
--visualizer kit --xr \
11631163
--cloudxr_env avp
@@ -1180,7 +1180,7 @@ Copy a shipped profile and edit it:
11801180
.. code-block:: bash
11811181
11821182
# Start from the Quest/Pico profile
1183-
cp $(uv run --extra teleop python -c \
1183+
cp $(uv run --extra teleop,isaacsim python -c \
11841184
"from isaaclab_teleop import CLOUDXR_JS_ENV; print(CLOUDXR_JS_ENV)") ~/my-cloudxr.env
11851185
11861186
Edit ``~/my-cloudxr.env`` to change any values (e.g. ``NV_CXR_ENABLE_PUSH_DEVICES=1`` for
@@ -1203,13 +1203,13 @@ If you prefer to run the CloudXR runtime manually in a separate terminal
12031203
.. code-block:: bash
12041204
12051205
# Disable via CLI flag
1206-
uv run --extra teleop isaaclab teleop run \
1206+
uv run --extra teleop,isaacsim isaaclab teleop run \
12071207
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
12081208
--visualizer kit --xr \
12091209
--no-auto_launch_cloudxr
12101210
12111211
# Or disable via environment variable
1212-
ISAACLAB_CXR_SKIP_AUTOLAUNCH=1 uv run --extra teleop isaaclab teleop run \
1212+
ISAACLAB_CXR_SKIP_AUTOLAUNCH=1 uv run --extra teleop,isaacsim isaaclab teleop run \
12131213
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
12141214
--visualizer kit --xr
12151215
@@ -1322,11 +1322,11 @@ recorded view follows robot motion:
13221322

13231323
.. code-block:: bash
13241324
1325-
uv run --extra teleop isaaclab teleop run \
1325+
uv run --extra teleop,isaacsim isaaclab teleop run \
13261326
--task IsaacContrib-PickPlace-GR1T2-Abs \
13271327
--xr --device cpu
13281328
1329-
uv run --extra teleop isaaclab teleop run \
1329+
uv run --extra teleop,isaacsim isaaclab teleop run \
13301330
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
13311331
--xr --device cpu
13321332
@@ -1585,7 +1585,7 @@ uses ``create_isaac_teleop_device()`` -- no ``--teleop_device`` flag is needed:
15851585

15861586
.. code-block:: bash
15871587
1588-
uv run --extra teleop isaaclab teleop record \
1588+
uv run --extra teleop,isaacsim isaaclab teleop record \
15891589
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
15901590
--visualizer kit \
15911591
--xr
@@ -1605,7 +1605,7 @@ task with the PhysX and differential IK presets as follows:
16051605

16061606
.. code-block:: bash
16071607
1608-
uv run --extra teleop isaaclab teleop record \
1608+
uv run --extra teleop,isaacsim isaaclab teleop record \
16091609
--task Isaac-Reach-Franka \
16101610
--visualizer kit \
16111611
--dataset_file ./datasets/dataset.hdf5 \
@@ -1618,7 +1618,7 @@ the registered task ID, but not the command-line selector values:
16181618

16191619
.. code-block:: bash
16201620
1621-
uv run --extra teleop isaaclab teleop replay \
1621+
uv run --extra teleop,isaacsim isaaclab teleop replay \
16221622
--task Isaac-Reach-Franka \
16231623
--visualizer kit \
16241624
--dataset_file ./datasets/dataset.hdf5 \
@@ -1634,7 +1634,7 @@ the input device:
16341634

16351635
.. code-block:: bash
16361636
1637-
uv run --extra teleop isaaclab teleop record \
1637+
uv run --extra teleop,isaacsim isaaclab teleop record \
16381638
--task IsaacContrib-Stack-Cube-Galbot-Left-Arm-Gripper-RmpFlow \
16391639
--visualizer kit \
16401640
--teleop_device keyboard
@@ -1873,7 +1873,7 @@ Optimize XR Performance
18731873

18741874
.. code-block:: bash
18751875
1876-
uv run --extra teleop isaaclab teleop run \
1876+
uv run --extra teleop,isaacsim isaaclab teleop run \
18771877
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
18781878
--visualizer kit --xr \
18791879
--disable_external_cameras
@@ -1894,7 +1894,7 @@ Optimize XR Performance
18941894

18951895
.. code-block:: bash
18961896
1897-
uv run --extra teleop isaaclab teleop run \
1897+
uv run --extra teleop,isaacsim isaaclab teleop run \
18981898
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
18991899
--viz none --xr
19001900

docs/source/how-to/cloudxr_teleoperation.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ To use the check on its own -- for example to qualify a machine before setting u
117117

118118
.. code-block:: bash
119119
120-
uv run --extra teleop python -c "from isaaclab_teleop import check_system_requirements; print(check_system_requirements().format_table())"
120+
uv run --extra teleop,isaacsim python -c "from isaaclab_teleop import check_system_requirements; print(check_system_requirements().format_table())"
121121
122122
123123
.. _install-isaac-teleop:
@@ -238,7 +238,7 @@ terminal or ``source`` step is needed. Launch a teleoperation session directly:
238238

239239
.. code-block:: bash
240240
241-
uv run --extra teleop isaaclab teleop run \
241+
uv run --extra teleop,isaacsim isaaclab teleop run \
242242
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
243243
--visualizer kit \
244244
--xr
@@ -294,7 +294,7 @@ so pair it with a hand-tracking task such as
294294

295295
.. code-block:: bash
296296
297-
uv run --extra teleop isaaclab teleop run \
297+
uv run --extra teleop,isaacsim isaaclab teleop run \
298298
--task IsaacContrib-PickPlace-GR1T2-WaistEnabled-Abs \
299299
--visualizer kit \
300300
--xr \
@@ -457,7 +457,7 @@ choose the tab that matches your hardware.
457457

458458
.. code-block:: bash
459459
460-
uv run --extra teleop isaaclab teleop run \
460+
uv run --extra teleop,isaacsim isaaclab teleop run \
461461
--task IsaacContrib-PickPlace-GR1T2-WaistEnabled-Abs \
462462
--visualizer kit --xr \
463463
--cloudxr_env avp
@@ -709,7 +709,7 @@ Launch a teleoperation session paired with a hand-tracking task, as shown in
709709

710710
.. code-block:: bash
711711
712-
uv run --extra teleop isaaclab teleop run \
712+
uv run --extra teleop,isaacsim isaaclab teleop run \
713713
--task IsaacContrib-PickPlace-GR1T2-WaistEnabled-Abs \
714714
--visualizer kit --xr
715715
@@ -735,11 +735,11 @@ Launch a teleoperation session paired with a hand-tracking task, as shown in
735735
.. code-block:: bash
736736
737737
# Copy a shipped profile and enable push devices
738-
cp $(uv run --extra teleop python -c \
738+
cp $(uv run --extra teleop,isaacsim python -c \
739739
"from isaaclab_teleop import CLOUDXR_JS_ENV; print(CLOUDXR_JS_ENV)") ~/manus.env
740740
sed -i 's/NV_CXR_ENABLE_PUSH_DEVICES=0/NV_CXR_ENABLE_PUSH_DEVICES=1/' ~/manus.env
741741
742-
uv run --extra teleop isaaclab teleop run \
742+
uv run --extra teleop,isaacsim isaaclab teleop run \
743743
--task IsaacContrib-PickPlace-GR1T2-WaistEnabled-Abs \
744744
--visualizer kit --xr \
745745
--cloudxr_env ~/manus.env
@@ -884,7 +884,7 @@ Run the teleop script (e.g. ``record_demos.py`` to record demonstrations):
884884

885885
.. code-block:: bash
886886
887-
uv run --extra teleop isaaclab teleop record \
887+
uv run --extra teleop,isaacsim isaaclab teleop record \
888888
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \
889889
--num_demos 5 \
890890
--dataset_file ./datasets/dataset.hdf5 \

docs/source/overview/imitation-learning/humanoids_imitation.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ Collect five demonstrations by running the following command:
7878

7979
.. code:: bash
8080
81-
uv run --extra teleop isaaclab teleop record \
81+
uv run --extra teleop,isaacsim isaaclab teleop record \
8282
--task IsaacContrib-PickPlace-GR1T2-Abs \
8383
--visualizer kit \
8484
--xr \
@@ -100,7 +100,7 @@ You can replay the collected demonstrations by running the following command:
100100

101101
.. code:: bash
102102
103-
uv run --extra teleop isaaclab teleop replay \
103+
uv run --extra teleop,isaacsim isaaclab teleop replay \
104104
--task IsaacContrib-PickPlace-GR1T2-Abs \
105105
--visualizer kit \
106106
--device cpu \
@@ -271,7 +271,7 @@ generated using Isaac Lab Mimic for the ``Isaac-NutPour-GR1T2-Pink-IK-Abs-Mimic-
271271

272272
.. code:: bash
273273
274-
uv run --extra teleop isaaclab teleop record \
274+
uv run --extra teleop,isaacsim isaaclab teleop record \
275275
--task IsaacContrib-NutPour-GR1T2-Pink-IK-Abs \
276276
--visualizer kit \
277277
--device cpu \
@@ -427,7 +427,7 @@ Follow the same data collection, annotation, and generation process as demonstra
427427

428428
.. code:: bash
429429
430-
uv run --extra teleop isaaclab teleop record \
430+
uv run --extra teleop,isaacsim isaaclab teleop record \
431431
--device cpu \
432432
--xr \
433433
--visualizer kit \
@@ -443,7 +443,7 @@ Follow the same data collection, annotation, and generation process as demonstra
443443

444444
.. code:: bash
445445
446-
uv run --extra teleop isaaclab teleop replay \
446+
uv run --extra teleop,isaacsim isaaclab teleop replay \
447447
--device cpu \
448448
--visualizer kit \
449449
--task IsaacContrib-PickPlace-Locomanipulation-G1-Abs \

docs/source/overview/imitation-learning/skillgen.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ Download and Setup
173173

174174
.. code:: bash
175175
176-
uv run --extra teleop isaaclab teleop record \
176+
uv run --extra teleop,isaacsim isaaclab teleop record \
177177
--task IsaacContrib-Stack-Cube-Franka-IK-Rel-Skillgen \
178178
--teleop_device spacemouse \
179179
--dataset_file ./datasets/dataset_skillgen.hdf5 \

0 commit comments

Comments
 (0)