unisim.backend.isaacgym.dependencies

Runtime discovery for the out-of-process IsaacGym (Preview 4) worker.

IsaacGym only supports Python 3.6-3.8 and can never be installed into the main UniLab environment (Python >= 3.10). Physics therefore runs in a dedicated conda env created by scripts/tools/setup_isaacgym_env.sh under $UNISIM_ISAACGYM_HOME (default ~/.cache/unisim/isaacgym):

  • miniconda3/envs/hsgym/bin/python3.8 — the worker interpreter,

  • miniconda3/envs/hsgym/lib — prepended to the worker’s LD_LIBRARY_PATH (conda libstdcxx-ng fixes the GLIBCXX mismatch),

  • miniconda3/envs/hsgym/bin — prepended to the worker’s PATH so the pip-installed ninja is reachable for the one-time gymtorch JIT compile,

  • isaacgym/python — appended to the worker’s sys.path.

UNISIM_ISAACGYM_PYTHON overrides the interpreter path explicitly.

The former UNILAB_* names remain accepted as a migration fallback.

Functions

build_worker_env(runtime)

Build the worker process environment.

default_isaacgym_home()

Return the default IsaacGym install root (including legacy override).

isaacgym_runtime_available()

Return True when the worker runtime resolves without raising.

resolve_isaacgym_runtime([python_override])

Resolve the worker interpreter and IsaacGym package locations.

Classes

IsaacGymRuntime

Resolved on-disk locations for the Python 3.8 IsaacGym worker.

Exceptions

IsaacGymDependencyError

Raised with an actionable setup hint when the worker runtime is absent.

exception unisim.backend.isaacgym.dependencies.IsaacGymDependencyError[source]

Bases: OptionalDependencyError

Raised with an actionable setup hint when the worker runtime is absent.

class unisim.backend.isaacgym.dependencies.IsaacGymRuntime[source]

Bases: object

Resolved on-disk locations for the Python 3.8 IsaacGym worker.

Parameters:
python: Path
isaacgym_python: Path
lib_path: Path
__init__(python, isaacgym_python, lib_path)
Parameters:
unisim.backend.isaacgym.dependencies.build_worker_env(runtime)[source]

Build the worker process environment.

Prepends the conda env’s lib to LD_LIBRARY_PATH (the libstdcxx-ng GLIBCXX fix and libpython3.8) and its bin to PATH (the pip-installed ninja must be reachable for the one-time gymtorch JIT compile on a fresh machine).

Parameters:

runtime (IsaacGymRuntime)

Return type:

dict[str, str]

unisim.backend.isaacgym.dependencies.default_isaacgym_home()[source]

Return the default IsaacGym install root (including legacy override).

Return type:

Path

unisim.backend.isaacgym.dependencies.isaacgym_runtime_available()[source]

Return True when the worker runtime resolves without raising.

Return type:

bool

unisim.backend.isaacgym.dependencies.resolve_isaacgym_runtime(python_override=None)[source]

Resolve the worker interpreter and IsaacGym package locations.

Raises:

IsaacGymDependencyError – If any required component is missing.

Parameters:

python_override (str | None)

Return type:

IsaacGymRuntime