Metadata-Version: 2.4
Name: simulo
Version: 0.31.0
Summary: Python SDK and CLI for cloud-native robotics simulation, reinforcement learning, and robot policy training on managed GPUs.
Author-email: Simulo Team <team@simulo.ai>
License: BSD-3-Clause
Project-URL: Homepage, https://simulo.ai
Project-URL: Documentation, https://docs.simulo.ai
Project-URL: Quickstart, https://docs.simulo.ai/getting-started/quickstart/
Project-URL: Examples, https://github.com/simulo-org/simulo-samples
Project-URL: Console, https://console.simulo.ai
Keywords: simulo,robotics,robotics simulation,robot training,robot learning,reinforcement learning,cloud robotics,cloud simulation,GPU simulation,policy training,physical AI,embodied AI,NVIDIA Isaac Sim,Isaac Lab,OpenUSD,USD,URDF,ONNX,MCAP,Python SDK
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: simulo-interfaces<0.23,>=0.22.0
Requires-Dist: mcap<2,>=1.3
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: usd-core<27,>=26.5
Provides-Extra: assets
Requires-Dist: usd-core<27,>=26.5; extra == "assets"
Provides-Extra: dev
Requires-Dist: black==26.5.1; extra == "dev"
Requires-Dist: isort==8.0.1; extra == "dev"
Requires-Dist: ruff==0.15.21; extra == "dev"
Requires-Dist: mypy==2.3.0; extra == "dev"
Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
Requires-Dist: pytest>=8.2; extra == "dev"
Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5.1; extra == "dev"
Requires-Dist: setuptools>=68; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Provides-Extra: release
Requires-Dist: commitizen>=3.27; extra == "release"
Requires-Dist: build>=1.2; extra == "release"
Requires-Dist: twine>=5.1; extra == "release"

# Simulo for Cloud Robotics Simulation and Training

**Train robot policies in simulation on managed cloud GPUs.**

Simulo is a cloud-native AI platform for robotics simulation and training. Its
lightweight `simulo` Python SDK and CLI let you define robot-learning applications
locally, submit them to the Simulo cloud, and inspect the results. The platform
handles managed GPU execution, reproducible packaging, versioned assets,
policies, checkpoints, recordings, ONNX bundles, and live 3D viewing.

The package installed on your computer is torch-free and requires no local GPU or
simulator. The managed runtime executes reinforcement-learning training on
managed GPUs in the cloud.

## What you can do

- Write robotics applications in ordinary Python against a small, stable API.
- Build vectorized reinforcement-learning environments and train robot policies with PPO.
- Start with validated catalog robots or publish your own OpenUSD (USD) and URDF assets.
- Continue training from the best or latest checkpoint produced by an earlier job.
- Export an explicit policy checkpoint as a verified ONNX bundle.
- Stream logs, retrieve results and outputs, capture MCAP rollout recordings, and watch a live 3D view.

## Install

```bash
python -m pip install simulo
```

Simulo requires Python 3.11 or newer. One installation provides both the
`import simulo` Python API and the `simulo` command-line interface.

## Train a first policy

```bash
simulo create mybot
simulo login
cd mybot
simulo run preview.py --frozen --strict-assets
simulo run train.py --frozen --strict-assets
simulo run play.py --policy policy_<job>:best --frozen --strict-assets
```

`simulo create` writes a complete starter application to your machine without
requiring a login or network connection. It creates `task.py`, `preview.py`,
`train.py`, `play.py`, and `.simuloignore`. Run `preview.py` first as a separate
job to check the validated cartpole asset in its task, run `train.py` to train a
PPO policy, then pass that policy to `play.py`. `simulo run` packages the source,
resolves and pins its assets, submits the job, and follows its cloud logs.

## Explore robotics samples

The public [Simulo samples repository](https://github.com/simulo-org/simulo-samples)
contains projects for cartpole, humanoid locomotion, JetBot navigation, Franka
arm control, a bring-your-own URDF arm, and F1TENTH-compatible drift training.
See the repository README for setup and usage.

## Monitor jobs and retrieve artifacts

```bash
simulo jobs                       # list submitted jobs and status
simulo logs --follow              # stream the latest job's logs
simulo result                     # read the job's result
simulo policy list                # list training policies and checkpoints
simulo policy get policy_x:best   # download a verified checkpoint
simulo export policy_x:best       # export a verified ONNX bundle
simulo recordings                 # download MCAP rollout recordings
simulo outputs                    # retrieve other saved outputs
simulo view                       # view a running --viewstream job in 3D
simulo cancel                     # stop a queued or running job
```

Commands that accept a job ID default to the latest job and tell you which job
they selected.

## Use versioned robot assets

```bash
simulo asset list --global
simulo asset inspect simulo/robot/cartpole:v1
simulo asset publish ./my-robot --kind robot
```

Simulo catalogs keep robot, world, and prop assets versioned and traceable. You
can use validated global assets immediately or publish your own USD or URDF
package for reuse across training jobs.

## Learn more

- [Quickstart](https://docs.simulo.ai/getting-started/quickstart/)
- [Documentation](https://docs.simulo.ai/)
- [Python API reference](https://docs.simulo.ai/api/)
- [CLI reference](https://docs.simulo.ai/cli/)
- [Examples](https://docs.simulo.ai/examples/)
- [Simulo website](https://simulo.ai)
