Skip to main content

roboto-sai-sdk

Python SDK for the Roboto SAI platform — the canonical client and source of truth for public model names, runtime profiles, and the frozen runtime contract.

Install

pip install roboto-sai-sdk

Requires Python 3.10+.

What pip install roboto-sai-sdk pulls in (0.7.0+)

Since 0.7.0 the core install is the full roboto-sai.com backend runtime including its heavy ML stack and PyTorch, so the site needs nothing but pip install roboto-sai-sdk — there are no [site]/[server] extras. That is 48 direct requirements and ~190–210 installed distributions. Measured site-packages on Linux x86_64:

Install path site-packages
CPU torch first (below), then pip install roboto-sai-sdk ~2.0 GB
plain pip install roboto-sai-sdk from PyPI (resolves the CUDA torch build + nvidia-* wheels) ~6.4 GB

CPU-only install (servers and CI without a GPU) — install torch from the PyTorch CPU index first; pip then treats torch==2.14.1 as satisfied and skips the CUDA build:

pip install torch==2.14.1 --index-url https://download.pytorch.org/whl/cpu
pip install roboto-sai-sdk

Warning: a Render 512 MB Starter instance previously ran out of memory (OOM-killed) with this heavy stack installed. Use a larger instance, or keep heavy imports lazy.

  • Web/ASGI: fastapi, uvicorn, uvloop (not on Windows), httptools, pydantic[email], pydantic-settings, python-multipart, python-dotenv, websockets
  • HTTP: httpx (the only one the SDK code itself imports), requests, aiohttp, urllib3
  • Storage/queues: sqlalchemy, aiosqlite, redis, aioredis, celery, kombu
  • Security/content: cryptography, PyJWT, bcrypt, bleach, itsdangerous, defusedxml, mistune, pygments, pillow
  • Ops: psutil, structlog, slowapi, prometheus-client, opentelemetry-distro, opentelemetry-instrumentation-fastapi
  • Integrations (exact pins): mcp==2.2.0, supabase==2.31.0, plus boto3
  • ML: torch==2.14.1, numpy (<3), transformers, sentence-transformers, accelerate, onnxruntime, chromadb, networkx, rank-bm25, langchain-community, matplotlib

On Python 3.10, sqlalchemy, onnxruntime, networkx and matplotlib resolve to their newest 3.10-capable lines (the site's floors need 3.11+). Not included: xai-sdk (opt in with pip install "roboto-sai-sdk[xai]"). The machine-readable list is roboto_sai_sdk/contracts/dependency_contract.json. Need only the lightweight client? Pin roboto-sai-sdk<0.7.

Quick Start

from roboto_sai_sdk import RobotoSAI

client = RobotoSAI()  # uses SAI_ACCESS_TOKEN from env
result = client.send_message("Review this repository and propose the next refactor.")

print(result["model"])      # "roboto-sai"
print(result["subtitle"])   # "Core runtime"
print(result["text"])       # assistant reply

Stream mode:

from roboto_sai_sdk import RobotoSAI, extract_text_delta

client = RobotoSAI(model="roboto-sai")
for event in client.stream("List five things to test in a new SDK release."):
    print(extract_text_delta(event), end="", flush=True)

Personal Memory

Retrieve the authenticated user's memories (Supabase-backed) with the same token:

from roboto_sai_sdk import RobotoSAI

client = RobotoSAI()
for mem in client.list_memories(limit=10):
    print(mem["category"], "—", mem["content"])

hits = client.search_memories("what did I say about the launch?", limit=5)

Public Model Surface

The SDK exposes four canonical models:

Model Mode Use
roboto-sai single-agent Core general intelligence
roboto-sai-code-x single-agent Code generation, debugging, architecture
roboto-sai-cortex multi-agent Deep orchestration with research capabilities
roboto-sai-rovox single-agent (audio) Voice/audio I/O — separate realtime path

Use only canonical roboto-sai-* names. Legacy aliases (e.g. roboto-sai-lightning, -heavy, -flex) were removed in 0.2.0.

Inspect Runtime Profiles

from roboto_sai_sdk import (
    DEFAULT_PUBLIC_MODEL,
    PUBLIC_MODEL_NAMES,
    get_runtime_profile,
)

print(DEFAULT_PUBLIC_MODEL)             # "roboto-sai"
print(sorted(PUBLIC_MODEL_NAMES))       # all 4 names
print(get_runtime_profile("roboto-sai"))

Authentication

The Roboto SAI API authenticates with a Supabase JWT. The SDK resolves it in this order:

  1. Explicit access_token=... argument
  2. SAI_ACCESS_TOKEN environment variable

Get a token by logging in (e.g. roboto-sai auth login in the CLI). Set SAI_API_BASE_URL to override the default base URL (https://api.roboto-sai.com).

Public API

The stable surface is roboto_sai_sdk.__all__ (17 names; client, memory, keys, and MCP are lazy-loaded on first access):

RobotoSAI, SendMessageResult, StreamEvent, extract_text_delta, Memory, DEFAULT_PUBLIC_MODEL, PUBLIC_MODEL_NAMES, RuntimeProfile, get_runtime_profile, normalize_public_model, get_mcp_config, get_public_runtime_contract, CONTRACT_VERSION, CONTRACT_LAST_UPDATED, SAI_ACCESS_TOKEN, resolve_access_token, hash_key

import roboto_sai_sdk

assert roboto_sai_sdk.__all__ == [
    "RobotoSAI",
    "SendMessageResult",
    "StreamEvent",
    "extract_text_delta",
    "Memory",
    "DEFAULT_PUBLIC_MODEL",
    "PUBLIC_MODEL_NAMES",
    "RuntimeProfile",
    "get_runtime_profile",
    "normalize_public_model",
    "get_mcp_config",
    "get_public_runtime_contract",
    "CONTRACT_VERSION",
    "CONTRACT_LAST_UPDATED",
    "SAI_ACCESS_TOKEN",
    "resolve_access_token",
    "hash_key",
]

Voice/audio (roboto-sai-rovox) requires the realtime integration — send_message and stream raise NotImplementedError for that model. A future RobotoSAIVoice client will land in a separate release.

Repository

Source code, examples, and full release notes: https://github.com/Roboto-SAI-LLC/roboto-sai-sdk

License

Proprietary. See LICENSE in the repository.

Metadata

Release files for roboto-sai-sdk 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roboto-sai-sdk 0.7.0
File Size Uploaded
roboto_sai_sdk-0.7.0.tar.gz 32.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for roboto-sai-sdk 0.7.0
File Interpreter ABI Platform
roboto_sai_sdk-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.7 kB

Release files / roboto_sai_sdk-0.7.0.tar.gz

Download URL roboto_sai_sdk-0.7.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c9ff35a331a32aa485591f22c711b0683de74cfb8dce118fb563ba5480d84693
BLAKE2b-256 checksum
How to use checksums
6ae0a3f2bf80809876cb9a53e4b263e0b593c408642585d4d40e76cf2a0f02d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / roboto_sai_sdk-0.7.0-py3-none-any.whl

Download URL roboto_sai_sdk-0.7.0-py3-none-any.whl
Size 25.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84450610c4731056c7119770ae8f8fc47f0158c73b93986dd4d2384fb6a016a7
BLAKE2b-256 checksum
How to use checksums
d5d813cfa1945a964e6fc355ef01209105ac2655ff6a4705f62ebcafb9be4f14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release history Release notifications | RSS feed

0.7.1

2 release files

This release

0.7.0 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page