Run agentic benchmarks end-to-end
Project description
Benchspan
Run agentic benchmarks end-to-end. One CLI to evaluate any AI agent against 40+ benchmarks with parallel cloud execution, reproducible environments, and a team dashboard.
Install
pip install benchspan
Requires Python 3.11+.
Quick start
# Login to your Benchspan account
benchspan login
# Scaffold a new agent
benchspan init ./my-agent
# Edit my-agent/runner.sh to invoke your agent, then run:
benchspan run --benchmark swebench --agent ./my-agent --instances 10
Your agent runs in parallel Docker containers on Benchspan's infrastructure. Results stream to your terminal and appear on the dashboard.
Built-in agents
Benchspan ships with pre-configured agents you can use immediately:
# List available agents
benchspan agents
# Run with Claude Code
benchspan run --benchmark swebench --agent claude-code --instances 10
# Run with OpenHands
benchspan run --benchmark swebench --agent openhands --instances 10
Set the required API keys on your dashboard under Profile > Secrets.
Writing an agent
An agent is a directory with a runner.sh. Benchspan injects it into a benchmark container and runs it:
#!/bin/bash
# Available environment variables:
# $PROBLEM_STATEMENT — what to solve (natural language)
# $WORKING_DIR — where to do your work
# $OUTPUT_DIR — where to write outputs
# $INSTANCE_ID — unique instance identifier
cd "$WORKING_DIR"
# Invoke your agent here
If your agent can read a problem statement and write code, it works on Benchspan. See the full guide for patterns and best practices.
Benchmarks
40+ benchmarks available out of the box:
# List all benchmarks
benchspan benchmarks list
# List instances for a benchmark
benchspan benchmarks instances swebench
# Run with a subset
benchspan run --benchmark swebench.django --agent ./my-agent
Includes SWE-bench, HumanEval, Terminal-Bench, BFCL, SimpleQA, and many more.
Managing runs
# List your runs
benchspan runs list
# List all team runs
benchspan runs list --all
# Show run details
benchspan runs show <run_id>
# Compare two runs side-by-side
benchspan runs compare <run_a> <run_b>
# Watch a running benchmark
benchspan runs watch <run_id>
# Cancel a run
benchspan runs cancel <run_id>
# Retry failed instances
benchspan retry <run_id> --agent ./my-agent
Key features
- Parallel execution — hundreds of instances run simultaneously, not sequentially
- Resume on failure — retry only failed instances, don't re-run the whole suite
- Reproducible — every instance runs in an identical Docker container
- Team dashboard — all results in one place at benchspan.com
- Any agent — if it runs via bash, it works on Benchspan
- Private benchmarks — bring your own proprietary benchmarks
Documentation
Full documentation at docs.benchspan.com, including:
- Quickstart — up and running in 5 minutes
- Writing runner.sh — agent integration patterns
- Healthcheck testing — validate your agent before running real benchmarks
- CLI reference — all commands and options
- Troubleshooting — common issues and fixes
Links
Project details
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 benchspan-0.1.1.tar.gz.
File metadata
- Download URL: benchspan-0.1.1.tar.gz
- Upload date:
- Size: 38.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
661020969c07813555538caa07b051305edd8ef844562efaa235b36aa7717adc
|
|
| MD5 |
e223f15885985b45389ddb6e793f34f0
|
|
| BLAKE2b-256 |
a147859025b667091aa421d82f03c48c94bd2b69f740adba576dd675bb78a3e0
|
File details
Details for the file benchspan-0.1.1-py3-none-any.whl.
File metadata
- Download URL: benchspan-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
faf31e7803623224d5fa30619cc4c1b21ef0e375825df3605404b5b29f367824
|
|
| MD5 |
9e333610b39781c99bc95f3c9cf53510
|
|
| BLAKE2b-256 |
ef53f151e12efe1f9d93d11035f822749ec49865a3e8a6dc9e544a5663965e8c
|