Skip to main content

agent-evals

ci python license

agent-evals hero

An evaluation harness for AI agents. Define tasks in YAML, run them against pluggable agent runners, score the answers, capture full step-by-step traces, and track regressions run over run.

Quickstart

pip install -e .
agent-evals run --suite builtin --runner mock
Running 10 tasks with runner 'mock'...
run id: 9f3c1a2b4d5e
  [PASS] chained_calc                score=1.00 steps=3
  ...
Result: 10/10 passed, avg score 1.00

Compare two runs and generate a report:

agent-evals run --suite builtin --runner mock --mock-mode flaky
agent-evals diff <run-a> <run-b>
agent-evals report <run-b> -o report.html --vs <run-a>

Or run the full demo: bash demo.sh

How it works

Tasks are YAML files: a prompt, whitelisted tools, and scoring checks. Ten built-in tasks ship with the harness, across math reasoning, JSON extraction, multi-step tool use, instruction following, and logic puzzles.

id: chained_calc
name: Chained calculation
category: tool_use
prompt: |
  A store sells notebooks for $4.50 each. A customer buys 6 notebooks and a 10%
  discount is applied to the total. What does the customer pay?
  Respond with only the number, rounded to 2 decimals.
tools: [calculator]
max_steps: 8
scoring:
  - type: exact_match
    expected: "24.30"

Runners decide the agent's next action. Two ship out of the box:

Runner Use
mock Deterministic scripted agent, for CI and offline runs. --mock-mode flaky fails two tasks on purpose, for diff demos.
http Any OpenAI chat-completions compatible endpoint. Set AGENT_EVALS_BASE_URL (plus AGENT_EVALS_API_KEY, AGENT_EVALS_MODEL).

Tool loop. The harness drives the agent loop and executes whitelisted tools: calculator (sandboxed arithmetic), kv_store (per-run key-value state), web_fetch (per-task stubbed responses, so evals stay offline).

Scorers. exact_match, contains, regex, json_schema, llm_judge (with a deterministic StubJudge for offline use), and python for custom module:function scorers. Checks are weighted and averaged per task.

Traces and history. Every step of every task is persisted to SQLite (.agent-evals/runs.db by default), exportable as JSONL. The CLI lists runs, shows per-task scores and full traces, diffs two runs (improved / regressed / unchanged with score deltas), and renders a single-file offline HTML report.

CLI reference

agent-evals run --suite builtin --runner mock [--mock-mode flaky] [--report out.html]
agent-evals list-tasks
agent-evals runs
agent-evals show <run-id> [--trace <task-id>] [--jsonl trace.jsonl]
agent-evals diff <run-a> <run-b>
agent-evals report <run-id> -o report.html [--vs <other-run-id>]

Project layout

agent_evals/
  tasks.py          YAML task loading and validation
  builtin_tasks/    10 shipped eval tasks
  runners.py        MockRunner, HttpRunner (OpenAI-compatible)
  tools.py          calculator, kv_store, web_fetch
  loop.py           agent tool-use loop
  scorers.py        exact_match, contains, regex, json_schema, llm_judge, python
  store.py          SQLite run history, traces, regression diffs
  report.py         single-file HTML report
  cli.py            command line interface
tests/              58 pytest tests
demo.sh             end-to-end demo: run, diff, report

Development

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q && ruff check . && ruff format --check . && mypy agent_evals

License

MIT. See LICENSE.

Metadata

Release files for provingground 0.1.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 provingground 0.1.0
File Size Uploaded Provenance Actions
provingground-0.1.0.tar.gz 27.5 kB With provenance Details for provingground-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for provingground 0.1.0
File Interpreter ABI Platform Actions
provingground-0.1.0-py3-none-any.whl Python 3 none any Details for provingground-0.1.0-py3-none-any.whl

Total release size: 54.1 kB

Release files / provingground-0.1.0.tar.gz

Download URL provingground-0.1.0.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
230eba3cfe8201952cbfd6c823a4d87d2e473285471d111f1e43394467e4c5ad
BLAKE2b-256 checksum
How to use checksums
7369af70c5e339389db4e9bb79f61c129643f64acd930bfb85222fd06b4d6b5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release files / provingground-0.1.0-py3-none-any.whl

Download URL provingground-0.1.0-py3-none-any.whl
Size 26.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
909ae7807e2d90c1d38f88fbbc69fd3a0de80133fb32eb93d27d2ecf558b1242
BLAKE2b-256 checksum
How to use checksums
62527a97f3d19097d9eff53928e0f052df2d27e2a71e41d0d4d7169a3df5cb58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Security for provingground 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for provingground-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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