Paybond Kit for Python: tenant-bound Harbor sessions, evidence signing, and agent-runtime hooks.
Project description
paybond-kit
Paybond Kit for Python provides a tenant-bound Harbor client, gateway-authenticated service-account sessions, canonical signing for intent creation and evidence submission, tenant-scoped ledger provenance reads, tenant-scoped Signal analytics and reputation reads, plus first-party hooks for the OpenAI Agents SDK and LangGraph.
Install the public package with:
pip install "paybond-kit[agents,langgraph]"
Open source
paybond-kit is distributed as open-source software under the Apache 2.0 license. The source repo and published artifacts include the full license text in LICENSE.
Requirements
- Python 3.11+
- A
paybond_sk_...service-account API key - Reachable Gateway and Harbor base URLs
Published wheels bundle the paybond_kit._native extension. maturin develop is only required when building from a local checkout.
Tenant isolation
Every session is bound to the tenant realm echoed by gateway-authenticated service-account introspection and Harbor access exchange flows.
- Do not pass tenant ids by hand for normal SDK usage.
- Construct one
Paybondsession per tenant/service account. - Treat any tenant or intent echo mismatch from Harbor as a severity-zero defect.
Quick start
import asyncio
import os
from uuid import UUID
from paybond_kit import Paybond
async def main() -> None:
paybond = await Paybond.open(
gateway_base_url="https://gateway.example.com",
api_key=os.environ["PAYBOND_API_KEY"],
harbor_base_url="https://harbor.example.com",
)
try:
verified = await paybond.harbor.verify_capability(
intent_id=UUID(os.environ["PAYBOND_INTENT_ID"]),
token=os.environ["PAYBOND_CAPABILITY"],
operation="payments.capture",
requested_spend_cents=18_700,
)
if not verified.allow:
raise RuntimeError(f"verify denied: {verified.code or 'deny'} {verified.message or ''}")
finally:
await paybond.aclose()
asyncio.run(main())
What the package includes
Paybond.open(...)for gateway-authenticated, tenant-derived Harbor sessionsHarborClientfor capability verification, intent creation, evidence submission, and ledger readsGatewaySignalClientandServiceAccountSignalSessionfor tenant-scoped Signal readspaybond.signalonPaybondsessions opened from one service-account API keyPaybondIntentshelpers for principal-side and payee-side signing flows- Optional extras for
agentsandlanggraph
allowed_tools values are your own tool or operation names, not a Paybond-owned catalog. Harbor enforces string matching against whatever names you chose when creating the intent.
What it does not include
- No operator-tier settlement or console workflows
Source build
For local development from this directory:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
maturin develop
Use this path when you are editing the package itself or rebuilding the bundled native extension locally.
Docs
- Long-form docs:
docs/kit/ - Python quickstart:
docs/kit/quickstart-python.md - Python SDK reference:
docs/kit/sdk-reference-python.md - OpenAI Agents example:
examples/paybond-kit-openai-agents-python/ - LangGraph example:
examples/paybond-kit-langgraph-python/
Release verification
From kit/python:
python3 scripts/verify_release.py
This builds wheel and sdist artifacts, inspects them for stray local files, validates metadata/extras, and smoke-installs the built wheel in a temporary virtual environment.
Publish to PyPI
From kit/python:
export MATURIN_PYPI_TOKEN="pypi-..."
./scripts/publish_release.sh
This reruns release verification and then publishes the sdist and wheel with maturin publish --non-interactive.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paybond_kit-0.2.1.tar.gz.
File metadata
- Download URL: paybond_kit-0.2.1.tar.gz
- Upload date:
- Size: 29.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
457d699cd74dfe0e3b42c3cbf5c8372cc4ec4b27732f5f688a9fea44e124ea86
|
|
| MD5 |
3b9bf14569d2dca778763dfe00f3e914
|
|
| BLAKE2b-256 |
2d82fa93139fc92128932907cbf5d49178a29ebcc7f2f9c29de7a02691b95b70
|
File details
Details for the file paybond_kit-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: paybond_kit-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 389.1 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d379296efcfb6960a3ac21c77bfd3197502db7a70b28981800956348370e170
|
|
| MD5 |
334a7f998be8420a1a02f932b350d68a
|
|
| BLAKE2b-256 |
0c97d47a38000bfe9ca68c4b155b370fcb1cb4747125db27bd5db95053b7c37f
|