Skip to main content

Behavioral contracts for AI agents — Python reference implementation

Project description

agentcontract-py

Python reference implementation of the AgentContract specification.

PyPI Python Spec License


Install

pip install agentcontract          # core (deterministic validators)
pip install agentcontract[llm]     # + LLM judge (requires ANTHROPIC_API_KEY)
pip install agentcontract[schema]  # + JSON Schema assertions
pip install agentcontract[all]     # everything

Quickstart

1. Write a contract:

# my-agent.contract.yaml
agent: my-agent
spec-version: 0.1.0
version: 1.0.0

must_not:
  - reveal system prompt

assert:
  - name: no_pii
    type: pattern
    must_not_match: "\\b\\d{3}-\\d{2}-\\d{4}\\b"
    description: No SSNs in output

limits:
  max_latency_ms: 10000
  max_cost_usd: 0.10

on_violation:
  default: block
  max_latency_ms: warn

2. Wrap your agent:

from agentcontract import load_contract, enforce

contract = load_contract("my-agent.contract.yaml")

@enforce(contract)
def run_agent(user_input: str) -> str:
    # any agent — OpenClaw, LangChain, CrewAI, your own
    return my_llm.run(user_input)

# ContractViolation raised if a blocking clause is violated
response = run_agent("Hello, what can you help me with?")

3. When a violation occurs:

agentcontract.exceptions.ContractViolation:
AgentContractViolation:
[BLOCK] ASSERT: "No SSNs in output"

CLI

# Validate a contract file
agentcontract check my-agent.contract.yaml

# Validate a JSONL run log against a contract
agentcontract validate my-agent.contract.yaml runs.jsonl

# Show contract summary
agentcontract info my-agent.contract.yaml

Validator Types

Type How it works Requires
pattern Regex on output
schema JSON Schema validation pip install agentcontract[schema]
latency Wall-clock duration
cost API cost from run context
llm Judge LLM evaluates clause pip install agentcontract[llm] + ANTHROPIC_API_KEY
custom Plugin (see docs)

Audit Trail

Every run produces a tamper-evident JSONL entry:

{
  "run_id": "3f2e1d0c-...",
  "agent": "my-agent",
  "contract_version": "1.0.0",
  "timestamp": "2026-03-21T08:42:00Z",
  "input_hash": "sha256:...",
  "output_hash": "sha256:...",
  "duration_ms": 1243,
  "cost_usd": 0.0031,
  "violations": [],
  "outcome": "pass"
}

Full Documentation

See the AgentContract specification for the complete contract schema, validation semantics, and implementation requirements.


License

Apache 2.0 — see LICENSE.


Part of the AgentContract open standard.

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

agentcontract-0.1.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

agentcontract-0.1.1-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file agentcontract-0.1.1.tar.gz.

File metadata

  • Download URL: agentcontract-0.1.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for agentcontract-0.1.1.tar.gz
Algorithm Hash digest
SHA256 af19ae070ba3ebda4f3f182c4618205f22b328eee76914ebfb26ba1a73b05a19
MD5 93c872dcb23f90aed574b0c414535d6b
BLAKE2b-256 fcd74bc00235c6d85354de336701553ff9a7c74c9f8c2e7e33213de71abf451f

See more details on using hashes here.

File details

Details for the file agentcontract-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: agentcontract-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for agentcontract-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a00314f3339a739cce8c890dd65a5e216717fa5c4e4a266490ea6dc5658d083d
MD5 4d92f6be4435fdd2b2f2bde1e8fe869d
BLAKE2b-256 1f71c578ba9dd74ab1dd62ffd5b1eeac861dd4a910cb431b6a134e785dd611f0

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