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.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:

  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.0.3.tar.gz (654.0 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.0.3-py3-none-any.whl (463.5 kB view details)

Uploaded Python 3

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

Hashes for epi_recorder-4.0.3.tar.gz
Algorithm Hash digest
SHA256 444c9bda624feddaf61f3291bd0f4a0d2dbdbe9dd363a1c25b0c9392f2b31ed6
MD5 a03ab914079d5680725a1dc7a9d67af6
BLAKE2b-256 34a69dbf9e6cafd93e80e5c5e0fb5a10694952f57926a11403ce4a92cd62921a

See more details on using hashes here.

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

Hashes for epi_recorder-4.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 733edb6b044bae25a6fd22b7db1a025033ae8cdf6e5b273de212546fa6341529
MD5 b5e2bc4bf372d762f5da855f855f06b9
BLAKE2b-256 019f6c8964b8e6efa4926bec4e4362a3da9355c2024098215e7d2671a12c5373

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