Skip to main content

simulo

The Simulo SDK and CLI — define robotics simulation and training apps in Python, submit them to the Simulo cloud, monitor jobs, and retrieve trained models.

Simulo is a cloud-first robotics simulation and training platform. Write your app against a small, stable Python API; Simulo handles running it.

Install

pip install simulo

Requires Python 3.11+.

Quickstart

The fastest way to start: scaffold a runnable app.

simulo create mybot
# Created training app in mybot/ (app.py + .simuloignore).
cd mybot

--type picks the starter shape (default training): training (a single training job), inference (train → evaluate → rollout, self-contained), or scenario (a scripted scene, no learning). No network call and no login required — simulo create only writes files to your local folder. Edit app.py for your own robot and task, then see "Log in and submit" below to run it.

To download a curated collection of runnable projects, use simulo install samples. It creates ./simulo-samples as a normal Git clone, so cd simulo-samples and cat README.md open the sample index.

Or write an app by hand

# app.py
import simulo

app = simulo.App("hello")


@app.job(timeout=5 * 60)
def hello(name: str = "world", repeat: int = 3) -> dict:
    for i in range(repeat):
        print(f"[hello] {i + 1}/{repeat}: hello, {name}!")
    return {"greeting": f"hello, {name}", "repeat": repeat}


@app.entrypoint
def main(name: str = "world", repeat: int = 3) -> None:
    handle = hello.spawn(name=name, repeat=repeat)
    print(f"Submitted job: {handle.job_name}")

Log in and submit to the cloud

simulo login
simulo run app.py --name robot --repeat 5

Without logging in, simulo run packages the app locally without submitting it.

Every cloud submit is fresh — running the same command twice trains twice, never a silent no-op. To continue training from an earlier job's checkpoint instead, pass --from <job-ref>[:best|:latest]. <job-ref> is a full job id, matched by exact equality; an unambiguous prefix (>=4 characters, Git-style) works too, but only for the legacy UUID form some jobs from before friendly identifiers still carry.

Monitor jobs and retrieve results

simulo jobs                      # your jobs and their statuses
simulo logs --follow             # stream the latest job's logs live
simulo result                    # the completed job's result JSON
simulo models                    # list / download trained checkpoints (sha256-verified)
simulo recordings                # download MCAP flight recordings
simulo view                      # watch the live 3D scene (jobs submitted with --viewstream)
simulo cancel                    # cancel a queued or running job

Commands that take a job id default to the latest job, announcing what they resolved to on stderr.

Learn more at simulo.ai.

Metadata

Release files for simulo 0.26.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 simulo 0.26.0
File Size Uploaded
simulo-0.26.0.tar.gz 321.9 kB Details

Built distribution (wheel)

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

Total release size: 668.3 kB

Release files / simulo-0.26.0.tar.gz

Download URL simulo-0.26.0.tar.gz
Size 321.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b40404ea985ea1447b1dad9aa7a0d8aabcf40b83fab76b1abb8de76223749201
BLAKE2b-256 checksum
How to use checksums
c2d90572e3d3aca5a177dc8922734815f9ed85ca46b1d9b990ee359eac9765a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Sep 7, 2026.

Transparency log

Release files / simulo-0.26.0-py3-none-any.whl

Download URL simulo-0.26.0-py3-none-any.whl
Size 346.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eac2a75005df7964beadc3ca1cc335f25d4f2e48c1d99a032276bb5634ceda3e
BLAKE2b-256 checksum
How to use checksums
17c36fcf2ddcdb579876765f31cd3424bebe2ab7874ffcdfdfeaa84b8113531b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.33.1

2 release files

0.33.0

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.28.3

2 release files

0.28.2

2 release files

0.28.1

2 release files

0.28.0

2 release files

This release

0.26.0 This release

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.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