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.22.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.22.0
File Size Uploaded
simulo-0.22.0.tar.gz 291.6 kB Details

Built distribution (wheel)

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

Total release size: 606.9 kB

Release files / simulo-0.22.0.tar.gz

Download URL simulo-0.22.0.tar.gz
Size 291.6 kB
Tags Source
SHA-256 checksum
How to use checksums
aeb8986f5e42e1d614a6b64a5500fa8283b4e4a0b3182c7eaaa92dd6f2fa3f9d
BLAKE2b-256 checksum
How to use checksums
79dc64c66807daa8ee7a72263331b23e1bbcbd6a6e02b80d4cd9ff8a2ddacda7
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 16, 2026.

Transparency log

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

Download URL simulo-0.22.0-py3-none-any.whl
Size 315.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4a34c75cbe273eab85ff96385e4c4bd1f0ac5448c3d9f5a46b9a9bdb992f908d
BLAKE2b-256 checksum
How to use checksums
95ff1ec419b742944e9369ae3797691d1d398d77c20c32ec5cd53025661c1c68
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 16, 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

This release

0.22.0 This release

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