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.0.tar.gz (37.6 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.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file benchspan-0.1.0.tar.gz.

File metadata

  • Download URL: benchspan-0.1.0.tar.gz
  • Upload date:
  • Size: 37.6 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.0.tar.gz
Algorithm Hash digest
SHA256 d29ab6693df839d3ebc7ba182eddc5c92d0b5ace13c1f06d0971c4857bad8ae9
MD5 4af4b61f96f3abaf13ce940f718f4c23
BLAKE2b-256 1d3e68ec260b03a8088864005b3944ec4d2e151f7e38bfe8dcd18bec582ec574

See more details on using hashes here.

File details

Details for the file benchspan-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: benchspan-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 af5d07ebd0a9cb967deccd37b3668f800f1af49e06eed22e095d3765b12fbdaf
MD5 ef5c46aec372504731b1424d73019dc6
BLAKE2b-256 8b59e09f6228872f82e3c48d7085e90af8f6135abdbaa9a3cd83666a1dbf77b6

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