Skip to main content

Python SDK for the SmartBlocks Network -- attestation, BitBlock streaming, GEC compute, SnapChore integrity, governance, and more.

Project description

SmartBlocks Network Python SDK

Canonical Python client for the SBN infrastructure. Covers the full network surface — gateway, SnapChore, console, and control plane.

Install

pip install sbn-sdk
# or from source
cd sdk/python && pip install -e .

Quick start

from sbn import SbnClient

client = SbnClient(base_url="https://api.smartblocks.network")
client.authenticate_api_key("sbn_live_abc123")

# SnapChore — capture, verify, seal
block = client.snapchore.capture({"event": "signup", "user": "u-42"})
client.snapchore.verify(block["snapchore_hash"], {"event": "signup", "user": "u-42"})
client.snapchore.seal(block["snapchore_hash"], {"event": "signup", "user": "u-42"})

# Gateway — slots, receipts, attestations
slot = client.gateway.create_slot(worker_id="w-1", task_type="classify")
receipt = client.gateway.fetch_receipt(slot.receipt_id)

# Console — API keys, usage, billing
keys = client.console.list_api_keys("proj-123")
usage = client.console.get_usage("proj-123")

# Control plane — rate plans, tenants, validators
plans = client.control_plane.list_rate_plans()
client.control_plane.create_tenant(
    name="Acme Corp",
    contact_email="ops@acme.co",
    aggregator_endpoint="https://agg.acme.co",
    rate_plan_id=plans[0].id,
)

Auth methods

# API key (most common for external devs)
client.authenticate_api_key("sbn_live_...")

# Bearer token (console sessions, service-to-service)
client.authenticate_bearer("eyJ...")

# Ed25519 signing key (auto-refreshing JWTs for agents)
from sbn import SigningKey
key = SigningKey.from_pem("/path/to/key.pem", issuer="my-svc", audience="sbn")
client.authenticate_signing_key(key, scopes=["attest.write", "snapchore.seal"])

Sub-clients

Property Domain Key operations
client.gateway Slots & receipts create_slot, close_slot, fetch_receipt, request_attestation
client.snapchore Hash capture capture, verify, seal, create_chain, append_to_chain
client.console Developer console list_api_keys, create_api_key, get_usage, get_billing_status
client.control_plane Multi-tenancy list_rate_plans, create_tenant, register_validator

Legacy compatibility

The original sbn_gateway.py single-file SDK is preserved for backward compatibility. New integrations should use from sbn import SbnClient.

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

sbn_sdk-0.9.2.tar.gz (74.1 kB view details)

Uploaded Source

Built Distribution

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

sbn_sdk-0.9.2-py3-none-any.whl (100.6 kB view details)

Uploaded Python 3

File details

Details for the file sbn_sdk-0.9.2.tar.gz.

File metadata

  • Download URL: sbn_sdk-0.9.2.tar.gz
  • Upload date:
  • Size: 74.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for sbn_sdk-0.9.2.tar.gz
Algorithm Hash digest
SHA256 5c75741d3db99fe844ae7c924030ef814592af9570f61a3176ec0bed45263f69
MD5 bc4d6d74adf08cb73786511e3435ae74
BLAKE2b-256 d6f21a8bce5935d51a20530775afc28df9f72090f58fa0430ac6f4865b3a1a17

See more details on using hashes here.

File details

Details for the file sbn_sdk-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: sbn_sdk-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 100.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for sbn_sdk-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd5777f76337dc578991ea7d2e3a62737ce9fe978e2ff9ac9f827152a828b541
MD5 6c1611de9bbf14ad2ddd71a4e9494e00
BLAKE2b-256 04dbac3e3dc093b3a34881fe2253dc2eef897580f633899e8fe8e5f598a2c242

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