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-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.24.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.24.0
File Size Uploaded
simulo-0.24.0.tar.gz 314.5 kB Details

Built distribution (wheel)

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

Total release size: 653.0 kB

Release files / simulo-0.24.0.tar.gz

Download URL simulo-0.24.0.tar.gz
Size 314.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a435bcfebb9dc783d583df06743b17728b4b1b8117aeaab43ad0e76fccbe3a85
BLAKE2b-256 checksum
How to use checksums
cae818e6bdb4c038a3d9b431a85f71fa82e4996230c5b6e9aa4da7384096f530
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 3, 2026.

Transparency log

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

Download URL simulo-0.24.0-py3-none-any.whl
Size 338.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dac89a7d45a6f0101366aace162a33e5043d9a3e8804602d1acaba8b0f4feb18
BLAKE2b-256 checksum
How to use checksums
150c951f580707b835bf6b284dffaacb8dbfd957572b69db90786126535d5845
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 3, 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.24.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