Examples
Build something real on every page. Each example gives you a complete app.py,
the exact path to save it, the matching simulo run command, and the result to
look for.
| Build | Save as | What you will see |
|---|---|---|
| Hello | hello/app.py |
A CPU job streaming logs and returning JSON in seconds. |
| Cartpole | cartpole/app.py |
A GPU-trained balancing policy and durable checkpoint. |
| Cartpole Eval | cartpole_eval/app.py |
Training, evaluation, and a recorded policy rollout from one app. |
| Cartpole Anomaly | cartpole_anomaly/app.py |
A deliberate reward fault caught in a bounded debug recording. |
| Humanoid | humanoid/app.py |
A 21-action locomotion policy learning to stay upright and move forward. |
| JetBot | jetbot/app.py |
A two-wheel robot learning to follow changing directions. |
| Franka manipulation | franka_reach/app.py, then franka_lift/app.py |
Task-space reaching, followed by grasping and lifting a movable block. |
| Scene | scene/app.py |
A scripted multi-environment simulation you can watch live. |
Start here
Section titled “Start here”Save this complete CPU app as hello/app.py:
Show complete codehello/app.py
from __future__ import annotations
import timefrom typing import Any
import simulo
app = simulo.App("hello")
@app.job(timeout=5 * 60)def hello(name: str = "world", repeat: int = 3) -> dict[str, Any]: """Print a few greeting lines (the log stream), return a dict (the result).""" for index in range(repeat): print(f"[hello] {index + 1}/{repeat}: hello, {name}!", flush=True) time.sleep(0.3) # long enough for `simulo logs --follow` to visibly stream return {"greeting": f"hello, {name}", "repeat": repeat}Run it after simulo login:
simulo run hello/app.py --name robot --repeat 5You will see five greeting lines followed by a successful result. Then choose the next example by outcome: Cartpole for the core training pattern, Cartpole Eval for a complete policy lifecycle, or Scene for a live scripted simulation.
To scaffold your own project instead, run
simulo create <name> --type training|inference|scenario.