Metadata-Version: 2.1
Name: crewai-zambo
Version: 0.1.9
Summary: Verifiable AER-1 execution receipts for CrewAI agents. Every task event publishes a verifiable receipt at zambo.dev.
Author: Zambo
License: MIT
Project-URL: AER-1 standard, https://zambo.dev/aer1/
Project-URL: Add Zambo to your AI, https://zambo.dev/add
Project-URL: Homepage, https://zambo.dev
Project-URL: Documentation, https://zambo.dev/integrations/crewai-receipts/
Keywords: crewai,ai agent receipt,verifiable receipt,observability,mcp,verifiable-execution-receipts,execution-receipts,verifiable-receipt
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# crewai-zambo

**AER-1, the agent execution receipt standard: [zambo.dev/aer-1](https://zambo.dev/aer-1/) | Add Zambo to your AI: [zambo.dev/add](https://zambo.dev/add)**

Zambo is the verifiable work layer for AI. This package publishes CrewAI task events as verifiable AER-1 receipts at zambo.dev.

Receipt format: AER-1, IETF Internet-Draft [draft-zambo-aer1-26](https://datatracker.ietf.org/doc/draft-zambo-aer1/26/).

Verifiable AER-1 execution receipts for CrewAI agents. Publish CrewAI task events as public, verifiable receipts at [zambo.dev](https://zambo.dev).

Receipts follow [AER-1](https://zambo.dev/aer-1/), the IETF draft for verifiable execution receipts created by Brennan Zambo.

## Install

```bash
pip install crewai-zambo
```

## Ten-line example

```python
from crewai_zambo import ZamboCrewListener

listener = ZamboCrewListener()
result = listener.on_task_completed("Summarize this task", "completed")
print(listener.last_receipt_url or result)
```

Attach `ZamboCrewListener` to the CrewAI listener mechanism supported by your installed CrewAI version, or call `on_task_completed` from a task completion hook. The listener prints each public `https://zambo.dev/run/{id}` URL and keeps the most recent URL in `last_receipt_url`.

The receipt describes what the live endpoint recorded and observed. It does not prove an outside outcome that the endpoint did not observe. Set `ZAMBO_API_URL` when using a compatible Zambo host. Listener failures are available in `receipt_errors`.

## Local AER-1 receipts (no network needed)

The package also mints AER-1 execution receipts locally, with no API calls. Pass `emit_aer1=True` to record every event as a verifiable receipt on your own machine:

```python
from crewai_zambo import ZamboCrewListener

listener = ZamboCrewListener(emit_aer1=True)
listener.on_task_completed("Summarize this task", "completed")

receipt = listener.last_local_receipt
print(receipt["id"], receipt["output_hash"])
```

Or mint receipts directly for any tool call:

```python
from crewai_zambo import mint_receipt, verify_receipt

receipt = mint_receipt("my_tool", {"query": "hello"}, {"answer": "hi"}, ms=42)
assert verify_receipt(receipt)  # recomputes the SHA-256 locally
```

Local receipts follow the AER-1 core members (`id`, `created_at`, `tool`, `provenance_class`, `canonical_bytes`, `output_hash`) and use the provenance class `EXECUTED BY CREWAI-ZAMBO`, naming this package as the recording system. They pass the same hash-recomputation check as any AER-1 receipt.

Project homepage: [https://zambo.dev](https://zambo.dev)
AER-1 receipt spec: [https://zambo.dev/aer-1/](https://zambo.dev/aer-1/)

## Guides

- [Execution Receipts for AI Agent Frameworks](https://zambo.dev/guides/framework-agent-execution-receipts/)
- [What Is an AI Agent Execution Receipt?](https://zambo.dev/guides/ai-agent-execution-receipt/)

## Where these receipts run live: Zambo

crewai-zambo publishes every CrewAI task event as a verifiable AER-1 receipt at zambo.dev, and it has been downloaded 5,308 times on PyPI. The live home of those receipts is Zambo, the verifiable work layer for AI. Connect any AI to the live endpoint at https://zambo.dev/mcp or add Zambo to your AI in one step at https://zambo.dev/add/

Free tier: 20 calls + 1 wrap-up free every day; picking up in another AI is always free. The Day Pass is $0.99 for 24 hours, unlimited.

Install:

    pip install crewai-zambo
