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.

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 ids, and their unambiguous prefixes (>=4 characters), work anywhere the CLI takes a job id.

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.20.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.20.0
File Size Uploaded
simulo-0.20.0.tar.gz 282.6 kB Details

Built distribution (wheel)

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

Total release size: 588.2 kB

Release files / simulo-0.20.0.tar.gz

Download URL simulo-0.20.0.tar.gz
Size 282.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a43457c2b72ebdf4c78784d26aa4e89702b06f04c2218d9faff8406e98c16360
BLAKE2b-256 checksum
How to use checksums
41b9437050978d3da737289d45d4181a2a49aa5c384939cdef936507a2356a3e
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 Aug 13, 2026.

Transparency log

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

Download URL simulo-0.20.0-py3-none-any.whl
Size 305.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4bf3047ecd4226929affb91d171692c40c232cce271e7694f71799a7e9ee5cfb
BLAKE2b-256 checksum
How to use checksums
25add90d9db2d401478f06dca2569bb350c09cb67486d93b88167de3b441ee5a
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 Aug 13, 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

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

This release

0.20.0 This release

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