openbot-sdk is the thin Python client for the
OpenBot.ai platform API.
It handles API-key authentication, HTTP requests, timeouts, bounded retries, and typed errors. It does not process robot data and is not tied to a Hosted Data product.
pip install openbot-sdkRequires Python 3.9+.
export OPENBOT_API_KEY="ob_..."from openbot_sdk import Client
client = Client() # reads OPENBOT_API_KEY
status = client.request("GET", "/status")
print(status)You can also pass the key explicitly:
client = Client(api_key="ob_...")Use request for JSON APIs and request_bytes for byte responses:
payload = client.request(
"POST",
"/some-resource",
json={"name": "example"},
headers={"Idempotency-Key": "request-123"},
)
content = client.request_bytes("GET", "/some-artifact")Only call routes published in the current OpenBot OpenAPI document. As the platform adds real APIs, the SDK may add small convenience wrappers for those same contracts.
The package currently retains the client.bench wrapper for the platform's
existing Bench contract. Bench execution is a deterministic mock today, not
robot or simulator evaluation evidence.
from openbot_sdk import APIError, NetworkError
try:
payload = client.request("GET", "/status")
except APIError as exc:
print(exc.status_code)
except NetworkError as exc:
print(exc)The client retries idempotent methods and mutations carrying an
Idempotency-Key on transport errors, 429, and transient 5xx responses.
Plain HTTP base URLs are rejected by default; enable them only for explicit
local testing.
from openbot_sdk import verify_signature
verify_signature(raw_request_bytes, signature_header, webhook_secret)Pass the raw bytes unchanged.
pip install -e ".[dev]"
python scripts/check_version.py
pytest -v
ruff check src tests
mypy src
python -m buildVERSION is the package version source of truth. Release tags use v<version>.
openbot-sdk: OpenBot platform API client.openbot-data: local robot/ego data processing library.- OpenBot platform: server-side API implementation and infrastructure.
MIT