agilerl-arena
agilerl-arena is the standalone Arena SDK + CLI package for AgileRL.
It provides:
- Python client for Arena workflows (auth, environment validation, experiment submission, deployment, inference)
arenaCLI for scripting and CI usage- The training manifest schema (
agilerl.arena.models): the Pydantic models every runtime trains from, plusarena manifest validateandarena manifest schema
This package is distributed independently from core agilerl, but exposes modules through the shared namespace:
from agilerl.arena import ArenaClient, Agent
from agilerl.arena.models import TrainingManifest
Core agilerl re-exports those models and adds only what a local run needs (environment construction, a buildable replay buffer).
Installation
Install the SDK and CLI on their own (no torch):
pip install agilerl-arena
Core agilerl depends on this package, so pip install agilerl includes it.
Quickstart
1) Authenticate
Preferred for CI/automation:
export ARENA_API_KEY="arena_pat_..."
Or interactive login:
arena login
2) Validate a training manifest
arena manifest validate path/to/manifest.yaml
arena manifest schema
3) Validate an environment
arena env validate --source path/to/my_env.py --name my-env
4) Submit a training manifest
arena experiments submit path/to/manifest.yaml --project my-project
Python SDK example
from agilerl.arena import ArenaClient
from agilerl.arena.models import TrainingManifest
client = ArenaClient() # uses ARENA_API_KEY if set
TrainingManifest.get_validated("dqn.yaml")
client.validate_environment(
source="acrobot.py",
name="acrobot-env",
)
result = client.submit_experiment(
manifest="dqn.yaml",
resource_id="arena-medium",
project="my-project",
)
print(result)
Inference example
Inference uses the same credential as the rest of the CLI: a personal access token
from Profile then CLI API key, or the token arena login stores. Agent picks up
ARENA_API_KEY when you pass no api_key.
from agilerl.arena import Agent
agent = Agent("https://<deployment-id>.inference.agilerl.com", api_key="arena_pat_...")
action, _ = agent.get_action(observation)
Chat sessions
LLM deployments keep chat history, and the CLI keeps track of which conversation you are in. The first prompt starts one and later prompts carry on from it:
arena agent run my-chat-model
arena agent generate --prompt "My name is Sam."
arena agent generate --prompt "What is my name?"
Start a fresh conversation with --new-session, or end the current one with
arena agent sessions clear so the next prompt starts anew.
To move between conversations, arena agent sessions resume lists what is
stored and lets you pick one with the arrow keys:
arena agent sessions list # what is stored, current one marked
arena agent sessions resume # arrow keys, Enter to pick
arena agent sessions get <session-id> # read a transcript
arena agent sessions delete <session-id> # remove one for good
Who a session belongs to follows the deployment's memory scope, chosen on the
first deploy with arena agent deploy <experiment> --memory-scope user|organization.
It defaults to user and cannot be changed later.
Notes on packaging and imports
- Distribution name:
agilerl-arena - Python import namespace:
agilerl.arena - CLI command:
arena
agilerl-arena and agilerl intentionally share the agilerl.* namespace as separate packages.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agilerl_arena-1.0.0.tar.gz.
File metadata
- Download URL: agilerl_arena-1.0.0.tar.gz
- Upload date:
- Size: 123.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4689723e43dcc950c2856a28e66136ca3467688d5804433844954f2a1de9a607
|
|
| MD5 |
37c8034231c87f54db9088d2c20af1c2
|
|
| BLAKE2b-256 |
750cfea2c3975087f98c75ecd35abc94f3ff0de62fbe6131ab4089210bacff9d
|
File details
Details for the file agilerl_arena-1.0.0-py3-none-any.whl.
File metadata
- Download URL: agilerl_arena-1.0.0-py3-none-any.whl
- Upload date:
- Size: 156.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b1a651fe73510022a182f49e5ef40927f741d74ac48236a02498221a7bd3be5
|
|
| MD5 |
ec061241a0e59e6d2da34c52a9f9b3c3
|
|
| BLAKE2b-256 |
7f3977496e817e6d94e4a685660d75dc18561a2c3a56706cb0c4f9efe38222c7
|