Python SDK

View on PyPI


Installation

bash
pip install kubbi

Send a single-content kubbi

python
from kubbi import KubbiClient

client = KubbiClient(api_key="kb_your_api_key")

result = client.send(
    content="sensitive data here",
    content_type="text/plain",
    ttl_seconds=3600,
    max_retrievals=1,
)

print(result.claim_url)
# https://api.kubbi.ai/r/abc123xyz

Send multiple files in one kubbi

python
result = client.send_files(
    files=[
        {"name": "config.json", "content": '{"env":"prod"}', "content_type": "application/json", "role": "config"},
        {"name": "notes.md", "content": "# Notes\nDeploy instructions.", "content_type": "text/markdown", "role": "instructions"},
    ],
    ttl_seconds=3600,
    max_retrievals=1,
)

print(result.claim_url)
print(result.file_count)  # 2

Claim a kubbi

Consumer functions are standalone. No API key needed.

python
from kubbi import claim

result = claim("https://api.kubbi.ai/r/abc123xyz")

print(result.content)
# "sensitive data here"
print(result.content_type)
# "text/plain"

Inspect before claiming

python
from kubbi import inspect

meta = inspect("https://api.kubbi.ai/r/abc123xyz")

print(meta.status)           # "active"
print(meta.content_type)     # "text/plain"
print(meta.retrieval_count)  # 0
print(meta.max_retrievals)   # 1

Delete a kubbi early

python
client.delete("d290f1ee-6c54-4b01-90e6-d701748f0851")
# Payload is wiped immediately. Further claims return 410 Gone.

Async usage

python
from kubbi import AsyncKubbiClient, aclaim

async with AsyncKubbiClient(api_key="kb_your_api_key") as client:
    result = await client.send(content="data", content_type="text/plain", ttl_seconds=600)
    claimed = await aclaim(result.claim_url)