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.5.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.5.0
File Size Uploaded
agilerl_arena-1.5.0.tar.gz 124.9 kB Details

Built distribution (wheel)

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

Total release size: 283.7 kB

Release files / agilerl_arena-1.5.0.tar.gz

Download URL agilerl_arena-1.5.0.tar.gz
Size 124.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f1e8e924dda2cda3fe1de21151403a4c7ccd055b2a508a55860aac5c9cf90274
BLAKE2b-256 checksum
How to use checksums
f03f4f9fbec395dfe00705b5fdae136cf50d51a15a34a132161185f037fb98fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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.5.0-py3-none-any.whl

Download URL agilerl_arena-1.5.0-py3-none-any.whl
Size 158.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4edd9f3cc08336977e00521364e119214241eaec32cd705342e73adcb177c17a
BLAKE2b-256 checksum
How to use checksums
2dbb87c59fb74c610a4d494ca1ad9670ff34e7d8a826bb9e35ebebb5b80ed471
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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