Skip to main content

Roboto SDK

Roboto is the analytics engine for Physical AI: ingest, search, and analyze your robotics data at scale, and put AI agents to work on it 🤖

Most robotics teams start with manual review: visualizing logs and replaying data. That approach alone doesn't scale; your fleet generates more data than your team can ever review. Roboto helps you go from raw logs to root cause 🚀 Ingest ROS 1, ROS 2, PX4, ArduPilot, Parquet, CSV, video, and journal logs (see Data Formats), query data across your fleet, define custom actions to post-process it, and let AI agents search, triage, and summarize it for you.

This package is the official Python SDK for Roboto. The roboto command line utility is distributed separately as standalone binaries (see CLI below).

If this is your first time using Roboto, start with the docs and the core concepts.

Install

  • The Roboto Python SDK is available on PyPI.
  • Requirements: Python 3.10+
pip install roboto

Then authenticate:

  1. Sign up at app.roboto.ai and create an access token (docs)
  2. Save your access token to ~/.roboto/config.json
  3. Verify your credentials are configured correctly:
python -m roboto.cli users whoami

See the complete SDK documentation.

To rule out both, confirm your Python version meets the requirement:

python3 -c "import sys; assert sys.version_info >= (3, 10), f'Python 3.10+ required, found {sys.version}'"

Create and activate a virtual environment:

# macOS/Linux
python3 -m venv .venv && source .venv/bin/activate

# Windows
python -m venv .venv && .venv\Scripts\activate

Then re-run pip install roboto.

Optional features:

pip install roboto installs the core SDK. Some functionality depends on heavier third-party libraries that ship as optional extras, so you install them only when you need them:

Extra Install Enables
analytics pip install 'roboto[analytics]' Searching for similar signals (roboto.analytics.find_similar_signals) and reading topic data into pandas DataFrames (Topic.get_data_as_df, MessagePath.get_data_as_df). Adds fsspec, numpy, orjson, pandas, pyarrow, and stumpy.
ingestion pip install 'roboto[ingestion]' Parsing and writing topic data as Parquet, e.g. when building ingestion actions. Adds pandas and pyarrow.
video pip install 'roboto[video]' Extracting frames from video files (roboto.experimental.video). Adds av, numpy, and pillow.

Without the matching extra, these code paths raise an ImportError naming the extra to install. For example, calling find_similar_signals without the analytics extra raises:

ImportError: Missing optional dependency 'stumpy'. Re-install roboto using pip or conda with 'roboto[analytics]' to install a compatible version.

The examples extra provides the tooling needed to run the SDK's example notebooks, namely ipython, jupyter, matplotlib, and pillow. Use pip install 'roboto[examples]' before trying out the included examples.

Getting Started

The example below accesses topic data from an ingested ROS bag file:

from roboto import Dataset

ds = Dataset.from_id("ds_9ggdi910gntp")
bag = ds.get_file_by_path("scene57.bag")
steering_topic = bag.get_topic("/vehicle_monitor/steering")

steering_data = steering_topic.get_data(
    start_time="1714513576", # "<sec>.<nsec>" since epoch
    end_time="1714513590",
)

You can also create events:

from roboto import Event

Event.create(
  start_time="1714513580", # "<sec>.<nsec>" since epoch
  end_time="1714513590", 
  name="Fast Turn",
  topic_ids=[steering_topic.topic_id]
)

Or search for logs matching metadata and statistics with RoboQL:

from roboto import query, RobotoSearch
roboto_search = RobotoSearch(query.client.QueryClient())

query = '''
dataset.tags CONTAINS 'boston' AND
topics[0].msgpaths[/vehicle_monitor/vehicle_speed.data].max > 20
'''

results = roboto_search.find_files(query)

Or put an AI agent to work on your data and stream its findings as it goes:

from roboto.ai import AgentThread
from roboto.ai.agent_thread import AgentTextDeltaEvent

thread = AgentThread.start(
    "Look at dataset ds_9ggdi910gntp and check /vehicle_monitor/steering for anomalies."
)

for event in thread.events():
    if isinstance(event, AgentTextDeltaEvent):
        print(event.text, end="", flush=True)

The same agents are available in the web app's AI Chat and on the command line via roboto chat start.

See the notebooks directory for complete examples!

CLI

Use the CLI for quick tasks: creating datasets, uploading or downloading files, and running actions. Use the Python SDK for full platform coverage, data analysis, and integration with your other tools.

To use Roboto from the command line without the Python SDK, install the standalone CLI.

Pre-built binaries for every version are on the releases page of this package. We build for Linux (aarch64, x86_64), macOS (aarch64, x86_64), and Windows (x86_64). See per-platform installation instructions below.

The CLI provides the roboto command line utility. List available commands with roboto -h, or see the complete CLI reference documentation.

Linux

Run:

curl -fsSL https://raw.githubusercontent.com/roboto-ai/roboto-python-sdk/main/install.sh | bash

It installs roboto into ~/.local/bin, adds that directory to your shell's PATH, and runs roboto setup. Or install it yourself:

  • Go to the latest release page for this package
  • (apt) Download the relevant roboto .deb file for your platform
    • e.g. roboto-linux-x86_64_0.9.2.deb (not a roboto-agent release)
    • Double-click the downloaded .deb file to install it with apt
  • (non-apt) Download the relevant roboto file for your platform
    • e.g. roboto-linux-x86_64 (not a roboto-agent release)
    • Move the downloaded file to /usr/local/bin or another directory on your PATH

