Skip to main content

AgenticAssure

Test and benchmark your AI agents before they go live.

PyPI version License: MIT CI

AgenticAssure is an open-source SDK for testing, benchmarking, and validating LLM-powered AI agents. Define test scenarios in YAML, run them against your agent via a simple adapter, and get structured reports on quality and performance.


Quick Install

pip install agenticassure

For optional extras:

pip install agenticassure[similarity]   # cosine similarity scorer
pip install agenticassure[openai]       # OpenAI adapter
pip install agenticassure[langchain]    # LangChain adapter
pip install agenticassure[all]          # everything

Usage

1. Define scenarios in YAML

# scenarios/support_agent.yaml
suite:
  name: support-agent-tests
  description: Validate our customer support agent
  config:
    default_timeout: 30
    retries: 1

scenarios:
  - name: greeting
    input: "Hello, who are you?"
    expected_output: "hello"
    scorers:
      - passfail

  - name: order_lookup
    input: "Look up order ORD-123"
    expected_tools:
      - get_order
    expected_tool_args:
      get_order:
        order_id: "ORD-123"
    scorers:
      - passfail

  - name: email_in_response
    input: "What is your contact email?"
    scorers:
      - regex
    metadata:
      regex_pattern: "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"

2. Write an adapter for your agent

from agenticassure import AgentResult

class MyAgent:
    """Wrap your agent so AgenticAssure can call it."""

    def run(self, input: str, context=None) -> AgentResult:
        response = your_agent.invoke(input)  # call your agent here
        return AgentResult(
            output=response.text,
            tool_calls=[],
            latency_ms=response.latency,
        )

3. Run with Python

from agenticassure.loader import load_scenarios
from agenticassure.runner import Runner
from agenticassure.reports.cli_report import CLIReporter

suite = load_scenarios("scenarios/support_agent.yaml")
runner = Runner(adapter=MyAgent())
result = runner.run_suite(suite)

CLIReporter().report(result)

print(f"Pass rate: {result.pass_rate:.0%}")
print(f"Aggregate score: {result.aggregate_score:.2f}")

4. Or use the CLI

# Run scenarios with a custom adapter
agenticassure run scenarios/ --adapter mymodule.MyAgent

# Dry-run (validate without executing)
agenticassure run scenarios/ --dry-run

# Output as HTML or JSON
agenticassure run scenarios/ --adapter mymodule.MyAgent -o html
agenticassure run scenarios/ --adapter mymodule.MyAgent -o json

# Validate YAML without running
agenticassure validate scenarios/

# List all scenarios
agenticassure list scenarios/

Scorers

Scenarios can use one or more scorers. A scenario passes only if all scorers pass.

Scorer Key What It Checks
Pass/Fail passfail Output exists, expected tools called, tool args match, expected output found
Exact Match exact Exact string match against expected_output
Regex regex Pattern from metadata.regex_pattern matches output
Similarity similarity Cosine similarity via sentence-transformers (requires [similarity] extra)

Features

Core (open-source)

  • YAML-based scenario definitions with JSON Schema validation
  • Pluggable scorer system (passfail, exact, regex, similarity)
  • Sequential test runner with retry logic and fail-fast support
  • Tag-based scenario filtering
  • Suite-level configuration (timeout, retries, default scorers)
  • CLI and Python API
  • Three report formats: Rich terminal, HTML, JSON
  • OpenAI and LangChain agent adapters
  • Extensible adapter and scorer protocols

Pro (commercial)

  • LLM-as-judge scorer for nuanced evaluation
  • Multi-model comparison engine
  • Regression tracking and historical benchmarks
  • PDF reports and trend visualizations
  • Slack and email notifications
  • CI/CD integration (GitHub Actions, GitLab CI)

Project Structure

agenticassure/
  core/       # Open-source agenticassure package (MIT)
  pro/        # Commercial agenticassure-pro package
  examples/   # Example scenarios and adapters

Development

# Clone the repo
git clone https://github.com/agenticassure/agenticassure.git
cd agenticassure

# Install core in dev mode
pip install -e "core[dev]"

# Run tests
pytest core/tests/

# Lint and format
ruff check .
black --check .

Documentation

Full documentation is available at docs.agenticassure.com.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

The core package is released under the MIT License. The pro package is available under a commercial license -- see pro/ for details.

Metadata

Release files for agenticassure 0.4.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 agenticassure 0.4.0
File Size Uploaded Provenance
agenticassure-0.4.0.tar.gz 20.6 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 45.7 kB

Release files / agenticassure-0.4.0.tar.gz

Download URL agenticassure-0.4.0.tar.gz
Size 20.6 kB
Tags Source
SHA-256 checksum
How to use checksums
28ba0c2c5b09ef4a0d48fbc3011264f453ddf893309e40c4565a219842838008
BLAKE2b-256 checksum
How to use checksums
8a1422ca4b84c0df55d2248451dbaa3fc8d99b17f5f388f103df5ad1294cbce8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / agenticassure-0.4.0-py3-none-any.whl

Download URL agenticassure-0.4.0-py3-none-any.whl
Size 25.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b98c4dcab6f7120c1f2139c5f37a866dcbe8c0969d32dee9c7f98e72aa702f5
BLAKE2b-256 checksum
How to use checksums
3075229b31729e139543bc079484bf52cc49c369abcf094f260dbb02bac904d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Security for agenticassure 0.4.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.

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