Skip to main content

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)
  • arena CLI for scripting and CI usage
  • The training manifest schema (agilerl.arena.models): the Pydantic models every runtime trains from, plus arena manifest validate and arena 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.

Release files for agilerl-arena 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agilerl-arena 1.1.0
File Size Uploaded
agilerl_arena-1.1.0.tar.gz 123.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agilerl-arena 1.1.0
File Interpreter ABI Platform
agilerl_arena-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 280.4 kB

Release files / agilerl_arena-1.1.0.tar.gz

Download URL agilerl_arena-1.1.0.tar.gz
Size 123.4 kB
Tags Source
SHA-256 checksum
How to use checksums
194dfa1ea8b4fb75f42b62b48964c0a0b2c0554920c9554e7f791d2f3d5139fc
BLAKE2b-256 checksum
How to use checksums
2281c53d7b4dba03d71937be09acbce38ff2274b6ab0f7ef30a5de7aba703386
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / agilerl_arena-1.1.0-py3-none-any.whl

Download URL agilerl_arena-1.1.0-py3-none-any.whl
Size 157.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4754b9fe896fb52b296db09a1c07edd9fd516906a0736508ba7f2200ce58199d
BLAKE2b-256 checksum
How to use checksums
8e183f76fbf910c21882f52d0fb841f0ada8a50412875a9f51a982974c909672
Upload date
Uploaded using Trusted Publishing?
What is 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}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page