Catalog PyPI
PACKAGE EXPLORERView in registry

acp-evals

PyPI

Production-grade evaluation framework for Agent Communication Protocol (ACP) agents

acpagentsaievaluationllmperformancequalityreliabilitytesting
Versions collected1
Direct dependencies20From release 1.0.0
Last observed20 Oct, 18:22 UTC

README

Version 1.0.0 documentation

ACP Evals

Python 3.11+ License ACP Compatible

ACP Evals is an open framework for evaluating AI agents across accuracy, performance, and reliability dimensions.

Modern AI agents need comprehensive testing before deployment. ACP Evals provides production-grade evaluation using LLM-as-judge methodology, designed to integrate seamlessly with the BeeAI ecosystem and any ACP-compliant agent.

ACP Evals enables you to:

  • Measure response accuracy using configurable LLM judges
  • Track performance metrics including latency and memory usage
  • Validate tool usage patterns and error handling
  • Run batch evaluations for comprehensive test coverage
  • Generate detailed reports for continuous improvement

Core Concepts

ConceptDescription
AccuracyEvaluates response quality against expected outputs using LLM-as-judge methodology. Supports custom rubrics for domain-specific evaluation.
PerformanceMeasures latency, memory usage, and token efficiency. Essential for production deployments where speed and resource constraints matter.
ReliabilityValidates tool usage patterns, error handling, and consistency across runs. Critical for agents that interact with external systems.

Quick Example

Evaluate agent accuracy with just a few lines:

from acp_evals import AccuracyEval

evaluation = AccuracyEval(
    agent="http://localhost:8001/agents/my-agent",
    rubric="factual"
)

result = await evaluation.run(
    input="What is 10*5 then to the power of 2? do it step by step",
    expected="2500",
    print_results=True
)
assert result is not None and result.score >= 0.7

Core Features

Installation

pip install acp-evals

Quickstart

1. Configure your LLM provider

echo "OPENAI_API_KEY=your-key-here" > .env
acp-evals check

2. Run your first evaluation

# Test accuracy
acp-evals run accuracy http://localhost:8001/agents/my-agent \
  -i "What is 2+2?" -e "4"

3. Run comprehensive evaluation

acp-evals comprehensive http://localhost:8001/agents/my-agent \
  -i "Calculate compound interest" -e "Detailed calculation"

Examples

Performance Evaluation

from acp_evals import PerformanceEval

evaluation = PerformanceEval(
    agent="http://localhost:8001/agents/my-agent",
    num_iterations=5,
    track_memory=True
)

result = await evaluation.run(
    input_text="What is the capital of France?",
    print_results=True
)

Reliability Evaluation

from acp_evals import ReliabilityEval

evaluation = ReliabilityEval(
    agent="http://localhost:8001/agents/my-agent",
    tool_definitions=["search", "calculator"]
)

result = await evaluation.run(
    input="Search for AAPL price and calculate P/E ratio",
    expected_tools=["search", "calculator"],
    print_results=True
)
assert result.passed

Agent Formats

ACP Evals works with any agent implementation:

  • ACP-compliant agents: http://localhost:8001/agents/my-agent
  • Python functions: agent.py:function_name
  • Python modules: mymodule.agent_function

CLI Reference

# Check setup
acp-evals check

# Run evaluations
acp-evals run accuracy <agent> -i <input> -e <expected>
acp-evals run performance <agent> -i <input>
acp-evals run reliability <agent> -i <input> --expected-tools <tool>

# Comprehensive testing
acp-evals comprehensive <agent> -i <input> -e <expected>

# Batch testing
acp-evals run accuracy <agent> --test-file tests.jsonl

Resources

License

Apache 2.0 - see LICENSE


Developed by contributors to the BeeAI project, this initiative is part of the Linux Foundation AI & Data program. Its development follows open, collaborative, and community-driven practices.

Downloads & popularity

3downloads
1-day window · source-reported counts19 Oct 2026
54270
2026-07-23: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-07-23–2026-07-232026-07-27: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-07-27–2026-07-272026-08-01: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-02–2026-08-022026-08-03: 12 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-03–2026-08-032026-08-04: 7 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-04–2026-08-042026-08-05: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-05–2026-08-052026-08-06: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-06–2026-08-062026-08-07: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-07–2026-08-072026-08-09: 3 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-09–2026-08-092026-08-10: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-10–2026-08-102026-08-13: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-13–2026-08-132026-08-14: 5 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-14–2026-08-142026-08-17: 8 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-17–2026-08-172026-08-18: 54 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-18–2026-08-182026-08-19: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-19–2026-08-192026-08-20: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-20–2026-08-202026-08-23: 4 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-23–2026-08-232026-08-24: 12 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-24–2026-08-242026-08-28: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-28–2026-08-282026-08-31: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-08-31–2026-08-312026-09-01: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-01–2026-09-012026-09-03: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-03–2026-09-032026-09-05: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-05–2026-09-052026-09-06: 6 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-06–2026-09-062026-09-07: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-07–2026-09-072026-09-09: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-10–2026-09-102026-09-12: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-12–2026-09-122026-09-14: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-14–2026-09-142026-09-18: 3 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-18–2026-09-182026-09-22: 3 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-22–2026-09-222026-09-23: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-23–2026-09-232026-09-24: 4 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-24–2026-09-242026-09-25: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-25–2026-09-252026-09-26: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-26–2026-09-262026-09-27: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-27–2026-09-272026-09-28: 4 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-28–2026-09-282026-09-30: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-09-30–2026-09-302026-10-04: 4 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-04–2026-10-042026-10-05: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-05–2026-10-052026-10-06: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-06–2026-10-062026-10-08: 7 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-08–2026-10-082026-10-09: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-09–2026-10-092026-10-10: 4 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-10–2026-10-102026-10-12: 1 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-12–2026-10-122026-10-13: 2 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-13–2026-10-132026-10-19: 3 · observed 2026-10-20T20:06:17.9772607Z · period 2026-10-19–2026-10-19
23 Jul19 Oct

pypistats · 48 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-19 – 2026-10-1932026-10-20T20:06:17.9772607Z
2026-10-13 – 2026-10-1322026-10-20T20:06:17.9772607Z
2026-10-12 – 2026-10-1212026-10-20T20:06:17.9772607Z
2026-10-10 – 2026-10-1042026-10-20T20:06:17.9772607Z
2026-10-09 – 2026-10-0912026-10-20T20:06:17.9772607Z
2026-10-08 – 2026-10-0872026-10-20T20:06:17.9772607Z
2026-10-06 – 2026-10-0612026-10-20T20:06:17.9772607Z
2026-10-05 – 2026-10-0522026-10-20T20:06:17.9772607Z
2026-10-04 – 2026-10-0442026-10-20T20:06:17.9772607Z
2026-09-30 – 2026-09-3022026-10-20T20:06:17.9772607Z
2026-09-28 – 2026-09-2842026-10-20T20:06:17.9772607Z
2026-09-27 – 2026-09-2722026-10-20T20:06:17.9772607Z
2026-09-26 – 2026-09-2612026-10-20T20:06:17.9772607Z
2026-09-25 – 2026-09-2512026-10-20T20:06:17.9772607Z
2026-09-24 – 2026-09-2442026-10-20T20:06:17.9772607Z
2026-09-23 – 2026-09-2312026-10-20T20:06:17.9772607Z
2026-09-22 – 2026-09-2232026-10-20T20:06:17.9772607Z
2026-09-18 – 2026-09-1832026-10-20T20:06:17.9772607Z
2026-09-14 – 2026-09-1422026-10-20T20:06:17.9772607Z
2026-09-12 – 2026-09-1212026-10-20T20:06:17.9772607Z
2026-09-10 – 2026-09-1012026-10-20T20:06:17.9772607Z
2026-09-09 – 2026-09-0912026-10-20T20:06:17.9772607Z
2026-09-07 – 2026-09-0712026-10-20T20:06:17.9772607Z
2026-09-06 – 2026-09-0662026-10-20T20:06:17.9772607Z
2026-09-05 – 2026-09-0512026-10-20T20:06:17.9772607Z
2026-09-03 – 2026-09-0322026-10-20T20:06:17.9772607Z
2026-09-01 – 2026-09-0122026-10-20T20:06:17.9772607Z
2026-08-31 – 2026-08-3122026-10-20T20:06:17.9772607Z
2026-08-28 – 2026-08-2812026-10-20T20:06:17.9772607Z
2026-08-24 – 2026-08-24122026-10-20T20:06:17.9772607Z
2026-08-23 – 2026-08-2342026-10-20T20:06:17.9772607Z
2026-08-20 – 2026-08-2012026-10-20T20:06:17.9772607Z
2026-08-19 – 2026-08-1922026-10-20T20:06:17.9772607Z
2026-08-18 – 2026-08-18542026-10-20T20:06:17.9772607Z
2026-08-17 – 2026-08-1782026-10-20T20:06:17.9772607Z
2026-08-14 – 2026-08-1452026-10-20T20:06:17.9772607Z
2026-08-13 – 2026-08-1322026-10-20T20:06:17.9772607Z
2026-08-10 – 2026-08-1012026-10-20T20:06:17.9772607Z
2026-08-09 – 2026-08-0932026-10-20T20:06:17.9772607Z
2026-08-07 – 2026-08-0722026-10-20T20:06:17.9772607Z
2026-08-06 – 2026-08-0612026-10-20T20:06:17.9772607Z
2026-08-05 – 2026-08-0512026-10-20T20:06:17.9772607Z
2026-08-04 – 2026-08-0472026-10-20T20:06:17.9772607Z
2026-08-03 – 2026-08-03122026-10-20T20:06:17.9772607Z
2026-08-02 – 2026-08-0212026-10-20T20:06:17.9772607Z
2026-08-01 – 2026-08-0112026-10-20T20:06:17.9772607Z
2026-07-27 – 2026-07-2712026-10-20T20:06:17.9772607Z
2026-07-23 – 2026-07-2322026-10-20T20:06:17.9772607Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.023 Jun 202520

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
jbarnes850/acp-evals

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:22 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:2297c62aad67b964fbdcc40c9745273cf86fd1b66c04522a5187c248f5d74507