Skip to main content

Python SDK for Zanii Connect — OAuth connections and tool execution for AI agents

Project description

zanii-connect — Python SDK

Python client for Zanii Connect: OAuth connections, encrypted token vault, and audited tool execution for AI agents.

Install

pip install zanii-connect

Requires Python 3.10+.

Quickstart

from zanii_connect import ZaniiClient

# Agents/services authenticate with a scoped API key:
nc = ZaniiClient(api_key="nsk_...")

# Or as a user (JWT):
nc = ZaniiClient(email="info@zanii.agency", password="...")

print(nc.me()["organization"]["name"])

# Connect a provider (open the returned URL in a browser to complete OAuth):
url = nc.connect("gmail", redirect_url="https://vault.zanii.agency/api/v1/connect/oauth/callback")["url"]

# Discover tools and execute one:
conn = nc.connections()["connections"][0]
found = nc.execute("gmail.search", connection_id=conn["id"], parameters={"query": "invoice"})

# Actions that need human approval return an approval link instead of executing:
res = nc.execute("gmail.sendEmail", connection_id=conn["id"],
                 parameters={"to": "info@zanii.agency", "subject": "Hi", "body": "Hello"})
if res.get("requires_approval"):
    print("Ask a human to confirm:", res["approval_url"])

# Long-running work goes through the job queue:
job = nc.execute_async("browser.run", connection_id=conn["id"], parameters={...})
result = nc.wait_for_job(job["job_id"], timeout=300)

Async

from zanii_connect import AsyncZaniiClient

async with AsyncZaniiClient(api_key="nsk_...") as nc:
    tools = await nc.tools()

Same methods as the sync client; with email/password call await nc.login(email, password) once after construction.

Behavior

  • Retries: 429/502/503/504 are retried up to 3 times with exponential backoff.
  • Idempotency: pass idempotency_key= to execute() to make retries safe for side-effecting actions.
  • Errors: non-2xx responses raise ZaniiError with .status_code and .detail.
  • MCP: AI agents that speak MCP don't need this SDK — point them at POST https://vault.zanii.agency/api/v1/mcp with an X-API-Key header.

Surface

Covers the full API:

  • Account: signup, login, me, update_profile, change_password, forgot_password, reset_password, email verification, MFA (mfa_enroll/mfa_enable/mfa_disable)
  • API keys: create_api_key (plaintext returned once), api_keys, delete_api_key
  • Org & team: org, usage, update_org, export_org, delete_org, users, invite_user, update_user, deactivate_user, roles (permissions, roles, upsert_role, delete_role), workspaces/projects/environments
  • Registry: providers, provider, provider_actions, actions, action, tools, tool, dynamic-registry admin (register_provider, register_action, unregister_action)
  • Connections: connect, connections, connections_health, delete_connection, share_connection
  • Execution: execute, execute_async, job, wait_for_job · approvals (approvals, approve)
  • Browser sandbox: create_browser_session, browser_session, browser_run, browser_run_async
  • Secrets / automation: secrets, set_secret, delete_secret, triggers, webhook subscriptions
  • Observability: executions, audit, audit_export_csv, health

License

MIT © Zanii Agency

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zanii_connect-0.1.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zanii_connect-0.1.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file zanii_connect-0.1.1.tar.gz.

File metadata

  • Download URL: zanii_connect-0.1.1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for zanii_connect-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f67bf4d0c4f4e18777311aa1deb2a4f09b96cdc306d729629424bd9cd54db81c
MD5 e0b5a1976e1a5f491428663dc82eedf8
BLAKE2b-256 dbd7b79543d892619c00d0887ed95b25d3e0411d8b9f4f119ee757ab1424ab09

See more details on using hashes here.

File details

Details for the file zanii_connect-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: zanii_connect-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for zanii_connect-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d54b23c041da2a2777fb3703022597476bdc3e9b79226e79139af6db23fdf97f
MD5 ed7d4e920e1eb3fa1135550c50719f86
BLAKE2b-256 33350a88cbe447b70c6b8f58fcaea868b73e93fa777e04f53e5eb2a1af4fa9c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page