Metadata-Version: 2.4
Name: zambo-sdk
Version: 0.1.0
Summary: Zambo Python client — 100+ MCP tools, verifiable receipt for every call, no API key
Author: Brennan Zambo
License: MIT
Project-URL: Homepage, https://zambo.dev
Project-URL: Documentation, https://zambo.dev/docs
Keywords: zambo,mcp,ai-tools,agents,receipts
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# zambo-sdk

Thin Python client for [Zambo](https://zambo.dev) — the trust layer for AI work. 100+ native MCP tools, a verifiable receipt for every call. Free 20 calls/tool/day, no account, no API key. Zero dependencies.

> **Name note:** the distribution name is pending final pick (`zambo-sdk`, `zambo-dev`, `zambo-api`, `pyzambo`, `zambodotdev`, `zambopy` are all free on PyPI). The import package is `zambo_sdk` regardless.

## Install

```bash
pip install zambo-sdk
```

## Quickstart

```python
from zambo_sdk import Client, verify_receipt

z = Client()

# 1. Call a tool — plain JSON-RPC, no API key
result = z.call("live_price", {"symbol": "BTC"})
print(result.text)
print("receipt:", result.receipt_id)
print("audit:  ", result.audit_url)

# 2. Route any goal through the universal entry point
job = z.universal("audit https://example.com for AI discoverability", session="demo-1")
print(job.text)

# 3. Search the full 100+ tool catalog
found = z.search("generate QR code")
print(found.text)

# 4. Verify a receipt client-side (recomputes the sha256 locally)
v = verify_receipt(result.receipt_id)
print("verified:", v.verified, v.checks)
```

## API

- `Client().call(tool, arguments)` → `CallResult` (`.text`, `.receipt_id`, `.audit_url`, `.receipt`)
- `Client().list_tools()` → list of tool descriptors
- `Client().search(query)` → search the full catalog via `capability_search`
- `Client().universal(goal, session=None)` → multi-step jobs via `zambo_universal`
- `get_receipt(receipt_id)` → full receipt JSON
- `verify_receipt(receipt_id)` → `Verification` (`.verified`, `.checks`, `.audit_url`)

`verify_receipt` checks three things: the receipt exists, the server marks it `verified`, and — recomputed locally so the server can't fake it — `sha256(canonical_bytes) == output_hash`, plus the presence of the anchor record.

## Notes

- Endpoint: `https://zambo.dev/api/mcp` (JSON-RPC 2.0 over HTTPS, `streamable_http`-compatible).
- Receipts: `https://zambo.dev/api/receipt/<uuid>` (JSON), audit page `https://zambo.dev/run/<uuid>`.
- Need more than 20 calls/tool/day? The $1.49/24h Day Pass is at [zambo.dev](https://zambo.dev).
