> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryreflex.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install the rfx SDK and verify the runtime is ready.

## Package

<CodeGroup>
  ```bash uv (recommended) theme={null}
  uv pip install rfx-sdk
  ```

  ```bash pip theme={null}
  pip install rfx-sdk
  ```

  ```bash uv project theme={null}
  uv add rfx-sdk
  ```
</CodeGroup>

<Info>
  All CLI commands also work through `uv run` without a global install:
  `uv run rfx deploy runs/my-policy --robot so101`.
</Info>

## From source

```bash theme={null}
git clone https://github.com/quantbagel/rfx.git
cd rfx
bash scripts/setup-from-source.sh
```

`setup-from-source.sh` bootstraps a Python 3.13 virtualenv via `uv`, installs
dev dependencies, and builds the native `rfx._rfx` extension.

## Verify

```bash theme={null}
rfx doctor
```

The doctor command checks:

* Python version and `uv` availability
* `torch`, `yaml`, `rfx`, and the native extension import
* Simulation backends (Genesis, MuJoCo, mock)
* rfxJIT backends
* Serial ports for supported robots

Use `--strict` to fail on missing required dependencies:

```bash theme={null}
rfx doctor --strict
```

## Python version

rfx targets CPython **3.13**. Genesis simulation does not yet publish wheels
for 3.14 — use 3.13 if you rely on Genesis:

```bash theme={null}
uv run --python 3.13 rfx deploy runs/my-policy --robot so101
```

## Supported hardware

| Robot           | Type      | Interface                  | Status      |
| --------------- | --------- | -------------------------- | ----------- |
| **SO-101**      | 6-DOF arm | USB serial (Rust driver)   | Ready       |
| **Unitree Go2** | Quadruped | Ethernet (Zenoh transport) | Ready       |
| **Unitree G1**  | Humanoid  | Ethernet (Zenoh transport) | In progress |

Custom robots: implement `observe()` / `act()` / `reset()` or write a YAML
config.
