Skip to content

Installation

Install the Client SDK

armnet-client is what you install on your own machine, a CI runner, or anywhere else you submit jobs from:

pip install armnet-client

It pulls in armnet-core automatically. Three optional extras are available:

pip install 'armnet-client[teleop]'   # local leader arm for remote teleoperation
pip install 'armnet-client[viz]'      # live Rerun viewer
pip install 'armnet-client[local]'    # run a runtime in-process with execute_local()
pip install 'armnet-client[current-gate]' # derive current safety profiles from HF datasets

For code that runs inside your container, install the runtime package instead:

pip install armnet-runtime

Custom runtime code that submits results directly to the shared leaderboard also needs the lightweight Hugging Face extra:

pip install 'armnet-runtime[leaderboard]'

Managed evaluation images already include the Hugging Face client through their policy stack, so this extra is only needed when building your own minimal runtime image.

The client and the runtime are independent on purpose: submitting jobs never needs the runtime, and a container never needs the client, so neither pulls the other's dependencies in. The one exception is execute_local(), which runs your @main function in your own process and therefore needs both — hence the [local] extra.

Configure Your API Key

The client SDK and the armnet CLI both read one environment variable:

export ARMNET_API_KEY="..."

API keys are issued by Armnet — contact us for access. Check that yours works:

armnet whoami

That prints the username your key belongs to. Everything you create — secrets, volume data, jobs — is scoped to that user.

A .env file in your working directory is also picked up, which is convenient for local development:

ARMNET_API_KEY=...

You do not need to configure a server URL. The orchestrator endpoint is baked into the SDK.

LeRobot Versions

Armnet integrates with LeRobot at the low-level bus, camera, and robot layer, whose API is stable across releases, so both LeRobot 0.5.x and 0.6.x work inside your runtime containers. armnet-runtime does not pin LeRobot at all — install whichever version your policy needs.

The managed evaluation commands (armnet-lerobot-eval, armnet-policy-eval, and friends) build their own images and currently pin lerobot==0.5.1, which is the tested configuration for those paths.

Next Steps