[Docker] Call the isaaclab console script directly in the images - #7503
Draft
hujc7 wants to merge 1 commit into
Draft
[Docker] Call the isaaclab console script directly in the images#7503hujc7 wants to merge 1 commit into
hujc7 wants to merge 1 commit into
Conversation
Review feedback on isaac-sim#7405: the images went through ``isaaclab.sh -p`` for every Python invocation. Putting the environment on PATH makes the console script directly callable, so the call sites read ``isaaclab -p`` -- shorter than the launcher path, with no wrapper. ``uv run`` was the other option but needs ``--frozen --no-sync --project`` to match: without them it re-resolves the project on every call, and it warns when invoked outside the project directory. Measured 124 ms against 110 ms per call. ``install_deps.py apt`` moves below the workspace install. It ran before it, where the console script cannot import its own package, and nothing between the two steps needs apt first: the third-party packages are already installed and the workspace members are pure-Python editables. Two aliases go with it. ``isaaclab`` shadowed the console script now on PATH, and ``tensorboard`` was an explicit path into the environment. ``isaaclab.sh`` itself still ships and is unchanged; this only changes how the images reach it.
hujc7
force-pushed
the
jichuanh/docker-isaaclab-console-entrypoint
branch
from
September 3, 2026 17:05
54eae88 to
37a562c
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.
Summary
The Docker images call
isaaclab.sh -pfor every Python invocation. Putting the environmenton
PATHmakes theisaaclabconsole script directly callable, so the call sites readisaaclab -p— shorter than the launcher path, with no wrapper.Description
Follow-up to a review comment asking what it would take to remove
isaaclab.sh -pfrom theimages:
#7405 — [Docker] Install the Docker images from uv.lock (merged)
ENV PATH="${VENV_PATH_ARG}/bin:${PATH}"— placed below the install layers, which itwould otherwise invalidate. Nothing is shadowed:
python3,pip3andisaaclabare not onPATHin the current images at all.uv runwas the alternative and needs--frozen --no-sync --projectto behave the same:without them it re-resolves the project on every call and warns when invoked outside it.
Measured 124 ms against 110 ms per call, for a longer line.
install_deps.py aptmoves below the workspace install. It ran before it, where theconsole script cannot import its own package. Nothing between the two steps needs apt
first — the third-party packages are already installed and the workspace members are
pure-Python editables.
isaaclabshadowed the console script once it is onPATH, andtensorboardwas an explicit path into the environment.isaaclab.shstill ships and is unchanged; this only changes how the images reach it.Type of change
isaaclabonPATH; no public API changesRelease backport
developChecklist
pre-commitchecks with./isaaclab.sh --formatisaaclab.shentrypoint still ships and is unchangedisaaclab -pimportsisaacsim, the prebundle repoint still runs, and no prebundled package is left danglingdocker/onlyCONTRIBUTORS.mdor my name already exists there