epi-recorder 2.1.1__py3-none-any.whl → 2.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- epi_core/__init__.py +1 -1
- epi_core/container.py +10 -2
- epi_core/schemas.py +6 -1
- epi_core/serialize.py +38 -9
- epi_core/trust.py +10 -0
- epi_recorder/__init__.py +1 -1
- epi_recorder-2.1.2.dist-info/METADATA +574 -0
- {epi_recorder-2.1.1.dist-info → epi_recorder-2.1.2.dist-info}/RECORD +14 -13
- epi_viewer_static/app.js +54 -20
- epi_viewer_static/crypto.js +517 -0
- epi_recorder-2.1.1.dist-info/METADATA +0 -159
- {epi_recorder-2.1.1.dist-info → epi_recorder-2.1.2.dist-info}/WHEEL +0 -0
- {epi_recorder-2.1.1.dist-info → epi_recorder-2.1.2.dist-info}/entry_points.txt +0 -0
- {epi_recorder-2.1.1.dist-info → epi_recorder-2.1.2.dist-info}/licenses/LICENSE +0 -0
- {epi_recorder-2.1.1.dist-info → epi_recorder-2.1.2.dist-info}/top_level.txt +0 -0
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: epi-recorder
|
|
3
|
-
Version: 2.1.1
|
|
4
|
-
Summary: Executable Package for AI workflows - Record, Verify, and Replay AI runs with automatic PATH setup
|
|
5
|
-
Author-email: Mohd Ibrahim Afridi <epitechforworld@outlook.com>
|
|
6
|
-
Maintainer-email: Mohd Ibrahim Afridi <epitechforworld@outlook.com>
|
|
7
|
-
License: Apache-2.0
|
|
8
|
-
Project-URL: Homepage, https://github.com/mohdibrahimaiml/EPI-V2.1.0
|
|
9
|
-
Project-URL: Documentation, https://github.com/mohdibrahimaiml/EPI-V2.1.0#readme
|
|
10
|
-
Project-URL: Repository, https://github.com/mohdibrahimaiml/EPI-V2.1.0
|
|
11
|
-
Project-URL: Issues, https://github.com/mohdibrahimaiml/EPI-V2.1.0/issues
|
|
12
|
-
Keywords: ai,reproducibility,verification,llm,evidence,openai,cryptography,workflow,audit
|
|
13
|
-
Classifier: Development Status :: 4 - Beta
|
|
14
|
-
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: Intended Audience :: Science/Research
|
|
16
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
17
|
-
Classifier: Operating System :: OS Independent
|
|
18
|
-
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
-
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
22
|
-
Classifier: Topic :: Security :: Cryptography
|
|
23
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
-
Requires-Python: >=3.11
|
|
25
|
-
Description-Content-Type: text/markdown
|
|
26
|
-
License-File: LICENSE
|
|
27
|
-
Requires-Dist: pydantic>=2.0.0
|
|
28
|
-
Requires-Dist: cryptography>=41.0.0
|
|
29
|
-
Requires-Dist: cbor2>=5.6.0
|
|
30
|
-
Requires-Dist: typer[all]>=0.12.0
|
|
31
|
-
Requires-Dist: rich>=13.0.0
|
|
32
|
-
Provides-Extra: dev
|
|
33
|
-
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
34
|
-
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
|
|
35
|
-
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
36
|
-
Requires-Dist: black>=24.0.0; extra == "dev"
|
|
37
|
-
Requires-Dist: ruff>=0.3.0; extra == "dev"
|
|
38
|
-
Dynamic: license-file
|
|
39
|
-
|
|
40
|
-
<div align="center">
|
|
41
|
-
|
|
42
|
-
# 📦 EPI
|
|
43
|
-
### Evidence Packaged Infrastructure
|
|
44
|
-
|
|
45
|
-
> **"Don't just log it. Sign it."**
|
|
46
|
-
>
|
|
47
|
-
> *The Standard for Verifiable AI Evidence.*
|
|
48
|
-
|
|
49
|
-
[](LICENSE)
|
|
50
|
-
[](https://www.python.org/downloads/)
|
|
51
|
-
[](https://pypi.org/project/epi-recorder/)
|
|
52
|
-
[](https://colab.research.google.com/github/mohdibrahimaiml/EPI-V2.1.0/blob/main/colab_demo.ipynb)
|
|
53
|
-
|
|
54
|
-
<br/>
|
|
55
|
-
|
|
56
|
-
[🎥 **Watch the Demo**](https://colab.research.google.com/github/mohdibrahimaiml/EPI-V2.1.0/blob/main/colab_demo.ipynb)
|
|
57
|
-
|
|
58
|
-
> **See the Proof:** Watch how EPI transforms a standard Python script into an **immutable, cryptographically signed evidence package**.
|
|
59
|
-
> *It's not just a recording. It's the "PDF" for AI Evidence.*
|
|
60
|
-
|
|
61
|
-
<br/>
|
|
62
|
-
|
|
63
|
-
[📚 **Read the Docs**](docs/CLI.md) • [🐛 **Report Bug**](https://github.com/mohdibrahimaiml/EPI-V2.1.0/issues)
|
|
64
|
-
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## ⚡ The Problem: AI is a Black Box
|
|
70
|
-
|
|
71
|
-
When an AI Agent takes an action (spends money, signs a contract, or diagnoses a patient), **logs are not enough**.
|
|
72
|
-
Logs can be faked. Screenshots can be edited.
|
|
73
|
-
|
|
74
|
-
**If you can't prove it happened, it didn't happen.**
|
|
75
|
-
|
|
76
|
-
## 💎 The Solution: The "PDF" for Execution
|
|
77
|
-
|
|
78
|
-
**EPI** is a new file format (`.epi`) that acts as a **cryptographically signed receipt** for any AI workflow.
|
|
79
|
-
It captures the code, the data, the API calls, and the environment into a single, sealed evidence package.
|
|
80
|
-
|
|
81
|
-
| Feature | 📄 PDF (Document Standard) | 📦 EPI (Execution Standard) |
|
|
82
|
-
| :--- | :--- | :--- |
|
|
83
|
-
| **Purpose** | Visual Consistency | Computational Integrity |
|
|
84
|
-
| **Captures** | Text, Fonts, Images | Code, API Calls, OS State |
|
|
85
|
-
| **Trust** | "Looks Correct" | **"Cryptographically Proven"** |
|
|
86
|
-
| **Security** | ⚠️ Can run JS (Unsafe) | ✅ **Static HTML (Safe)** |
|
|
87
|
-
| **Analogy** | A digital photo | A flight recorder |
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## 🚀 Quick Start (Zero Config)
|
|
92
|
-
|
|
93
|
-
### 1️⃣ Install
|
|
94
|
-
```bash
|
|
95
|
-
pip install epi-recorder
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 2️⃣ Record
|
|
99
|
-
Wrap any script. EPI intercepts shell commands, file I/O, and LLM calls (OpenAI, Anthropic, Ollama).
|
|
100
|
-
```bash
|
|
101
|
-
epi record --out evidence.epi -- python agent.py
|
|
102
|
-
```
|
|
103
|
-
*> Creates `evidence.epi` (a ZIP containing the code, logs, and signatures)*
|
|
104
|
-
|
|
105
|
-
### 3️⃣ View
|
|
106
|
-
Open the evidence in your browser. **Zero-install, works offline.**
|
|
107
|
-
```bash
|
|
108
|
-
epi view evidence.epi
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## 🧩 Architecture
|
|
114
|
-
|
|
115
|
-
```mermaid
|
|
116
|
-
graph LR
|
|
117
|
-
User[User Script] -->|Intercepts| Recorder
|
|
118
|
-
Recorder -->|Writes| Evidence[.EPI File]
|
|
119
|
-
|
|
120
|
-
subgraph "The .EPI Container"
|
|
121
|
-
Evidence --> Manifest[Manifest]
|
|
122
|
-
Evidence --> Timeline[Steps & Logs]
|
|
123
|
-
Evidence --> Artifacts[Files & Data]
|
|
124
|
-
Evidence --> Sig[Signature]
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
Evidence -->|Reads| Verifier
|
|
128
|
-
Evidence -->|Renders| Viewer
|
|
129
|
-
|
|
130
|
-
Verifier -->|Outputs| Report[Integrity Report]
|
|
131
|
-
Viewer -->|Displays| UI[Browser Interface]
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 🔐 Security & Privacy
|
|
137
|
-
|
|
138
|
-
* **Safe by Design**: The viewer is **100% static HTML/JSON**. It never executes the recorded code, making it safe to open files from untrusted sources.
|
|
139
|
-
* **Privacy First**: API keys are automatically detected and **redacted** from logs.
|
|
140
|
-
* **No Lock-In**: The format is open (ZIP + JSON). You can unzip it and audit the raw data anytime.
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 📚 Documentation
|
|
145
|
-
|
|
146
|
-
* **[CLI Reference](docs/CLI.md)**: Master the `init`, `run`, `doctor`, and `keys` commands.
|
|
147
|
-
* **[File Specification](docs/EPI-SPEC.md)**: Deep dive into the V2.1.0 format mechanics.
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## 📄 License
|
|
152
|
-
|
|
153
|
-
**Apache 2.0** — Open for commercial and private use.
|
|
154
|
-
|
|
155
|
-
<div align="center">
|
|
156
|
-
<br/>
|
|
157
|
-
<b>Built for the future of the AI Economy.</b><br>
|
|
158
|
-
<i>Turning opaque runs into verifiable proofs.</i>
|
|
159
|
-
</div>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|