epi-recorder 2.1.3__py3-none-any.whl → 2.2.0__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.
@@ -1,577 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: epi-recorder
3
- Version: 2.1.3
4
- Summary: The PDF for AI Evidence - Cryptographic proof of what Autonomous AI Systems actually did.
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.3
9
- Project-URL: Documentation, https://github.com/mohdibrahimaiml/EPI-V2.1.3#readme
10
- Project-URL: Repository, https://github.com/mohdibrahimaiml/EPI-V2.1.3
11
- Project-URL: Issues, https://github.com/mohdibrahimaiml/EPI-V2.1.3/issues
12
- Keywords: ai,reproducibility,verification,llm,evidence,openai,gemini,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
- Requires-Dist: google-generativeai>=0.4.0
33
- Provides-Extra: dev
34
- Requires-Dist: pytest>=8.0.0; extra == "dev"
35
- Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
36
- Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
37
- Requires-Dist: black>=24.0.0; extra == "dev"
38
- Requires-Dist: ruff>=0.3.0; extra == "dev"
39
- Dynamic: license-file
40
-
41
- <div align="center">
42
-
43
- <img src="https://i.postimg.cc/DzKrGyrm/logo.png" alt="EPI Logo" width="120"/>
44
-
45
- # EPI Recorder
46
-
47
- ### The PDF for AI Evidence
48
-
49
- **Cryptographic proof of what Autonomous AI Systems actually did.**
50
-
51
- [![PyPI](https://img.shields.io/badge/PyPI-v2.1.3-blue?style=flat&logo=pypi&logoColor=white)](https://pypi.org/project/epi-recorder/)
52
- [![Python](https://img.shields.io/badge/Python-3.11+-3776AB?style=flat&logo=python&logoColor=white)](https://www.python.org)
53
- [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg?style=flat)](LICENSE)
54
- [![Status](https://img.shields.io/badge/Status-v2.1.3-blue?style=flat)](https://github.com/mohdibrahimaiml/EPI-V2.1.3)
55
- [![Downloads](https://img.shields.io/badge/Downloads-3.8k-blue?style=flat)](https://pypi.org/project/epi-recorder/)
56
- [![Stars](https://img.shields.io/badge/Stars-16-ea4aaa?style=social&logo=github)](https://github.com/mohdibrahimaiml/EPI-V2.1.3)
57
-
58
- [**🚀 Quick Start**](#-quick-start-30-seconds) • [**📖 Docs**](https://epilabs.org/docs) • [**💬 Community**](https://github.com/mohdibrahimaiml/EPI-V2.1.3/discussions) • [**🎥 Demo**](https://colab.research.google.com/github/mohdibrahimaiml/EPI-V2.1.3/blob/main/colab_demo.ipynb)
59
-
60
- </div>
61
-
62
- ---
63
-
64
- > [!NOTE]
65
- > **What is EPI?** A `.epi` file is the **"PDF for AI Evidence"**—cryptographically signed, tamper-proof records of what your AI did. One command. Complete proof. Forever.
66
-
67
- ---
68
-
69
- ## ⚡ Quick Start (30 Seconds)
70
-
71
- ### Installation
72
-
73
- **One command. Works everywhere. 99% success rate.**
74
-
75
- **Unix/Mac:**
76
- ```bash
77
- curl -sSL https://raw.githubusercontent.com/mohdibrahimaiml/EPI-V2.1.3/main/scripts/install.sh | sh
78
- ```
79
-
80
- **Windows:**
81
- ```powershell
82
- iwr https://raw.githubusercontent.com/mohdibrahimaiml/EPI-V2.1.3/main/scripts/install.ps1 -useb | iex
83
- ```
84
-
85
- **Manual (pip):**
86
- ```bash
87
- pip install epi-recorder
88
- ```
89
-
90
- > [!TIP]
91
- > If you see `epi: command not found`, use `python -m epi_cli` instead (always works!)
92
-
93
- ### Your First Recording
94
-
95
- ```bash
96
- # 1. Create a simple script
97
- echo 'print("Hello, EPI!")' > hello.py
98
-
99
- # 2. Record it
100
- epi run hello.py
101
-
102
- # 3. View the cryptographically signed evidence
103
- # (Opens in browser automatically)
104
- ```
105
-
106
- **That's it!** You just created verifiable AI evidence. 🎉
107
-
108
- ---
109
-
110
- ## 💡 What is EPI?
111
-
112
- **EPI creates cryptographically signed "receipts" for AI workflows.**
113
-
114
- Just like PDF standardized documents, **EPI standardizes AI execution evidence**.
115
-
116
- ### Without EPI ❌
117
-
118
- ```python
119
- # Traditional logging
120
- logger.info("AI decided: APPROVE loan $50K")
121
- # ⚠️ Can be edited
122
- # ⚠️ No proof
123
- # ⚠️ No audit trail
124
- ```
125
-
126
- ### With EPI ✅
127
-
128
- ```python
129
- epi run loan_agent.py
130
- # Creates: loan_agent_2024_12_16.epi
131
-
132
- # ✓ Cryptographically signed
133
- # ✓ Complete execution snapshot
134
- # ✓ Tamper-proof evidence
135
- # ✓ Regulator-ready
136
- # ✓ Interactive viewer
137
- ```
138
-
139
- **Result:** One `.epi` file that proves exactly what happened—**mathematically verifiable**.
140
-
141
- ---
142
-
143
- ## 🎯 Why EPI?
144
-
145
- > [!IMPORTANT]
146
- > **The Problem:** AI agents make critical decisions (trading, diagnostics, contracts). You need **cryptographic proof**, not just logs that can be edited.
147
-
148
- ### Traditional Approach ❌
149
-
150
- ```
151
- [2024-12-16 14:30:22] INFO: Processing transaction
152
- [2024-12-16 14:30:23] INFO: Decision: APPROVE
153
- ```
154
-
155
- **Problems:**
156
- - ❌ Logs can be edited after the fact
157
- - ❌ No cryptographic verification
158
- - ❌ Missing execution context
159
- - ❌ Can't reproduce
160
- - ❌ Regulators won't accept it
161
-
162
- ### EPI Approach ✅
163
-
164
- ```bash
165
- epi run trading_bot.py
166
- ```
167
-
168
- **Creates immutable package with:**
169
-
170
- | Component | Details | Purpose |
171
- |-----------|---------|---------|
172
- | **Code snapshot** | Exact source that executed | Reproducibility |
173
- | **API calls** | Every request/response | Auditability |
174
- | **File I/O** | All reads/writes captured | Data lineage |
175
- | **Environment** | Python version, OS, dependencies | Context |
176
- | **Signatures** | Ed25519 cryptographic proof | Integrity |
177
- | **Timeline** | Interactive browser viewer | Understanding |
178
-
179
- > [!NOTE]
180
- > **If it's in the .epi file, it happened. If it's not, it didn't.** Period.
181
-
182
- ---
183
-
184
- ## 🔍 How EPI Compares
185
-
186
- ### vs Traditional Tools
187
-
188
- | Feature | Logs | Screenshots | Video | **EPI** |
189
- |---------|------|-------------|-------|---------|
190
- | **Tamper-proof** | ❌ | ❌ | ❌ | ✅ |
191
- | **Cryptographic proof** | ❌ | ❌ | ❌ | ✅ |
192
- | **Captures code** | ⚠️ Partial | ❌ | ❌ | ✅ |
193
- | **Interactive viewer** | Custom | Manual | Manual | **Built-in** |
194
- | **Reproducible** | ❌ | ❌ | ❌ | ✅ |
195
- | **Regulatory compliant** | ⚠️ | ❌ | ❌ | ✅ |
196
- | **File size** | Large | Medium | Very large | **Small** |
197
-
198
- ### vs PDF
199
-
200
- | Aspect | PDF | EPI |
201
- |--------|-----|-----|
202
- | **Purpose** | Document consistency | **Execution integrity** |
203
- | **Trust** | "Looks right" | **"Mathematically proven"** |
204
- | **Security** | ⚠️ Can run JavaScript | ✅ **Static HTML (safe)** |
205
- | **Use case** | Reports, contracts | **AI workflows, executions** |
206
- | **Standard** | ISO 32000 | **Emerging** |
207
-
208
- ---
209
-
210
- ## 🎨 Real-World Examples
211
-
212
- ### Example 1: Financial Trading Agent
213
-
214
- ```python
215
- # trading_bot.py
216
- import openai
217
-
218
- def analyze_stock(symbol):
219
- # AI analyzes market
220
- response = openai.ChatCompletion.create(
221
- model="gpt-4",
222
- messages=[{"role": "user", "content": f"Analyze {symbol}"}]
223
- )
224
-
225
- decision = response.choices[0].message.content
226
- execute_trade(symbol, decision)
227
- return decision
228
- ```
229
-
230
- **Record it:**
231
- ```bash
232
- epi run trading_bot.py
233
- ```
234
-
235
- **You get:**
236
- - ✅ Proof of AI decision logic
237
- - ✅ Complete API call history (keys redacted)
238
- - ✅ Execution timestamp
239
- - ✅ Regulatory-compliant audit trail
240
- - ✅ Shareable evidence package
241
-
242
- ---
243
-
244
- ### Example 2: Healthcare Diagnostic Agent
245
-
246
- ```python
247
- # diagnostic_agent.py
248
- def diagnose_patient(patient_data):
249
- # AI analysis
250
- diagnosis = ai_model.predict(patient_data)
251
-
252
- # Generate FDA-compliant report
253
- report = create_medical_report(diagnosis)
254
-
255
- return diagnosis, report
256
- ```
257
-
258
- **Record for FDA submission:**
259
- ```bash
260
- epi run diagnostic_agent.py
261
- ```
262
-
263
- **Evidence includes:**
264
- - ✅ Model version used
265
- - ✅ Input data processing (HIPAA-compliant)
266
- - ✅ Decision logic captured
267
- - ✅ Cryptographic proof for regulators
268
-
269
- ---
270
-
271
- ### Example 3: Python API
272
-
273
- **Zero-config decorator:**
274
-
275
- ```python
276
- from epi_recorder import record
277
-
278
- @record(out="workflow.epi")
279
- def my_ai_workflow():
280
- result = llm.generate_response(prompt)
281
- save_to_database(result)
282
- return result
283
-
284
- # Automatically creates workflow.epi
285
- my_ai_workflow()
286
- ```
287
-
288
- **Context manager:**
289
-
290
- ```python
291
- from epi_recorder import record
292
-
293
- with record("analysis.epi"):
294
- # Everything here is captured
295
- data = fetch_data()
296
- insights = analyze_with_ai(data)
297
- send_report(insights)
298
- ```
299
-
300
- ---
301
-
302
- ## 🎮 Commands Reference
303
-
304
- ### Core Commands
305
-
306
- ```bash
307
- # Interactive setup (first time)
308
- epi init
309
-
310
- # Record any script
311
- epi run script.py
312
-
313
- # View evidence package
314
- epi view recording.epi
315
-
316
- # Verify cryptographic integrity
317
- epi verify recording.epi
318
-
319
- # List all recordings
320
- epi ls
321
-
322
- # Self-healing diagnostics
323
- epi doctor
324
- ```
325
-
326
- ### Advanced
327
-
328
- ```bash
329
- # Custom output name
330
- epi record --out experiment.epi -- python train.py
331
-
332
- # Record any command (not just Python)
333
- epi record --out build.epi -- npm run build
334
-
335
- # Manage cryptographic keys
336
- epi keys generate --name production
337
- epi keys list
338
- epi keys export --name production
339
- ```
340
-
341
- > [!TIP]
342
- > **All commands also work as:** `python -m epi_cli <command>` (100% reliable, bypasses PATH)
343
-
344
- ---
345
-
346
- ## 🔒 Security & Privacy
347
-
348
- ### Automatic Redaction
349
-
350
- **Sensitive data is automatically masked:**
351
-
352
- ```python
353
- # Your code
354
- openai.api_key = "sk-abc123xyz"
355
- db_password = "secret123"
356
-
357
- # In .epi file (automatic)
358
- openai.api_key = "sk-***REDACTED***"
359
- db_password = "***REDACTED***"
360
- ```
361
-
362
- **Protected:**
363
- - ✅ API keys (OpenAI, Anthropic, AWS, etc.)
364
- - ✅ Passwords and tokens
365
- - ✅ Environment variables with secrets
366
- - ✅ Database credentials
367
-
368
- ### Cryptographic Integrity
369
-
370
- **Every .epi file:**
371
- - 🔐 Signed with Ed25519 (same as Signal, SSH)
372
- - ✅ Tamper-proof (any modification breaks signature)
373
- - 🔍 Publicly verifiable (anyone can check)
374
- - 🔑 Private key stays on your machine
375
-
376
- ### Offline Viewing
377
-
378
- **The viewer is 100% safe:**
379
- - ✅ Static HTML (no server needed)
380
- - ✅ No external requests
381
- - ✅ No analytics or tracking
382
- - ✅ Works in air-gapped environments
383
- - ✅ Safe to share with auditors
384
-
385
- ---
386
-
387
- ## 🏢 Use Cases
388
-
389
- <table>
390
- <tr>
391
- <td width="50%">
392
-
393
- ### 💼 Financial Services
394
- - Regulatory compliance (MiFID II, Dodd-Frank)
395
- - Trading algorithm audit trails
396
- - AI-driven loan decisions
397
- - Risk assessment transparency
398
-
399
- </td>
400
- <td width="50%">
401
-
402
- ### 🏥 Healthcare
403
- - FDA AI/ML submissions
404
- - Clinical trial reproducibility
405
- - HIPAA-compliant audit logs
406
- - Diagnostic algorithm evidence
407
-
408
- </td>
409
- </tr>
410
- <tr>
411
- <td width="50%">
412
-
413
- ### ⚖️ Legal
414
- - E-discovery for AI systems
415
- - Contract analysis evidence
416
- - Litigation documentation
417
- - Chain of custody
418
-
419
- </td>
420
- <td width="50%">
421
-
422
- ### 🔬 Research
423
- - ML experiment reproducibility
424
- - Peer review verification
425
- - Grant compliance
426
- - Published results validation
427
-
428
- </td>
429
- </tr>
430
- </table>
431
-
432
- ---
433
-
434
- ## ❓ FAQ
435
-
436
- <details>
437
- <summary><b>How is EPI different from logging?</b></summary>
438
-
439
- Logs can be edited after the fact. EPI files are **cryptographically signed**—any tampering breaks the signature. Think of it as the difference between a handwritten note and a notarized document.
440
-
441
- </details>
442
-
443
- <details>
444
- <summary><b>Does this slow down my code?</b></summary>
445
-
446
- Minimal overhead (~5%). EPI records in the background, so your code runs at near-native speed.
447
-
448
- </details>
449
-
450
- <details>
451
- <summary><b>Can I use this in production?</b></summary>
452
-
453
- **Yes!** EPI is designed for production AI systems. It's used by companies in finance, healthcare, and research for regulatory compliance.
454
-
455
- </details>
456
-
457
- <details>
458
- <summary><b>Is my data safe?</b></summary>
459
-
460
- EPI automatically redacts API keys and secrets. The viewer is 100% offline (static HTML). You control what gets shared.
461
-
462
- </details>
463
-
464
- <details>
465
- <summary><b>What about large datasets?</b></summary>
466
-
467
- EPI captures **code + metadata**, not raw data. Typical `.epi` file: <10MB. Large datasets are referenced, not embedded.
468
-
469
- </details>
470
-
471
- <details>
472
- <summary><b>What if `epi` command doesn't work?</b></summary>
473
-
474
- Use `python -m epi_cli` instead (always works). Or run `python -m epi_cli doctor` to auto-fix PATH issues.
475
-
476
- </details>
477
-
478
- ---
479
-
480
- ## 🆕 What's New in v2.1.3
481
-
482
- > [!IMPORTANT]
483
- > **Gemini Native:** EPI now natively supports Google Gemini. Just run your script, and Gemini calls are captured automatically. Plus, talk to your evidence with `epi chat`.
484
-
485
- ### 🤖 Gemini Integration
486
- - **Automatic Patcher:** Intercepts `google.generativeai` calls without code changes. Logs prompts, responses, and token usage.
487
- - **Evidence Chat:** New command `epi chat` allows you to query your `.epi` files using Gemini AI. "What happened in this run?"
488
- - **Error Capture:** Automatically records API errors like Quota Exceeded (429) or Blocked Content.
489
-
490
- ### 🛡️ Security & Integrity (v2.1.2)
491
- - **Client-Side Verification:** The HTML viewer now includes a bundled crypto library to verify signatures offline.
492
- - **Trust Badges:** UI now explicitly shows "Verified" (Green), "Unsigned" (Yellow), or "Tampered" (Red).
493
-
494
- ### ✨ Enhanced CLI Reliability
495
- - **Windows Compatibility:** Fixed Unicode issues in CLI for legacy terminals.
496
- - **Python Module Fallback:** `python -m epi_cli` works reliably everywhere.
497
-
498
- **2. Automatic PATH Configuration**
499
- - Post-install script auto-fixes PATH on Windows
500
- - `epi doctor` command detects and repairs issues
501
- - Success rate improved from 85% → 99%
502
-
503
- **3. Universal Installation Scripts**
504
- - One-command installers for all platforms
505
- - Auto-configure shell PATH
506
- - Works on Unix/Mac/Windows
507
-
508
- **4. Windows Compatibility**
509
- - Fixed Unicode errors in terminal output
510
- - Better error messages
511
- - More reliable auto-fix
512
-
513
- ### 🐛 Bug Fixes
514
- - Fixed `pyproject.toml` syntax warnings
515
- - Improved terminal output compatibility
516
- - Better error handling
517
-
518
- ---
519
-
520
- ## 📚 Documentation
521
-
522
- - [**📘 CLI Reference**](docs/CLI.md) - All commands explained
523
- - [**📖 Quick Start Guide**](QUICKSTART.md) - Get started in 30 seconds
524
- - [**🏗️ Architecture**](docs/EPI-SPEC.md) - Technical specification
525
- - [**📝 Product Description**](EPI_Product_Description.md) - Detailed overview
526
- - [**📋 Examples**](examples/) - Real-world code examples
527
-
528
- ---
529
-
530
- ## 🤝 Community & Support
531
-
532
- - [**💬 Discussions**](https://github.com/mohdibrahimaiml/EPI-V2.1.0/discussions) - Ask questions, share use cases
533
- - [**🐛 Issues**](https://github.com/mohdibrahimaiml/EPI-V2.1.0/issues) - Bug reports, feature requests
534
- - [**📧 Email**](mailto:epitechforworld@outlook.com) - Direct support
535
- - [**🌐 Website**](https://epilabs.org) - Latest news
536
-
537
- ---
538
-
539
- ## 🙌 Contributing
540
-
541
- We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
542
-
543
- **Areas we'd love help:**
544
- - 🌍 Internationalization
545
- - 🔌 Language integrations (JavaScript, Go, Rust)
546
- - ☁️ Cloud storage adapters
547
- - 📊 Viewer enhancements
548
- - 📝 Documentation improvements
549
-
550
- [**Good First Issues →**](https://github.com/mohdibrahimaiml/EPI-V2.0.0/labels/good%20first%20issue)
551
-
552
- ---
553
-
554
- ## 📄 License
555
-
556
- **Apache 2.0** - See [LICENSE](LICENSE)
557
-
558
- ---
559
-
560
- ## 🙏 Built With
561
-
562
- - [Typer](https://typer.tiangolo.com/) - Beautiful CLIs
563
- - [Rich](https://rich.readthedocs.io/) - Terminal formatting
564
- - [Pydantic](https://pydantic-docs.helpmanual.io/) - Data validation
565
- - [Cryptography](https://cryptography.io/) - Ed25519 signatures
566
-
567
- ---
568
-
569
- <div align="center">
570
-
571
- ### **Trust Your AI. Verify Everything.** 🔐
572
-
573
- **Made with ❤️ by [Mohd Ibrahim Afridi](https://github.com/mohdibrahimaiml)**
574
-
575
- [**⭐ Star this repo**](https://github.com/mohdibrahimaiml/EPI-V2.0.0) • [**🐦 Follow updates**](https://twitter.com/epilabs) • [**🌐 Visit epilabs.org**](https://epilabs.org)
576
-
577
- </div>
@@ -1,34 +0,0 @@
1
- epi_postinstall.py,sha256=9MVuFeA8S25jAp9VMZrAE0M1k2QHC1PeJxful7jcMd8,7066
2
- epi_cli/__init__.py,sha256=SSpuDlDqVBbPvR21CCRcNOB61EyB8jAUzNd8XISADa8,98
3
- epi_cli/__main__.py,sha256=wQWpc9XXhXnPyy2hw-WQFGaPM1qNhpKiel2jQm7MhKQ,296
4
- epi_cli/chat.py,sha256=Y3FinP-Cg1DawBpM7mqWj1BnYh6Hkl3OTKdXi-0QvuE,6693
5
- epi_cli/keys.py,sha256=bHR6knfGR4g7uGuR2cu5VTcGXVyvtZzVtnRBbgPSaTE,9111
6
- epi_cli/ls.py,sha256=Ip6OyubkXb_Ba9S7p-U1seWMcWpFeiV-fHhl9ocUy9k,5015
7
- epi_cli/main.py,sha256=x_sIFkgGKvHN3XQIuCYHlReqL6xVFsOzZJGdPf8eXf8,12165
8
- epi_cli/record.py,sha256=QtDrjr-7WbfcYXwPRrDDujrubUNrHhp062EcW8DZPNk,7321
9
- epi_cli/run.py,sha256=dM_AYC3LzDBc_DzVKlb8obZBE52sAe3wYAnce0PLGT4,14101
10
- epi_cli/verify.py,sha256=Rq34rw-zM_vZmYDsfg8cLlvW76_wJ99Pu-arjGRE9bw,8238
11
- epi_cli/view.py,sha256=YZYohgT66Z2UYfN37d5VTPxipNiwSMacD4zHYaNypiU,4021
12
- epi_core/__init__.py,sha256=AM-2ThtcXElMi1HpKmabjRUk365TdSLHva22eqLBfcM,303
13
- epi_core/container.py,sha256=ZRRAWBoGGLkoqXQVEwfHHXtPE6D0Nqr1fBZpBFyXnKk,12687
14
- epi_core/redactor.py,sha256=mYVZrIsKJdIJBY2XHE0U_CYqgY4Z2vGRvLW-19_c0WE,9886
15
- epi_core/schemas.py,sha256=flrPiTN92fbJS0U0wDfzxJvv4MGpUXEoWeu6kxoelRQ,4728
16
- epi_core/serialize.py,sha256=2zl0SiDqUzk05HYca57Xmfj3x59LBbqEkJYE5TcCCz8,5685
17
- epi_core/trust.py,sha256=3uy6MGl0-5nDa2ZB_Wj2j25EDmChRWi8ZboketdSXkE,7964
18
- epi_recorder/__init__.py,sha256=sRrsvbq8yGOKMp0ViutZ9HjurvQgi0rDoWc4DKSXSkY,396
19
- epi_recorder/api.py,sha256=EZtMF2MVIk8KR1GPJBSxDlEh57nsIc-B2Ok0_j3hZ4U,21561
20
- epi_recorder/bootstrap.py,sha256=yE1y0rjQ-1D-ZhWFipX_6qXFTA2BPlEm8Ft4Z0iex88,1845
21
- epi_recorder/environment.py,sha256=NCz_Pckc6GU1kQsYF3oXDsN46k5LVuYWbMEhTj1FRXo,6598
22
- epi_recorder/patcher.py,sha256=d7yAdoC7rotugkq-lMU0kV6x9rTRVtq5xtC1mXbHsOs,18924
23
- epi_recorder/test_import.py,sha256=Dhjkj8qYZR4d4w-bshClV6S-naCcS5srW7wsp7jW-cM,459
24
- epi_recorder/test_script.py,sha256=4uUheXOfqC28NYICyaAxm3gnhfrkdDZtaXnwfjG-qhQ,92
25
- epi_recorder-2.1.3.dist-info/licenses/LICENSE,sha256=aUgjAzBUkmKIZy3AZ_XAZWoh3kzkRlkOc3JHLVfyF-A,11540
26
- epi_viewer_static/app.js,sha256=qxOiqj4UBGCzxddctt8XbTeND8m2mwotDnvC7emayfs,14723
27
- epi_viewer_static/crypto.js,sha256=hjoIrGljQ0Yrg-KplT1zHccK1b82_Y_SfDZ8Gw_UjBc,19078
28
- epi_viewer_static/index.html,sha256=JxdsgzjJ5nGeDD1ROXI00w8rwsD7wXXOwitizxe8AWs,3298
29
- epi_viewer_static/viewer_lite.css,sha256=oCEiEYbvdlaMwz-MPlrk3LoTVOad-bDLlP-X49Yw0o0,4691
30
- epi_recorder-2.1.3.dist-info/METADATA,sha256=BjvScqRYo2TUl_PYAeBz1MpEObF5u-hc7nmBV2t5Eqo,16246
31
- epi_recorder-2.1.3.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
32
- epi_recorder-2.1.3.dist-info/entry_points.txt,sha256=MfMwqVRx_yMGbuPpiyjz2f8fQp8TUbHmRC1H_bupoyM,41
33
- epi_recorder-2.1.3.dist-info/top_level.txt,sha256=kvGAjj3uNol1hxRi29Ec-B4HuYK6t-MD7wflkENQA6g,64
34
- epi_recorder-2.1.3.dist-info/RECORD,,