This project has been archived by its maintainers, and is no longer receiving any updates.
zazu-sdk
Python SDK for the Zazu API.
Install
pip install zazu-sdk
Requires Python 3.11+.
Quick start
from zazu_sdk import Zazu
client = Zazu(api_key="sk_live_...")
client.entity.get()
client.accounts.list(currency_code="MAD")
client.customers.list(q="Acme")
client.customers.create(
customer_type="business",
company_name="Acme Corp",
email="billing@acme.com",
)
client.invoices.list()
client.payment_links.cancel(payment_link_id)
client.webhook_endpoints.list()
client.checkout_sessions.create(
account_id=account_id,
amount="100.00",
success_url="https://example.com/ok",
cancel_url="https://example.com/cancel",
)
client.checkout_sessions.get(session_id)
The client picks up ZAZU_API_KEY, ZAZU_BASE_URL, ZAZU_API_VERSION, and
ZAZU_TIMEOUT from the environment if you don't pass them.
Pagination
List endpoints return a Page. Iterate one page or chase cursors:
page = client.invoices.list(limit=25)
for invoice in page:
...
# All items, automatic cursor chasing:
for invoice in client.invoices.list().auto_paging_iter():
...
Errors
Nine concrete subclasses; discriminate with isinstance:
from zazu_sdk import (
ZazuValidationError,
ZazuRateLimitError,
ZazuNotFoundError,
)
try:
client.invoices.get("nope")
except ZazuNotFoundError as err:
print(err.status, err.request_id, err.body)
except ZazuRateLimitError as err:
print("retry after", err.retry_after, "seconds")
Cross-SDK contract
zazu-sdk is one of several Zazu SDKs that all replay cassettes recorded by
the canonical zazu-ruby SDK against
staging. The wire format is snake_case JSON; request and response shapes match
across Ruby, TypeScript, Python, Go, and Rust.
License
MIT.
Metadata
Release files for zazu-sdk 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zazu_sdk-0.2.1.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zazu_sdk-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.3 kB
Release files / zazu_sdk-0.2.1.tar.gz
| Download URL | zazu_sdk-0.2.1.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f526e14845abdbd89279c5bdd045de17e19374f5dd310edeb1778ac1613ad2b1
|
|
BLAKE2b-256 checksum How to use checksums |
51b1cffa0a2ca9d34e0c7c130c53d587f5b90d921958831ee1b5a96d0421ffd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency logRelease files / zazu_sdk-0.2.1-py3-none-any.whl
| Download URL | zazu_sdk-0.2.1-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a89e42d95b2e7c08a2bbde9e6e5c05e82e398eaa32dd0c13c6c0234ad5632fd4
|
|
BLAKE2b-256 checksum How to use checksums |
eb219204c9736b556efb86eaf16634e2bfedbfce6fa8f61bbbe9674d03bf1e0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency log