ARES: Agentic Research & Evaluation Suite
ARES is an RL-first framework for training and evaluating LLM agents, especially coding agents.
It is a modern gym: the environment layer powering RL research.
ARES treats LLMRequests as observations and LLMResponses as actions within the environment, so you can focus on training just the LLM - not the Code Agent surrounding it. The interface is entirely async, and supports scaling up to hundreds or thousands of parallel environments easily - check out example 3 to run this yourself.
Quick Start
Pre-requisites
- Python >= 3.12
Getting Started
Install with uv:
uv add martian-ares
ARES comes packaged with useful presets for different code agent & environment configurations. List them with:
uv run python -c "import ares; print(ares.list_presets())"
You can get started by using this minimal loop to run mini-swe-agent on SWE-bench Verified sequentially.
Note: to run this particular example you will need:
- Docker (with the daemon running)
- A Martian API key (see below)
import asyncio
import ares
from ares import llms
async def main():
# This requires `CHAT_COMPLETION_API_KEY` to be set with a Martian API key--see below.
agent = llms.ChatCompletionCompatibleLLMClient(model="openai/gpt-5-mini")
async with ares.make("sbv-mswea") as env:
ts = await env.reset()
while not ts.last():
action = await agent(ts.observation) # observation = LLM request
ts = await env.step(action) # action = LLM response
print(f"{action}\n{ts}")
if __name__ == "__main__":
asyncio.run(main())
To run the example above you'll need a Martian API key set in your .env file. To get a key:
- Go to https://app.withmartian.com
- on the
Billingtab, add a payment method + top up some credits. - on the
API Keystab create an API key. - write
CHAT_COMPLETION_API_KEY={your-key}in your.env
Alternatively, you can use another chat completions-compatible endpoint by setting both:
CHAT_COMPLETION_API_BASE_URLCHAT_COMPLETION_API_KEY
Next Steps
Metadata
Release files for martian-ares 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| martian_ares-0.1.0.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| martian_ares-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / martian_ares-0.1.0.tar.gz
| Download URL | martian_ares-0.1.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
18cca8ad2d1c862843af3c9066f0982434e0c0fa7cd0c7a99b5cd35e9336b31c
|
|
BLAKE2b-256 checksum How to use checksums |
964f6e6bddb577c690e8cccc4fe40ba4ca1e0ac554fc3dae28f8a2f781f4bea5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / martian_ares-0.1.0-py3-none-any.whl
| Download URL | martian_ares-0.1.0-py3-none-any.whl |
|---|---|
| Size | 141.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
50d6a23c7bc6704b517f6bfc99b5f38aa35bb9c4b73f89fd75a1428bd03df39b
|
|
BLAKE2b-256 checksum How to use checksums |
036b2e792a0d16d5143fcbfc000cf11b5923c1662881ebb7d65bebbadd975797
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|