Skip to main content

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:

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

benchspan-0.1.1.tar.gz (38.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

benchspan-0.1.1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

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

Hashes for benchspan-0.1.1.tar.gz
Algorithm Hash digest
SHA256 661020969c07813555538caa07b051305edd8ef844562efaa235b36aa7717adc
MD5 e223f15885985b45389ddb6e793f34f0
BLAKE2b-256 a147859025b667091aa421d82f03c48c94bd2b69f740adba576dd675bb78a3e0

See more details on using hashes here.

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

Hashes for benchspan-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 faf31e7803623224d5fa30619cc4c1b21ef0e375825df3605404b5b29f367824
MD5 9e333610b39781c99bc95f3c9cf53510
BLAKE2b-256 ef53f151e12efe1f9d93d11035f822749ec49865a3e8a6dc9e544a5663965e8c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page