Installation

Solarian targets Python 3.10+. The recommended setup uses a conda environment for isolation and either pip or uv for installing packages.

1. Create a Python environment

conda create -n solarian python=3.10
conda activate solarian

2. Install FFmpeg

FFmpeg is required for video encoding (recording, dataset conversion). Install it once via conda or your system package manager:

conda install ffmpeg=7.1.1 -c conda-forge

3. Install Solarian

The fastest path is to install from PyPI. To hack on Solarian itself, clone the repository and use an editable install.

pip install solarian

After installation you should have two scripts on your PATH:

solarian --help          # main CLI
create-solarian --help   # project scaffolder

4. (Optional) Install extras

Solarian ships three optional dependency groups:

pip install "solarian[ai]"

The ai extra installs PyTorch, torchvision, datasets, ultralytics, einops, openai, and Weights & Biases. The sim extra installs gymnasium, MuJoCo, and dm_control.

Platform-specific notes

macOS on Apple Silicon (arm64)

The atomics package only publishes x86_64 wheels, and the macOS one installs on Apple Silicon and then fails at dlopen. It has to be built from source. uv does that on its own (no-binary-package in pyproject.toml); under plain pip, from a checked-out source tree:

pip install -r requirements-macos-arm64.txt

If you also installed the ai extra, install xformers separately for compatible wheels:

pip install xformers==0.0.31.post1

Linux (Ubuntu / Debian)

Make sure you have build tooling and CUDA (if you intend to run policies on a GPU):

sudo apt-get install build-essential cmake libusb-1.0-0

For real-time control, lower the kernel scheduler latency or run Solarian with chrt/nice. See the Modules page for guidance on per-module rates.

On the robot itself

Robot-side installs typically only need the base package (no AI, no simulation):

pip install solarian

Then run solarian run-robot from the project directory. You do not need a GUI on the robot — Solarian's robot loop is headless.

Verify the installation

python -c "import solarian; print(solarian.__name__, 'OK')"
solarian --help

You should see the Solarian CLI help with grouped command categories (Project, Robot, Controller, Recording & Replay, Training & Data, Utilities).

Next steps

Was this page helpful?