Installation
Requirements, pip and from-source installs, the optional extras, and ROCm setup for AMD GPUs.
Requirements
- Python >= 3.12. Versions 3.12 and 3.13 are verified in continuous integration.
- Linux or macOS for the MuJoCo backend. Both are exercised in continuous integration.
Install with pip
pip install so101-nexusInstall from source
Clone the repository, then sync with uv:
git clone https://github.com/johnsutor/so101-nexus.git
cd so101-nexus
uv syncVerify the install
import gymnasium as gym
import so101_nexus.mujoco # registers the MuJoCo env ids
env = gym.make("MuJoCoPickLift-v1")
print("Installation OK")
env.close()Extras
The base install ships the MuJoCo backend and the environment API. Everything else is opt-in.
| Extra | Adds | Install |
|---|---|---|
teleop | Gradio demonstration recorder: lerobot[feetech], gradio, plotly, opencv-python | pip install "so101-nexus[teleop]" |
decomp | Convex decomposition of YCB collision meshes (coacd, threadpoolctl). Without it YCB collision geometry falls back to a single convex hull. coacd ships wheels for Linux x86_64/aarch64, macOS arm64 and Windows x86_64 | pip install "so101-nexus[decomp]" |
train | Torch training dependencies for the PPO and BC examples | pip install "so101-nexus[train]" |
warp | GPU-parallel MuJoCo Warp backend. Needs an NVIDIA GPU and CUDA >= 12.4 | pip install "so101-nexus[warp]" |
rocm | PyTorch from AMD's ROCm 7.2 wheel index. See below | uv sync --extra train --extra rocm --no-default-groups |
Extras combine: pip install "so101-nexus[teleop,train]".
Try without installing
uvx runs the teleop recorder in an ephemeral environment with no permanent install:
uvx --from "so101-nexus[teleop]" so101-nexus teleopTraining on an AMD GPU (ROCm)
The rocm extra installs PyTorch from the ROCm 7.2 wheel index instead of the default CUDA build, on Linux x86_64:
uv sync --extra train --extra rocm --no-default-groups--no-default-groups skips the dev dependency group. dev pins lerobot<0.6 for the test suite, which in turn forces torch<2.11, a range incompatible with the ROCm 7.2 torch build. For the same reason uv rejects combining rocm with teleop, dev, or test.
rocm affects MuJoCo-backend training only, meaning behavior cloning and PPO on CPU-simulated environments. It does not enable the Warp backend: Warp is built on NVIDIA Warp, which has no ROCm/AMD support and always requires a CUDA GPU.