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.3.0, supabase==2.32.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.1

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.1
File Size Uploaded
roboto_sai_sdk-0.7.1.tar.gz 32.5 kB Details

Built distribution (wheel)

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

Total release size: 57.7 kB

Release files / roboto_sai_sdk-0.7.1.tar.gz

Download URL roboto_sai_sdk-0.7.1.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
23de0a4a27ef142836c9512e8dece3bb901bd2919f06676a7b66db94fa2f3d0c
BLAKE2b-256 checksum
How to use checksums
88105d2d49a95fb13890696663fa61a7cee990d3d50b8e9e986b7f04edf43576
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.1-py3-none-any.whl

Download URL roboto_sai_sdk-0.7.1-py3-none-any.whl
Size 25.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26df1d9ca2b6c4c4277626f73eebedec93d8f84451831ad506494c3096382cbc
BLAKE2b-256 checksum
How to use checksums
dcab617fc161d5701e23a69cedb054e8511062fa3f8e73ffaad4280dbd3e9691
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

This release

0.7.1 This release

2 release files

0.7.0

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