SO101-Nexus
Get Started

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-nexus

Install from source

Clone the repository, then sync with uv:

git clone https://github.com/johnsutor/so101-nexus.git
cd so101-nexus
uv sync

Verify 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.

ExtraAddsInstall
teleopGradio demonstration recorder: lerobot[feetech], gradio, plotly, opencv-pythonpip install "so101-nexus[teleop]"
decompConvex 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_64pip install "so101-nexus[decomp]"
trainTorch training dependencies for the PPO and BC examplespip install "so101-nexus[train]"
warpGPU-parallel MuJoCo Warp backend. Needs an NVIDIA GPU and CUDA >= 12.4pip install "so101-nexus[warp]"
rocmPyTorch from AMD's ROCm 7.2 wheel index. See belowuv 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 teleop

Training 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.

Next steps

On this page