Skip to main content

Test framework for AI agents

Project description

attest-ai

Test framework for AI agents. Deterministic assertions (schema validation, cost constraints, trace ordering, content matching) over agent execution traces.

Install

pip install attest-ai

With LLM provider support:

pip install attest-ai[openai]      # OpenAI
pip install attest-ai[anthropic]   # Anthropic
pip install attest-ai[gemini]      # Google Gemini
pip install attest-ai[ollama]      # Ollama (local)
pip install attest-ai[all]         # All providers

Quick start

import attest
from attest import expect

result = attest.AgentResult(
    trace=trace,  # captured from your agent
    assertion_results=[],
)

# Layer 1: Schema validation
expect(result).output_matches_schema({"type": "object", "required": ["refund_id"]})

# Layer 2: Cost & performance constraints
expect(result).cost_under(0.05)
expect(result).latency_under(5000)

# Layer 3: Trace structure
expect(result).tools_called_in_order(["lookup_order", "process_refund"])
expect(result).no_tool_loops(max_iterations=3)

# Layer 4: Content assertions
expect(result).output_contains("refund")
expect(result).output_not_contains("sorry")

Pytest integration

Attest registers as a pytest plugin automatically:

pytest tests/ --attest-engine=/path/to/attest-engine

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

attest_ai-0.5.0.tar.gz (408.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

attest_ai-0.5.0-py3-none-any.whl (57.0 kB view details)

Uploaded Python 3

File details

Details for the file attest_ai-0.5.0.tar.gz.

File metadata

  • Download URL: attest_ai-0.5.0.tar.gz
  • Upload date:
  • Size: 408.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for attest_ai-0.5.0.tar.gz
Algorithm Hash digest
SHA256 62a0312f8c39456a80d8ba2ae1b4b46acbd0bc32079fbcfc88f5417e2acaaeb1
MD5 68367e63fc305536f9ea229e6e414f6e
BLAKE2b-256 55386eb69a53e48fa3c0ca2120fc3d504ab2d33decb0db16c8f580920eecf5e1

See more details on using hashes here.

File details

Details for the file attest_ai-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: attest_ai-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 57.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for attest_ai-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b09710970da932ba104e2d74151608ccc578219e4828f77d07958160457b387c
MD5 fa04c3da0b9d3ce13eda09ab0543cc33
BLAKE2b-256 26617a684a6f34e9759efa0beb48145f697027dcd5ad3fdf3b897faa0b5fd45e

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