Coming soon: direct apt-get install support

macOS

Run:

curl -fsSL https://raw.githubusercontent.com/roboto-ai/roboto-python-sdk/main/install.sh | bash

It installs roboto into ~/.local/bin, adds that directory to your shell's PATH, and runs roboto setup. Or install with the Homebrew package manager:

brew install roboto-ai/tap/roboto

Or download the relevant Mac binary, e.g. roboto-macos-aarch64, from the latest release page.

Windows

In PowerShell or Command Prompt, run:

powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/roboto-ai/roboto-python-sdk/main/install.ps1 | iex"

It installs roboto.exe into ~\.local\bin, adds that folder to your user PATH, and runs roboto setup. Or download roboto-windows-x86_64.exe from the latest release page and move it to a folder on your PATH.

Upgrade CLI

The CLI automatically checks for updates and notifies you when a new version is available.

Run roboto upgrade to upgrade it the way it was installed: a standalone binary is replaced in place, and a Homebrew install is upgraded with Homebrew. For a .deb, it prints the command that upgrades it.

Example

The example below creates a new dataset and uploads a file to it. In a Python environment with the SDK installed, the same commands are available via python -m roboto.cli.

> roboto datasets create --tag boston
{
  "administrator": "Roboto",
  "created": "2024-09-25T22:22:48.271387Z",
  "created_by": "benji@roboto.ai",
  "dataset_id": "ds_9ggdi910gntp",
  ...
  "tags": [
    "boston"
  ]
}

> roboto datasets upload-files -d ds_9ggdi910gntp -p scene57.bag
100.0%|█████████████████████████ | 58.9M/58.9M | 2.62MB/s | 00:23 | Src: 1 file

Connect Your AI Tools

The hosted Roboto MCP server brings Roboto to the AI you already work in. Connect it once, and Claude Code, Claude Desktop, Codex, Cursor, VS Code, or any other client that speaks the Model Context Protocol can search your Roboto data, explore datasets and files, and analyze topic data mid-conversation:

claude mcp add --transport http roboto https://mcp.roboto.ai/mcp
  • You authenticate as yourself — sign in with your browser or use a personal access token; every tool call runs with your own permissions.
  • Read-only by design — a curated set of search, retrieval, and analysis tools; nothing exposed over MCP can modify your data.
  • All of your organizations, one connection — if you belong to several orgs, ask the AI to call whoami and set_active_org to switch between them.

See Use the Roboto MCP Server for setup instructions per client, and the Roboto MCP Server docs for everything the AI can do once connected.

Data Formats

Roboto ingests the following formats, each with a corresponding action in the Action Hub.

Format Extensions Status Action
ROS 2 .mcap, .db3 ✅ ros_ingestion
ROS 1 .bag ✅ ros_ingestion
PX4 .ulg ✅ ulog_ingestion
Parquet .parquet ✅ parquet_ingestion
CSV .csv ✅ csv_ingestion
ArduPilot .bin, .log, .tlog ✅ ardupilot_ingestion
Video .mp4, .avi, .mkv ✅ video_ingestion
Journal .log ✅ journal_log_ingestion

Roboto can also support custom formats. Reach out to discuss your use case.

Learn More

For more information, check out:

Contact

Email us at info@roboto.ai or join our community Discord server.

Metadata

Release files for roboto 0.58.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 0.58.0
File Size Uploaded
roboto-0.58.0.tar.gz 633.2 kB Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / roboto-0.58.0.tar.gz

Download URL roboto-0.58.0.tar.gz
Size 633.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5c3aca8013fb8e2f844c5d4cee89489acfe72687583e416e070011b5dad35ca6
BLAKE2b-256 checksum
How to use checksums
66e88c487f3a53e411f5cb71cb01ede93a990d1a4362523d2a5cb94b6c202e13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / roboto-0.58.0-py3-none-any.whl

Download URL roboto-0.58.0-py3-none-any.whl
Size 865.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b9b0bd2ac1cdd3db42cdbf9fc5d820ecb41e6e3b8f9d708f4e358f379bb19a5b
BLAKE2b-256 checksum
How to use checksums
3c7a1190cf8cab4e46c41d126fd44f8603d95d32420e8fde09bcaf26a2729b82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.58.0 This release

2 release files

0.57.0

2 release files

0.56.0

2 release files

0.54.0

2 release files

0.52.0

2 release files

0.51.0

2 release files

0.49.0

2 release files

0.48.0

2 release files

0.46.1

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.44.2

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.2

2 release files

0.35.1

2 release files

0.34.0

2 release files

0.33.1

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.3

2 release files

0.31.2

2 release files

0.31.1

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.27.0

2 release files

0.26.3

2 release files

0.26.2

2 release files

0.26.0

2 release files

0.25.4

2 release files

0.25.3

2 release files

0.25.2

2 release files

0.25.0

2 release files

0.24.1

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.21.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.18.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.6

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.10

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.12

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.50

2 release files

0.1.49

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.36

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

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