---
title: Overview
description: The SO101-Nexus library and how it fits together.
---

SO101-Nexus is a single installable library, `so101-nexus`, for the SO-101 robot learning workflow: record demonstrations, save LeRobot-compatible datasets, run Gymnasium environments, and train or evaluate policies.

Install it with:

```bash
pip install so101-nexus
```

## How it fits together

1. **Teleoperate.** Drive a simulated follower with a physical SO-100 or SO-101 leader arm.
2. **Record.** Save demonstrations as LeRobot datasets with SO follower state/action units and camera fields.
3. **Evaluate and train.** Use Gymnasium-compatible SO-101 tasks for policy evaluation, PPO baselines, and RL fine-tuning.
4. **Customize.** Adjust objects, distractors, cameras, rewards, observations, and task descriptions as the curriculum grows.

## Package layout

The shared API for configuration, rewards, observations, scene objects, teleop, processors, policy adapters, and the LeRobot adapter lives at the top level under `so101_nexus`. The MuJoCo backend lives at `so101_nexus.mujoco`.

Importing the MuJoCo backend registers its environments with Gymnasium:

```python
import so101_nexus.mujoco  # registers MuJoCo envs
```

After importing, create environments with `gymnasium.make()`.

## Backend

MuJoCo is the default simulation backend. It provides all five tasks (PickLift, PickAndPlace, Touch, LookAt, Move) on the SO-101 arm, fast single-environment simulation with a live viewer, and custom mesh objects (`MeshObject`). An optional MuJoCo Warp backend (`so101-nexus[warp]`) provides the same five tasks as GPU-parallel batched vector environments for large-scale RL.

## Next Steps

- [End-to-end workflow](/docs/workflow/overview) -- record demonstrations, clone with BC, then reinforce with RL
- [Installation](/docs/getting-started/installation) -- install the library
- [Teleoperation](/docs/teleoperation/overview) -- record demonstrations with a physical leader arm
- [MuJoCo Quickstart](/docs/getting-started/quickstart-mujoco) -- run your first environment
- [Training with PPO](/docs/training/ppo) -- train a baseline policy
