Portable repro artifacts for AI agent runs. Capture, open, share, and verify failures in any browser.
Project description
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.
Reference implementation of EPI (Evidence Packaged Infrastructure) v4.0.3 — 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:
- Capture an AI agent run into a portable
.epiartifact. - View the case in a browser with
Overview,Evidence,Policy, andTrust. - 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
- EPI Specification: Technical details of the
.epiformat. - Policy Guide: How policy, fault analysis, and rulebooks work.
- EU AI Act Evidence Prep: Evidence workflow guide.
- AGT Import Quickstart:
AGT -> EPIpath.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file epi_recorder-4.0.3.tar.gz.
File metadata
- Download URL: epi_recorder-4.0.3.tar.gz
- Upload date:
- Size: 654.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
444c9bda624feddaf61f3291bd0f4a0d2dbdbe9dd363a1c25b0c9392f2b31ed6
|
|
| MD5 |
a03ab914079d5680725a1dc7a9d67af6
|
|
| BLAKE2b-256 |
34a69dbf9e6cafd93e80e5c5e0fb5a10694952f57926a11403ce4a92cd62921a
|
File details
Details for the file epi_recorder-4.0.3-py3-none-any.whl.
File metadata
- Download URL: epi_recorder-4.0.3-py3-none-any.whl
- Upload date:
- Size: 463.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
733edb6b044bae25a6fd22b7db1a025033ae8cdf6e5b273de212546fa6341529
|
|
| MD5 |
b5e2bc4bf372d762f5da855f855f06b9
|
|
| BLAKE2b-256 |
019f6c8964b8e6efa4926bec4e4362a3da9355c2024098215e7d2671a12c5373
|