Skip to main content

agent-eval-runner

Run the AI Agent QA Eval Pack (vendor-agnostic YAML eval cases) against your tool-using LLM agent. Deterministic checks — no LLM-as-judge — so the report is defensible for production sign-off. Cross-platform (pure Python: Win / macOS / Linux).

See your agent break in one command (zero config)

pip install "agent-eval-runner[openai]"
export OPENAI_API_KEY=sk-...
agent-eval try --model openai:gpt-4o

No clone, no setup, no adapter — 5 OWASP-Agentic-aligned cases ship inside the package. try runs them against your model and shows you exactly how your agent breaks. (For Claude: pip install "agent-eval-runner[anthropic]" + agent-eval try --model anthropic:claude-sonnet-4-6.)

Real usage (all 5 case types, incl. tool-trace assertions)

Write a 10-line adapter wrapping your agent:

# my_adapter.py
from agent_eval_runner import AgentResult, ToolCall

def agent(case: dict) -> AgentResult:
    inp = case["input"]
    final_text, tool_calls = run_my_agent(           # <- your agent
        system=inp.get("system_message"),
        user=inp["user_message"],
        context=inp.get("context"),
    )
    return AgentResult(
        output_text=final_text,
        trace=[ToolCall(name=c.name, args=c.args) for c in tool_calls],
    )
agent-eval run --cases ./cases --adapter my_adapter:agent --report signoff.md

Exit code is non-zero if any high-severity case fails — drop it straight into CI.

What it checks

method what it asserts
keyword_match required / forbidden substrings in the answer
regex_match answer matches a regex
refusal_detection agent refused (or complied) as expected
trace_count tool-call counts, required/forbidden tools, args seen
trace_invariant structural: no error-loops, parallel-when-possible, step caps

Output

  • Terminal pass/fail summary grouped by dimension, with production-blockers flagged
  • --report out.md → a Markdown sign-off report (share with your team / customer)

Full 23-case pack: https://weiseer.gumroad.com/l/dcipxt · Free 5-case starter: https://github.com/weiseer/ai-agent-qa-eval-pack-starter

Metadata

Release files for agent-eval-runner 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-eval-runner 0.3.1
File Size Uploaded Provenance Actions
agent_eval_runner-0.3.1.tar.gz 16.7 kB Without provenance Details for agent_eval_runner-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agent-eval-runner 0.3.1
File Interpreter ABI Platform Actions
agent_eval_runner-0.3.1-py3-none-any.whl Python 3 none any Details for agent_eval_runner-0.3.1-py3-none-any.whl

Total release size: 39.8 kB

Release files / agent_eval_runner-0.3.1.tar.gz

Download URL agent_eval_runner-0.3.1.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f21715c8be2bbec20c1c70a56f06b8fed4f1c7f4a130267aa8ab98a8d1b79d23
BLAKE2b-256 checksum
How to use checksums
98ea5c76bbd8a69dfac715a56bdee1e94e35ac592793a6f84d9b43450e4660d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / agent_eval_runner-0.3.1-py3-none-any.whl

Download URL agent_eval_runner-0.3.1-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2ad1ce66cf8f575c6d01d476e3b5fc434cb935f698c53d7d8d7b2985caa18fc
BLAKE2b-256 checksum
How to use checksums
9856488a08b2375ae4a1feae540d0bf6173c4f47cd3d622cb40681a82edd7939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Security for agent-eval-runner 0.3.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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