Skip to main content
rlcli requires Python 3.11 or later. This page covers installing the package, choosing the right extras for your workflow, and preparing the tools and environment that rlcli serve and rlcli train depend on.

Install rlcli

Base install

The base package includes the CLI framework, HTTP client, and Tinker SDK client:
Base dependencies: click>=8.1, httpx>=0.27, tinker==0.25.0.

With training extras

To enable rlcli train and rlcli serve, install with the [train] extras. This pulls the pinned tinker-cookbook commit, plus sympy, pylatexenc, math-verify, and modal:

Development extras

For running tests locally, add [dev]:
This installs pytest>=8.

Required tools

uv

rlcli serve requires uv because SkyRL’s engine relaunch mechanism only accepts servers started with uv run. See Architecture for why this matters. Install uv from https://docs.astral.sh/uv/getting-started/installation/.

Docker

rlcli train harbor uses Docker as the default sandbox (--sandbox docker). Install Docker and ensure your user can run containers. If you prefer Modal, install your Modal credentials separately; the Modal SDK is already bundled with [train].

Platform and backend requirements

Choose jax if you are on macOS or do not have CUDA. Choose fsdp or megatron for full fused-loss training on Linux with NVIDIA GPUs.

Environment variables

Verify the installation

After installing, confirm the CLI is available:
You should see the installed version printed. If you installed [train], you can also verify: