atlast-ecp
Python SDK for the ATLAST Evidence Chain Protocol (ECP) — trust infrastructure for AI agents.
Install
One-liner (handles Homebrew Python, venvs, PEP 668 distros automatically):
# macOS / Linux
curl -sSL https://weba0.com/install.sh | bash
# Windows (PowerShell)
irm https://weba0.com/install.ps1 | iex
Or install manually:
# Default — works on Homebrew / system Python / locked-down distros
pip install --user atlast-ecp
# Inside a venv or conda env — drop the --user flag:
pip install atlast-ecp
# Extras
pip install --user atlast-ecp[crypto] # ed25519 signing
pip install --user atlast-ecp[proxy] # transparent proxy (Layer 0)
pip install --user atlast-ecp[all] # everything
Why
--user? Modern macOS Homebrew Python and Debian 12 / Ubuntu 23+ enforce PEP 668 and reject plainpip installwithexternally-managed-environment.--userinstalls to your user site-packages and bypasses the restriction on every platform. If you're already inside a virtualenv, you don't need--user.
Three Integration Layers
Layer 0 — Zero Code (transparent proxy)
atlast run python my_agent.py
# or: OPENAI_BASE_URL=http://localhost:8340 python my_agent.py
Layer 1 — One Line (wrap)
from atlast_ecp import wrap
from openai import OpenAI
client = wrap(OpenAI()) # Records every LLM call automatically
response = client.chat.completions.create(model="gpt-4o", messages=[...])
Works with: OpenAI, Anthropic, Google Gemini, LiteLLM.
Layer 2 — Framework Adapters
# LangChain
from atlast_ecp.adapters.langchain import ATLASTCallbackHandler
llm = ChatOpenAI(callbacks=[ATLASTCallbackHandler(agent="my-agent")])
# CrewAI
from atlast_ecp.adapters.crewai import ATLASTCrewCallback
crew = Crew(callbacks=[ATLASTCrewCallback(agent="my-crew")])
# AutoGen
from atlast_ecp.adapters.autogen import register_atlast
register_atlast(my_agent)
CLI
atlast init # Initialize ~/.ecp/
atlast record # Create ECP record
atlast log # View latest records
atlast verify <id> # Verify chain integrity
atlast stats # Trust signals
atlast insights # Performance analytics
atlast proxy # Start transparent proxy
atlast run <cmd> # Run with auto-proxy
atlast did # Agent DID
Module Stability
| Module | Status | Description |
|---|---|---|
core |
🟢 Stable | record_minimal(), record() |
wrap |
🟢 Stable | wrap(client) for OpenAI/Anthropic/Gemini |
record |
🟢 Stable | ECP record creation (v1.0 spec) |
batch |
🟢 Stable | Merkle tree + batch upload |
verify |
🟢 Stable | Signature + Merkle proof verification |
storage |
🟢 Stable | Local ~/.ecp/ file storage |
signals |
🟢 Stable | Trust signal computation |
identity |
🟢 Stable | DID + Ed25519 key management |
config |
🟢 Stable | Environment/config management |
insights |
🟢 Stable | Performance analytics |
webhook |
🟢 Stable | HMAC-signed webhook delivery |
adapters.* |
🟢 Stable | LangChain, CrewAI, AutoGen |
proxy |
🟡 Beta | Transparent HTTP proxy (Layer 0) |
a2a |
🟡 Beta | Agent-to-Agent handoff tracking |
cli |
🟡 Beta | atlast CLI |
mcp_server |
🟠 Experimental | MCP tools server |
otel_exporter |
🟠 Experimental | OpenTelemetry exporter |
openclaw_scanner |
🟠 Experimental | OpenClaw session log scanner |
auto |
🟠 Experimental | OTel auto-instrumentation |
Privacy
- Content never leaves your device — only SHA-256 hashes transmitted
- Local storage:
~/.ecp/records/ - On-chain: Merkle root only (EAS on Base)
- Fail-Open: SDK errors never crash your agent
Links
Release files for atlast-ecp 0.32.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| atlast_ecp-0.32.12.tar.gz | 534.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| atlast_ecp-0.32.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1000.0 kB
Release files / atlast_ecp-0.32.12.tar.gz
| Download URL | atlast_ecp-0.32.12.tar.gz |
|---|---|
| Size | 534.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
68a46c5e172c6ba65cb966666cd1a5c1a3c48404b199deeb6f4e074a12e7d94c
|
|
BLAKE2b-256 checksum How to use checksums |
10c118271131b316cceb8facfb24813ac665fe5197e4a19ba3200bbbf31f2ca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / atlast_ecp-0.32.12-py3-none-any.whl
| Download URL | atlast_ecp-0.32.12-py3-none-any.whl |
|---|---|
| Size | 465.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36f680155120eb2799d2b7cc58b070a38ae2d1d70f4cd83fd8fe1bb73b9f1986
|
|
BLAKE2b-256 checksum How to use checksums |
0546d2dd2f3dee3559e33431c5e8a7af26e30c39eec7ddfa0255d9c2cd569c10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|