Skip to main content

Official Python toolkit for roboto.ai

Project description

Roboto SDK

Roboto makes it easy to manage and analyze log data from your robots.

This package contains the official toolkit for interacting with Roboto. It consists of the roboto Python module, as well as a roboto command line utility.

If this is your first time using Roboto, we recommend reading the docs and learning the core concepts.

See below for getting started examples.

Sign up

In order to use the Roboto SDK and CLI you'll need to create an account and get an access token.

  • Sign up for an account at app.roboto.ai to create an access token (docs)
  • Save your access token to ~/.roboto/config.json

Install Python SDK

If you want to interact with Roboto in a Python environment, such as a Jupyter notebook, we recommend installing the Python SDK released via PyPI:

pip install roboto

This will also install the CLI mentioned below. You can see the complete SDK and CLI documentation.

Install CLI

If you want to interact with Roboto on the command line, and don't need the Python SDK, we recommend installing the standalone CLI.

You can find all versions of pre-built binary artifacts on the releases page of this package. We currently build for Linux (aarch64, x86_64), Mac OS X (aarch64, x86_64) and Windows (x86_64). See installation instructions per platform below.

Installing the CLI will provide the roboto command line utility. You can see available commands with roboto -h or see the complete CLI reference documentation.

Linux

  • 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 (don't pick a roboto-agent release)
    • Double click on the downloaded deb file and let apt take over
  • (non-apt) Download the relevant roboto file for your platform
    • e.g. roboto-linux-x86_64 (don't pick a roboto-agent release)
    • Move the downloaded file to /usr/local/bin or where ever makes sense for your platform

Coming soon: direct apt-get install support

Mac OS X

You can either use the Homebrew package manager:

brew install roboto-ai/tap/roboto

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

If you used Homebrew, you can also upgrade via brew upgrade roboto

Windows

  • Go to the latest release page for this package
  • Download the roboto-windows-x86_64.exe file
  • Move the downloaded .exe to a folder that is on your PATH, like C:\Program Files\

Upgrade CLI

The CLI will automatically check for updates and notify you when a new version is available.

If you installed the CLI with the SDK via pip, you can simply upgrade with pip install --upgrade roboto.

If you installed the CLI from a .deb or by adding an executable like roboto-linux-x86_64 to your PATH, you can upgrade by downloading the latest version and replacing the old executable.

For OS X Homebrew users, you can upgrade by running brew upgrade roboto.

Getting Started

The Python SDK and CLI can both be used to programmatically interact with Roboto. The CLI is convenient for quickly creating new datasets, uploading or downloading files, and running actions. The Python SDK has comprehensive support for all Roboto platform features and is especially useful for data analysis and integration with your other tools.

CLI

With the Python SDK, or standalone CLI installed, you can use roboto on the command line.

The example below shows how to create a new dataset and upload a file to it.

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

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

Python SDK

With the Python SDK installed, you can import roboto into your Python runtime.

The example below shows how to access topic data for 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",
  associations = [
    steering_topic.to_association()
  ]
)

Or even search for logs matching metadata and/or 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)

See the notebooks directory for complete examples!

Learn more

For more information, check out:

Contact

If you'd like to get in touch with us, feel free to email us at info@roboto.ai, or join our community Discord server.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roboto-0.13.0.tar.gz (164.2 kB view details)

Uploaded Source

Built Distribution

roboto-0.13.0-py3-none-any.whl (268.8 kB view details)

Uploaded Python 3

File details

Details for the file roboto-0.13.0.tar.gz.

File metadata

  • Download URL: roboto-0.13.0.tar.gz
  • Upload date:
  • Size: 164.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for roboto-0.13.0.tar.gz
Algorithm Hash digest
SHA256 615441bf6f8351e24f96d7dfc7d74b376f9e0fa3011e4d35dc75f8eb80674c68
MD5 8cb605e091de92b0b7860c499408492a
BLAKE2b-256 37227e62b152f38b415032362d50e93b4420198a4b33c12a13e956991bd0e671

See more details on using hashes here.

Provenance

The following attestation bundles were made for roboto-0.13.0.tar.gz:

Publisher: sdk.yml on roboto-ai/roboto-python-sdk

Attestations:

File details

Details for the file roboto-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: roboto-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 268.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for roboto-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 054a17ea350aff6fee7b3d2114c61b2f85133286b3b2b494900e64b17b3efa28
MD5 7769991fe2a2943d43f8030f054d0591
BLAKE2b-256 1140aed23a2cbd02eca8bfec55e7acf7e2c0aa6d7312f5dfe003adc67fb61529

See more details on using hashes here.

Provenance

The following attestation bundles were made for roboto-0.13.0-py3-none-any.whl:

Publisher: sdk.yml on roboto-ai/roboto-python-sdk

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page