Skip to main content

Portable repro artifacts for AI agent runs. Capture, open, share, and verify failures in any browser.

Project description

EPI Logo

EPI

Capture any AI agent run into one portable .epi file you can open, share, and verify anywhere.

The forensic bug report artifact for AI systems. No cloud. No login. No internet required.

PyPI Version Build Status License

Reference implementation of EPI (Evidence Packaged Infrastructure) v4.1.0 — the open format for packaging AI execution as tamper-evident, portable evidence.


Install

pip install epi-recorder

Get Started in 60 Seconds

epi demo

Runs a sample refund workflow and gives you the full developer repro loop:

  1. Capture an AI agent run into a portable .epi artifact.
  2. View the case in a browser with Overview, Evidence, Policy, and Trust.
  3. Verify the cryptographic integrity of the file.

Core API

from epi_recorder import record, wrap_openai
from openai import OpenAI

client = wrap_openai(OpenAI())

with record("my_agent.epi", workflow_name="Investigation"):
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "Analyze this data."}]
    )

Open and verify the artifact:

epi view my_agent.epi    # Browser review (offline)
epi verify my_agent.epi  # Ed25519 integrity check

The .epi Format

my_agent.epi
|- EPI1 header            # outer identity, payload length, SHA-256
`- ZIP evidence payload
   |- manifest.json        # metadata + Ed25519 signature + content hashes
   |- steps.jsonl          # execution timeline (NDJSON)
   |- environment.json     # runtime snapshot
   `- viewer.html          # self-contained offline viewer
flowchart LR
    A["Agent Code"] -->|"record()"| B["Capture Layer"]
    B --> C["SQLite WAL"]
    C --> D["ZIP Payload Builder"]
    E["Private Key"] -->|"Ed25519 Sign Manifest"| D
    D -->|"Wrap with EPI1 Envelope"| G["agent.epi"]

See EPI Specification for details. EPI supports evidence workflows for EU AI Act, FDA, and financial services; it does not provide legal advice and is not a compliance guarantee.


Framework Integrations

EPI provides native hooks for major AI frameworks:

  • LiteLLM: litellm.callbacks = [EPICallback()]
  • LangChain: ChatOpenAI(..., callbacks=[EPICallbackHandler()])
  • Guardrails AI: instrument(output_path="audit.epi")
  • OpenTelemetry: setup_epi_tracing(service_name="my-agent")
  • pytest: pytest --epi (records signed evidence for failing tests)

See Framework Integrations Guide for details.


CLI Reference

Command Purpose
epi run <script.py> Record execution to .epi
epi view <file.epi> Open in browser review view
epi verify <file.epi> Verify integrity and signature
epi import agt <bundle> Convert AGT evidence to .epi
epi export-summary Generate a printable Decision Record
epi init Initialize a starter demo
epi keys list Manage signing keys

Full reference: docs/CLI.md


Technical Documentation


Contributing

git clone https://github.com/mohdibrahimaiml/epi-recorder.git
cd epi-recorder
pip install -e ".[dev]"
pytest

MIT License. Built by EPI Labs. Making AI agent execution verifiable.

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

epi_recorder-4.1.0.tar.gz (671.8 kB view details)

Uploaded Source

Built Distribution

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

epi_recorder-4.1.0-py3-none-any.whl (488.3 kB view details)

Uploaded Python 3

File details

Details for the file epi_recorder-4.1.0.tar.gz.

File metadata

  • Download URL: epi_recorder-4.1.0.tar.gz
  • Upload date:
  • Size: 671.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for epi_recorder-4.1.0.tar.gz
Algorithm Hash digest
SHA256 9ac5647bac73f4fac4b2459647b8e88cafb9ba51a7f4d1ea6dc1e39854de358c
MD5 343bc16151c13408592332d9c01b1e99
BLAKE2b-256 ac2ca10b6b8f743fe02e166d1ef258db1b117c2ada4c74a807f35127ab13a03a

See more details on using hashes here.

File details

Details for the file epi_recorder-4.1.0-py3-none-any.whl.

File metadata

  • Download URL: epi_recorder-4.1.0-py3-none-any.whl
  • Upload date:
  • Size: 488.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for epi_recorder-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eaa89ece6e93133f54cc45ce7a4985587cd3fdb381db390325ee2268c95a592c
MD5 bbde94810f22da74591fe7b130e9b39f
BLAKE2b-256 da2daee461d9613d47d8641dee6821df9706f27834beae4edef3094d192f58e6

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