Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openbot-sdk

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.

Install

pip install openbot-sdk

Requires Python 3.9+.

Authentication

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_...")

Call platform APIs

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.

Errors, retries, and security

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.

Webhooks

from openbot_sdk import verify_signature

verify_signature(raw_request_bytes, signature_header, webhook_secret)

Pass the raw bytes unchanged.

Development

pip install -e ".[dev]"
python scripts/check_version.py
pytest -v
ruff check src tests
mypy src
python -m build

VERSION is the package version source of truth. Release tags use v<version>.

Package boundaries

  • openbot-sdk: OpenBot platform API client.
  • openbot-data: local robot/ego data processing library.
  • OpenBot platform: server-side API implementation and infrastructure.

License

MIT

About

openbot sdk

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages