simulo 0.28.0__tar.gz → 0.28.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. simulo-0.28.2/PKG-INFO +147 -0
  2. simulo-0.28.2/PYPI.md +91 -0
  3. {simulo-0.28.0 → simulo-0.28.2}/pyproject.toml +41 -4
  4. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/cli.py +8 -6
  5. simulo-0.28.2/src/simulo.egg-info/PKG-INFO +147 -0
  6. {simulo-0.28.0 → simulo-0.28.2}/src/simulo.egg-info/requires.txt +1 -1
  7. simulo-0.28.0/PKG-INFO +0 -143
  8. simulo-0.28.0/PYPI.md +0 -103
  9. simulo-0.28.0/src/simulo.egg-info/PKG-INFO +0 -143
  10. {simulo-0.28.0 → simulo-0.28.2}/MANIFEST.in +0 -0
  11. {simulo-0.28.0 → simulo-0.28.2}/setup.cfg +0 -0
  12. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/__init__.py +0 -0
  13. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/__init__.py +0 -0
  14. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/_entrypoint.py +0 -0
  15. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/_mounts.py +0 -0
  16. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/_runner.py +0 -0
  17. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/_secure_downloads.py +0 -0
  18. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/app.py +0 -0
  19. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/asset.py +0 -0
  20. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/asset_api.py +0 -0
  21. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/asset_package.py +0 -0
  22. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/asset_pins.py +0 -0
  23. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/builtin_aliases.py +0 -0
  24. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/bundle.py +0 -0
  25. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/cancel_api.py +0 -0
  26. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/config.py +0 -0
  27. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/credentials.py +0 -0
  28. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/discovery.py +0 -0
  29. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/export_api.py +0 -0
  30. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/export_bundle.py +0 -0
  31. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/facades.py +0 -0
  32. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/http.py +0 -0
  33. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/identity_api.py +0 -0
  34. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/install_samples.py +0 -0
  35. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/jobs_api.py +0 -0
  36. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/learning.py +0 -0
  37. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/login.py +0 -0
  38. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/mode.py +0 -0
  39. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/outputs.py +0 -0
  40. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/packaging.py +0 -0
  41. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/preflight_api.py +0 -0
  42. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/preflight_render.py +0 -0
  43. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/registry.py +0 -0
  44. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/runtime.py +0 -0
  45. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/runtime_display.py +0 -0
  46. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/seed_ref.py +0 -0
  47. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/stub.py +0 -0
  48. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/submit_api.py +0 -0
  49. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/__init__.py +0 -0
  50. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/inference/app.py.tmpl +0 -0
  51. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/inference/simuloignore.tmpl +0 -0
  52. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/scenario/app.py.tmpl +0 -0
  53. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/scenario/simuloignore.tmpl +0 -0
  54. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/training/app.py.tmpl +0 -0
  55. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/templates/training/simuloignore.tmpl +0 -0
  56. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/view_fragment.py +0 -0
  57. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/view_session_api.py +0 -0
  58. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/_client/volume.py +0 -0
  59. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/callbacks.py +0 -0
  60. {simulo-0.28.0 → simulo-0.28.2}/src/simulo/py.typed +0 -0
  61. {simulo-0.28.0 → simulo-0.28.2}/src/simulo.egg-info/SOURCES.txt +0 -0
  62. {simulo-0.28.0 → simulo-0.28.2}/src/simulo.egg-info/dependency_links.txt +0 -0
  63. {simulo-0.28.0 → simulo-0.28.2}/src/simulo.egg-info/entry_points.txt +0 -0
  64. {simulo-0.28.0 → simulo-0.28.2}/src/simulo.egg-info/top_level.txt +0 -0
simulo-0.28.2/PKG-INFO ADDED
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.4
2
+ Name: simulo
3
+ Version: 0.28.2
4
+ Summary: Python SDK and CLI for cloud-native robotics simulation, reinforcement learning, and robot policy training on managed GPUs.
5
+ Author-email: Simulo Team <team@simulo.ai>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://simulo.ai
8
+ Project-URL: Documentation, https://docs.simulo.ai
9
+ Project-URL: Quickstart, https://docs.simulo.ai/getting-started/quickstart/
10
+ Project-URL: Examples, https://github.com/simulo-org/simulo-samples
11
+ Project-URL: Console, https://console.simulo.ai
12
+ 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
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Education
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: License :: OSI Approved :: BSD License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Topic :: Scientific/Engineering
26
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
+ Classifier: Topic :: Scientific/Engineering :: Visualization
28
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Classifier: Topic :: System :: Distributed Computing
31
+ Classifier: Typing :: Typed
32
+ Requires-Python: >=3.11
33
+ Description-Content-Type: text/markdown
34
+ Requires-Dist: simulo-interfaces<0.21,>=0.20.2
35
+ Requires-Dist: mcap<2,>=1.3
36
+ Requires-Dist: defusedxml>=0.7.1
37
+ Requires-Dist: usd-core<27,>=26.5
38
+ Provides-Extra: assets
39
+ Requires-Dist: usd-core<27,>=26.5; extra == "assets"
40
+ Provides-Extra: dev
41
+ Requires-Dist: black==26.5.1; extra == "dev"
42
+ Requires-Dist: isort==8.0.1; extra == "dev"
43
+ Requires-Dist: ruff==0.15.21; extra == "dev"
44
+ Requires-Dist: mypy==2.3.0; extra == "dev"
45
+ Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
46
+ Requires-Dist: pytest>=8.2; extra == "dev"
47
+ Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
48
+ Requires-Dist: build>=1.2; extra == "dev"
49
+ Requires-Dist: twine>=5.1; extra == "dev"
50
+ Requires-Dist: setuptools>=68; extra == "dev"
51
+ Requires-Dist: wheel; extra == "dev"
52
+ Provides-Extra: release
53
+ Requires-Dist: commitizen>=3.27; extra == "release"
54
+ Requires-Dist: build>=1.2; extra == "release"
55
+ Requires-Dist: twine>=5.1; extra == "release"
56
+
57
+ # Simulo for Cloud Robotics Simulation and Training
58
+
59
+ **Train robot policies in simulation on managed cloud GPUs.**
60
+
61
+ Simulo is a cloud-native AI platform for robotics simulation and training. Its
62
+ lightweight `simulo` Python SDK and CLI let you define robot-learning applications
63
+ locally, submit them to the Simulo cloud, and inspect the results. The platform
64
+ handles managed GPU execution, reproducible packaging, versioned assets,
65
+ checkpoints, trained models, recordings, and live 3D viewing.
66
+
67
+ The package installed on your computer is torch-free and requires no local GPU or
68
+ simulator. The managed runtime executes reinforcement-learning training, policy
69
+ evaluation and inference, and scripted robotics simulations on managed GPUs in
70
+ the cloud.
71
+
72
+ ## What you can do
73
+
74
+ - Write robotics applications in ordinary Python against a small, stable API.
75
+ - Build vectorized reinforcement-learning environments and train robot policies with PPO.
76
+ - Start with validated catalog robots or publish your own OpenUSD (USD) and URDF assets.
77
+ - Continue training from the best or latest checkpoint produced by an earlier job.
78
+ - Evaluate policies, run inference, and export trained policies as verified ONNX bundles.
79
+ - Stream logs, retrieve results and outputs, capture MCAP rollout recordings, and watch a live 3D view.
80
+
81
+ ## Install
82
+
83
+ ```bash
84
+ python -m pip install simulo
85
+ ```
86
+
87
+ Simulo requires Python 3.11 or newer. One installation provides both the
88
+ `import simulo` Python API and the `simulo` command-line interface.
89
+
90
+ ## Train a first policy
91
+
92
+ ```bash
93
+ simulo create mybot
94
+ simulo login
95
+ cd mybot
96
+ simulo run app.py --frozen --strict-assets
97
+ ```
98
+
99
+ `simulo create` writes a complete starter application to your machine without
100
+ requiring a login or network connection. The default application trains a PPO
101
+ policy on a validated cartpole asset. `simulo run` packages the source, resolves
102
+ and pins its assets, submits the job, and follows its cloud logs.
103
+
104
+ ## Explore robotics samples
105
+
106
+ The public [Simulo samples repository](https://github.com/simulo-org/simulo-samples)
107
+ contains projects for cartpole, humanoid locomotion, JetBot navigation, Franka
108
+ arm control, a bring-your-own URDF arm, and F1TENTH-compatible drift training.
109
+ See the repository README for setup and usage.
110
+
111
+ ## Monitor jobs and retrieve artifacts
112
+
113
+ ```bash
114
+ simulo jobs # list submitted jobs and status
115
+ simulo logs --follow # stream the latest job's logs
116
+ simulo result # read the job's result
117
+ simulo models # list or download trained models
118
+ simulo export # export the best policy as verified ONNX
119
+ simulo recordings # download MCAP rollout recordings
120
+ simulo outputs # retrieve other saved outputs
121
+ simulo view # view a running --viewstream job in 3D
122
+ simulo cancel # stop a queued or running job
123
+ ```
124
+
125
+ Commands that accept a job ID default to the latest job and tell you which job
126
+ they selected.
127
+
128
+ ## Use versioned robot assets
129
+
130
+ ```bash
131
+ simulo asset list --global
132
+ simulo asset inspect simulo/robot/cartpole:v1
133
+ simulo asset publish ./my-robot --kind robot
134
+ ```
135
+
136
+ Simulo catalogs keep robot, world, and prop assets versioned and traceable. You
137
+ can use validated global assets immediately or publish your own USD or URDF
138
+ package for reuse across training, evaluation, and inference jobs.
139
+
140
+ ## Learn more
141
+
142
+ - [Quickstart](https://docs.simulo.ai/getting-started/quickstart/)
143
+ - [Documentation](https://docs.simulo.ai/)
144
+ - [Python API reference](https://docs.simulo.ai/api/)
145
+ - [CLI reference](https://docs.simulo.ai/cli/)
146
+ - [Examples](https://docs.simulo.ai/examples/)
147
+ - [Simulo website](https://simulo.ai)
simulo-0.28.2/PYPI.md ADDED
@@ -0,0 +1,91 @@
1
+ # Simulo for Cloud Robotics Simulation and Training
2
+
3
+ **Train robot policies in simulation on managed cloud GPUs.**
4
+
5
+ Simulo is a cloud-native AI platform for robotics simulation and training. Its
6
+ lightweight `simulo` Python SDK and CLI let you define robot-learning applications
7
+ locally, submit them to the Simulo cloud, and inspect the results. The platform
8
+ handles managed GPU execution, reproducible packaging, versioned assets,
9
+ checkpoints, trained models, recordings, and live 3D viewing.
10
+
11
+ The package installed on your computer is torch-free and requires no local GPU or
12
+ simulator. The managed runtime executes reinforcement-learning training, policy
13
+ evaluation and inference, and scripted robotics simulations on managed GPUs in
14
+ the cloud.
15
+
16
+ ## What you can do
17
+
18
+ - Write robotics applications in ordinary Python against a small, stable API.
19
+ - Build vectorized reinforcement-learning environments and train robot policies with PPO.
20
+ - Start with validated catalog robots or publish your own OpenUSD (USD) and URDF assets.
21
+ - Continue training from the best or latest checkpoint produced by an earlier job.
22
+ - Evaluate policies, run inference, and export trained policies as verified ONNX bundles.
23
+ - Stream logs, retrieve results and outputs, capture MCAP rollout recordings, and watch a live 3D view.
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ python -m pip install simulo
29
+ ```
30
+
31
+ Simulo requires Python 3.11 or newer. One installation provides both the
32
+ `import simulo` Python API and the `simulo` command-line interface.
33
+
34
+ ## Train a first policy
35
+
36
+ ```bash
37
+ simulo create mybot
38
+ simulo login
39
+ cd mybot
40
+ simulo run app.py --frozen --strict-assets
41
+ ```
42
+
43
+ `simulo create` writes a complete starter application to your machine without
44
+ requiring a login or network connection. The default application trains a PPO
45
+ policy on a validated cartpole asset. `simulo run` packages the source, resolves
46
+ and pins its assets, submits the job, and follows its cloud logs.
47
+
48
+ ## Explore robotics samples
49
+
50
+ The public [Simulo samples repository](https://github.com/simulo-org/simulo-samples)
51
+ contains projects for cartpole, humanoid locomotion, JetBot navigation, Franka
52
+ arm control, a bring-your-own URDF arm, and F1TENTH-compatible drift training.
53
+ See the repository README for setup and usage.
54
+
55
+ ## Monitor jobs and retrieve artifacts
56
+
57
+ ```bash
58
+ simulo jobs # list submitted jobs and status
59
+ simulo logs --follow # stream the latest job's logs
60
+ simulo result # read the job's result
61
+ simulo models # list or download trained models
62
+ simulo export # export the best policy as verified ONNX
63
+ simulo recordings # download MCAP rollout recordings
64
+ simulo outputs # retrieve other saved outputs
65
+ simulo view # view a running --viewstream job in 3D
66
+ simulo cancel # stop a queued or running job
67
+ ```
68
+
69
+ Commands that accept a job ID default to the latest job and tell you which job
70
+ they selected.
71
+
72
+ ## Use versioned robot assets
73
+
74
+ ```bash
75
+ simulo asset list --global
76
+ simulo asset inspect simulo/robot/cartpole:v1
77
+ simulo asset publish ./my-robot --kind robot
78
+ ```
79
+
80
+ Simulo catalogs keep robot, world, and prop assets versioned and traceable. You
81
+ can use validated global assets immediately or publish your own USD or URDF
82
+ package for reuse across training, evaluation, and inference jobs.
83
+
84
+ ## Learn more
85
+
86
+ - [Quickstart](https://docs.simulo.ai/getting-started/quickstart/)
87
+ - [Documentation](https://docs.simulo.ai/)
88
+ - [Python API reference](https://docs.simulo.ai/api/)
89
+ - [CLI reference](https://docs.simulo.ai/cli/)
90
+ - [Examples](https://docs.simulo.ai/examples/)
91
+ - [Simulo website](https://simulo.ai)
@@ -4,20 +4,53 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "simulo"
7
- version = "0.28.0"
8
- description = "Simulo SDK and CLI — define robotics simulation and training apps in Python and run them on the Simulo cloud."
7
+ version = "0.28.2"
8
+ description = "Python SDK and CLI for cloud-native robotics simulation, reinforcement learning, and robot policy training on managed GPUs."
9
9
  readme = "PYPI.md"
10
10
  requires-python = ">=3.11"
11
11
  license = { text = "BSD-3-Clause" }
12
12
  authors = [{ name = "Simulo Team", email = "team@simulo.ai" }]
13
- keywords = ["robotics", "simulation", "reinforcement-learning", "simulo"]
13
+ keywords = [
14
+ "simulo",
15
+ "robotics",
16
+ "robotics simulation",
17
+ "robot training",
18
+ "robot learning",
19
+ "reinforcement learning",
20
+ "cloud robotics",
21
+ "cloud simulation",
22
+ "GPU simulation",
23
+ "policy training",
24
+ "physical AI",
25
+ "embodied AI",
26
+ "NVIDIA Isaac Sim",
27
+ "Isaac Lab",
28
+ "OpenUSD",
29
+ "USD",
30
+ "URDF",
31
+ "ONNX",
32
+ "MCAP",
33
+ "Python SDK",
34
+ ]
14
35
  classifiers = [
15
36
  "Development Status :: 3 - Alpha",
37
+ "Environment :: Console",
16
38
  "Intended Audience :: Developers",
39
+ "Intended Audience :: Education",
40
+ "Intended Audience :: Science/Research",
17
41
  "License :: OSI Approved :: BSD License",
18
42
  "Operating System :: OS Independent",
43
+ "Programming Language :: Python",
44
+ "Programming Language :: Python :: 3",
45
+ "Programming Language :: Python :: 3 :: Only",
19
46
  "Programming Language :: Python :: 3.11",
20
47
  "Programming Language :: Python :: 3.12",
48
+ "Topic :: Scientific/Engineering",
49
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
50
+ "Topic :: Scientific/Engineering :: Visualization",
51
+ "Topic :: Software Development :: Libraries :: Application Frameworks",
52
+ "Topic :: Software Development :: Libraries :: Python Modules",
53
+ "Topic :: System :: Distributed Computing",
21
54
  "Typing :: Typed",
22
55
  ]
23
56
  # Torch-free by construction: depends only on the contract layer and mcap.
@@ -26,7 +59,7 @@ classifiers = [
26
59
  # mcap: used by `simulo recordings` to read back a downloaded recording and
27
60
  # verify it (message count) — MIT-licensed, deps only lz4+zstandard.
28
61
  dependencies = [
29
- "simulo-interfaces>=0.20.0,<0.21",
62
+ "simulo-interfaces>=0.20.2,<0.21",
30
63
  "mcap>=1.3,<2",
31
64
  # Hardened XML parsing for URDF ingestion (USD Asset Catalogs, PR-12 fix
32
65
  # loop 2, security NIT): stdlib xml.etree.ElementTree relies on
@@ -102,6 +135,10 @@ simulo = "simulo._client.cli:main"
102
135
 
103
136
  [project.urls]
104
137
  Homepage = "https://simulo.ai"
138
+ Documentation = "https://docs.simulo.ai"
139
+ Quickstart = "https://docs.simulo.ai/getting-started/quickstart/"
140
+ Examples = "https://github.com/simulo-org/simulo-samples"
141
+ Console = "https://console.simulo.ai"
105
142
 
106
143
  # Namespace packaging: this is the only distribution that ships
107
144
  # `src/simulo/__init__.py`, so sibling `simulo.*` distributions can share the
@@ -578,12 +578,14 @@ _CANCELLED_STATUS = str(JobStatus.CANCELLED)
578
578
  #: ``status_reason``/``status_detail``): a failed, cancelled, or timed-out
579
579
  #: job. A cleanly ``completed`` job has none.
580
580
  #:
581
- #: ``timed_out`` (`M55-org-runtime-policy`) is added here even though the
582
- #: control plane still projects a stored ``timed_out`` job as ``failed`` on
583
- #: every read route today (see that milestone's PR description) — this set
584
- #: must already be correct for the moment that projection lifts, not
585
- #: rewritten again at that later date to add the one value its own author
586
- #: had every reason to add now, while this exact line is open.
581
+ #: ``timed_out`` (`M55-org-runtime-policy`) was added here even before the
582
+ #: control plane's read-side compat projection was lifted (issue #1537,
583
+ #: lifted 2026-09-12) — this set had to already be correct for the moment
584
+ #: that projection lifted, not rewritten again at that later date to add
585
+ #: the one value its own author had every reason to add while this exact
586
+ #: line was open. That moment has now passed: every read route serves a
587
+ #: genuinely ``timed_out`` job as ``timed_out``, and this set already
588
+ #: covered it.
587
589
  _FAILURE_STATUS_STRINGS = frozenset({str(JobStatus.FAILED), str(JobStatus.CANCELLED), str(JobStatus.TIMED_OUT)})
588
590
 
589
591
  #: The tolerant-client check for ``simulo view`` specifically
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.4
2
+ Name: simulo
3
+ Version: 0.28.2
4
+ Summary: Python SDK and CLI for cloud-native robotics simulation, reinforcement learning, and robot policy training on managed GPUs.
5
+ Author-email: Simulo Team <team@simulo.ai>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://simulo.ai
8
+ Project-URL: Documentation, https://docs.simulo.ai
9
+ Project-URL: Quickstart, https://docs.simulo.ai/getting-started/quickstart/
10
+ Project-URL: Examples, https://github.com/simulo-org/simulo-samples
11
+ Project-URL: Console, https://console.simulo.ai
12
+ 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
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Education
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: License :: OSI Approved :: BSD License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Topic :: Scientific/Engineering
26
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
+ Classifier: Topic :: Scientific/Engineering :: Visualization
28
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Classifier: Topic :: System :: Distributed Computing
31
+ Classifier: Typing :: Typed
32
+ Requires-Python: >=3.11
33
+ Description-Content-Type: text/markdown
34
+ Requires-Dist: simulo-interfaces<0.21,>=0.20.2
35
+ Requires-Dist: mcap<2,>=1.3
36
+ Requires-Dist: defusedxml>=0.7.1
37
+ Requires-Dist: usd-core<27,>=26.5
38
+ Provides-Extra: assets
39
+ Requires-Dist: usd-core<27,>=26.5; extra == "assets"
40
+ Provides-Extra: dev
41
+ Requires-Dist: black==26.5.1; extra == "dev"
42
+ Requires-Dist: isort==8.0.1; extra == "dev"
43
+ Requires-Dist: ruff==0.15.21; extra == "dev"
44
+ Requires-Dist: mypy==2.3.0; extra == "dev"
45
+ Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
46
+ Requires-Dist: pytest>=8.2; extra == "dev"
47
+ Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
48
+ Requires-Dist: build>=1.2; extra == "dev"
49
+ Requires-Dist: twine>=5.1; extra == "dev"
50
+ Requires-Dist: setuptools>=68; extra == "dev"
51
+ Requires-Dist: wheel; extra == "dev"
52
+ Provides-Extra: release
53
+ Requires-Dist: commitizen>=3.27; extra == "release"
54
+ Requires-Dist: build>=1.2; extra == "release"
55
+ Requires-Dist: twine>=5.1; extra == "release"
56
+
57
+ # Simulo for Cloud Robotics Simulation and Training
58
+
59
+ **Train robot policies in simulation on managed cloud GPUs.**
60
+
61
+ Simulo is a cloud-native AI platform for robotics simulation and training. Its
62
+ lightweight `simulo` Python SDK and CLI let you define robot-learning applications
63
+ locally, submit them to the Simulo cloud, and inspect the results. The platform
64
+ handles managed GPU execution, reproducible packaging, versioned assets,
65
+ checkpoints, trained models, recordings, and live 3D viewing.
66
+
67
+ The package installed on your computer is torch-free and requires no local GPU or
68
+ simulator. The managed runtime executes reinforcement-learning training, policy
69
+ evaluation and inference, and scripted robotics simulations on managed GPUs in
70
+ the cloud.
71
+
72
+ ## What you can do
73
+
74
+ - Write robotics applications in ordinary Python against a small, stable API.
75
+ - Build vectorized reinforcement-learning environments and train robot policies with PPO.
76
+ - Start with validated catalog robots or publish your own OpenUSD (USD) and URDF assets.
77
+ - Continue training from the best or latest checkpoint produced by an earlier job.
78
+ - Evaluate policies, run inference, and export trained policies as verified ONNX bundles.
79
+ - Stream logs, retrieve results and outputs, capture MCAP rollout recordings, and watch a live 3D view.
80
+
81
+ ## Install
82
+
83
+ ```bash
84
+ python -m pip install simulo
85
+ ```
86
+
87
+ Simulo requires Python 3.11 or newer. One installation provides both the
88
+ `import simulo` Python API and the `simulo` command-line interface.
89
+
90
+ ## Train a first policy
91
+
92
+ ```bash
93
+ simulo create mybot
94
+ simulo login
95
+ cd mybot
96
+ simulo run app.py --frozen --strict-assets
97
+ ```
98
+
99
+ `simulo create` writes a complete starter application to your machine without
100
+ requiring a login or network connection. The default application trains a PPO
101
+ policy on a validated cartpole asset. `simulo run` packages the source, resolves
102
+ and pins its assets, submits the job, and follows its cloud logs.
103
+
104
+ ## Explore robotics samples
105
+
106
+ The public [Simulo samples repository](https://github.com/simulo-org/simulo-samples)
107
+ contains projects for cartpole, humanoid locomotion, JetBot navigation, Franka
108
+ arm control, a bring-your-own URDF arm, and F1TENTH-compatible drift training.
109
+ See the repository README for setup and usage.
110
+
111
+ ## Monitor jobs and retrieve artifacts
112
+
113
+ ```bash
114
+ simulo jobs # list submitted jobs and status
115
+ simulo logs --follow # stream the latest job's logs
116
+ simulo result # read the job's result
117
+ simulo models # list or download trained models
118
+ simulo export # export the best policy as verified ONNX
119
+ simulo recordings # download MCAP rollout recordings
120
+ simulo outputs # retrieve other saved outputs
121
+ simulo view # view a running --viewstream job in 3D
122
+ simulo cancel # stop a queued or running job
123
+ ```
124
+
125
+ Commands that accept a job ID default to the latest job and tell you which job
126
+ they selected.
127
+
128
+ ## Use versioned robot assets
129
+
130
+ ```bash
131
+ simulo asset list --global
132
+ simulo asset inspect simulo/robot/cartpole:v1
133
+ simulo asset publish ./my-robot --kind robot
134
+ ```
135
+
136
+ Simulo catalogs keep robot, world, and prop assets versioned and traceable. You
137
+ can use validated global assets immediately or publish your own USD or URDF
138
+ package for reuse across training, evaluation, and inference jobs.
139
+
140
+ ## Learn more
141
+
142
+ - [Quickstart](https://docs.simulo.ai/getting-started/quickstart/)
143
+ - [Documentation](https://docs.simulo.ai/)
144
+ - [Python API reference](https://docs.simulo.ai/api/)
145
+ - [CLI reference](https://docs.simulo.ai/cli/)
146
+ - [Examples](https://docs.simulo.ai/examples/)
147
+ - [Simulo website](https://simulo.ai)
@@ -1,4 +1,4 @@
1
- simulo-interfaces<0.21,>=0.20.0
1
+ simulo-interfaces<0.21,>=0.20.2
2
2
  mcap<2,>=1.3
3
3
  defusedxml>=0.7.1
4
4
  usd-core<27,>=26.5
simulo-0.28.0/PKG-INFO DELETED
@@ -1,143 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: simulo
3
- Version: 0.28.0
4
- Summary: Simulo SDK and CLI — define robotics simulation and training apps in Python and run them on the Simulo cloud.
5
- Author-email: Simulo Team <team@simulo.ai>
6
- License: BSD-3-Clause
7
- Project-URL: Homepage, https://simulo.ai
8
- Keywords: robotics,simulation,reinforcement-learning,simulo
9
- Classifier: Development Status :: 3 - Alpha
10
- Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: BSD License
12
- Classifier: Operating System :: OS Independent
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Typing :: Typed
16
- Requires-Python: >=3.11
17
- Description-Content-Type: text/markdown
18
- Requires-Dist: simulo-interfaces<0.21,>=0.20.0
19
- Requires-Dist: mcap<2,>=1.3
20
- Requires-Dist: defusedxml>=0.7.1
21
- Requires-Dist: usd-core<27,>=26.5
22
- Provides-Extra: assets
23
- Requires-Dist: usd-core<27,>=26.5; extra == "assets"
24
- Provides-Extra: dev
25
- Requires-Dist: black==26.5.1; extra == "dev"
26
- Requires-Dist: isort==8.0.1; extra == "dev"
27
- Requires-Dist: ruff==0.15.21; extra == "dev"
28
- Requires-Dist: mypy==2.3.0; extra == "dev"
29
- Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
30
- Requires-Dist: pytest>=8.2; extra == "dev"
31
- Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
32
- Requires-Dist: build>=1.2; extra == "dev"
33
- Requires-Dist: twine>=5.1; extra == "dev"
34
- Requires-Dist: setuptools>=68; extra == "dev"
35
- Requires-Dist: wheel; extra == "dev"
36
- Provides-Extra: release
37
- Requires-Dist: commitizen>=3.27; extra == "release"
38
- Requires-Dist: build>=1.2; extra == "release"
39
- Requires-Dist: twine>=5.1; extra == "release"
40
-
41
- # simulo
42
-
43
- The Simulo SDK and CLI — define robotics simulation and training apps in Python,
44
- submit them to the Simulo cloud, monitor jobs, and retrieve trained models.
45
-
46
- Simulo is a cloud-first robotics simulation and training platform. Write your app
47
- against a small, stable Python API; Simulo handles running it.
48
-
49
- ## Install
50
-
51
- ```bash
52
- pip install simulo
53
- ```
54
-
55
- Requires Python 3.11+.
56
-
57
- ## Quickstart
58
-
59
- The fastest way to start: scaffold a runnable app.
60
-
61
- ```bash
62
- simulo create mybot
63
- # Created training app in mybot/ (app.py + .simuloignore).
64
- cd mybot
65
- ```
66
-
67
- `--type` picks the starter shape (default `training`): `training` (a single
68
- training job), `inference` (train → evaluate → rollout, self-contained), or
69
- `scenario` (a scripted scene, no learning). No network call and no login
70
- required — `simulo create` only writes files to your local folder. Edit
71
- `app.py` for your own robot and task, then see "Log in and submit" below to
72
- run it.
73
-
74
- To download a curated collection of runnable projects, use `simulo install samples`.
75
- It creates `./simulo-samples` as a normal Git clone, so `cd simulo-samples` and
76
- `cat README.md` open the sample index.
77
-
78
- Choose a destination with `--directory` and a Git branch, tag, or commit with
79
- `--ref`. You can use either option on its own or combine them:
80
-
81
- ```bash
82
- simulo install samples --directory robotics-examples --ref main
83
- cd robotics-examples
84
- ```
85
-
86
- The destination must not exist, and its parent directory must already exist.
87
- The directory appears only after the clone and requested checkout succeed.
88
- Use a tag or full commit ID instead of `main` to select a fixed revision.
89
- With `--ref`, the checkout is detached at the selected commit.
90
-
91
- ### Or write an app by hand
92
-
93
- ```python
94
- # app.py
95
- import simulo
96
-
97
- app = simulo.App("hello")
98
-
99
-
100
- @app.job(timeout=5 * 60)
101
- def hello(name: str = "world", repeat: int = 3) -> dict:
102
- for i in range(repeat):
103
- print(f"[hello] {i + 1}/{repeat}: hello, {name}!")
104
- return {"greeting": f"hello, {name}", "repeat": repeat}
105
-
106
-
107
- @app.entrypoint
108
- def main(name: str = "world", repeat: int = 3) -> None:
109
- handle = hello.spawn(name=name, repeat=repeat)
110
- print(f"Submitted job: {handle.job_name}")
111
- ```
112
-
113
- ## Log in and submit to the cloud
114
-
115
- ```bash
116
- simulo login
117
- simulo run app.py --name robot --repeat 5
118
- ```
119
-
120
- Without logging in, `simulo run` packages the app locally without submitting it.
121
-
122
- Every cloud submit is fresh — running the same command twice trains twice, never a silent
123
- no-op. To continue training from an earlier job's checkpoint instead, pass
124
- `--from <job-ref>[:best|:latest]`. `<job-ref>` is a full job id, matched by exact equality;
125
- an unambiguous prefix (`>=4` characters, Git-style) works too, but only for the legacy UUID
126
- form some jobs from before friendly identifiers still carry.
127
-
128
- ## Monitor jobs and retrieve results
129
-
130
- ```bash
131
- simulo jobs # your jobs and their statuses
132
- simulo logs --follow # stream the latest job's logs live
133
- simulo result # the completed job's result JSON
134
- simulo models # list / download trained checkpoints (sha256-verified)
135
- simulo recordings # download MCAP flight recordings
136
- simulo view # watch the live 3D scene (jobs submitted with --viewstream)
137
- simulo cancel # cancel a queued or running job
138
- ```
139
-
140
- Commands that take a job id default to the latest job, announcing what they
141
- resolved to on stderr.
142
-
143
- Learn more at [simulo.ai](https://simulo.ai).
simulo-0.28.0/PYPI.md DELETED
@@ -1,103 +0,0 @@
1
- # simulo
2
-
3
- The Simulo SDK and CLI — define robotics simulation and training apps in Python,
4
- submit them to the Simulo cloud, monitor jobs, and retrieve trained models.
5
-
6
- Simulo is a cloud-first robotics simulation and training platform. Write your app
7
- against a small, stable Python API; Simulo handles running it.
8
-
9
- ## Install
10
-
11
- ```bash
12
- pip install simulo
13
- ```
14
-
15
- Requires Python 3.11+.
16
-
17
- ## Quickstart
18
-
19
- The fastest way to start: scaffold a runnable app.
20
-
21
- ```bash
22
- simulo create mybot
23
- # Created training app in mybot/ (app.py + .simuloignore).
24
- cd mybot
25
- ```
26
-
27
- `--type` picks the starter shape (default `training`): `training` (a single
28
- training job), `inference` (train → evaluate → rollout, self-contained), or
29
- `scenario` (a scripted scene, no learning). No network call and no login
30
- required — `simulo create` only writes files to your local folder. Edit
31
- `app.py` for your own robot and task, then see "Log in and submit" below to
32
- run it.
33
-
34
- To download a curated collection of runnable projects, use `simulo install samples`.
35
- It creates `./simulo-samples` as a normal Git clone, so `cd simulo-samples` and
36
- `cat README.md` open the sample index.
37
-
38
- Choose a destination with `--directory` and a Git branch, tag, or commit with
39
- `--ref`. You can use either option on its own or combine them:
40
-
41
- ```bash
42
- simulo install samples --directory robotics-examples --ref main
43
- cd robotics-examples
44
- ```
45
-
46
- The destination must not exist, and its parent directory must already exist.
47
- The directory appears only after the clone and requested checkout succeed.
48
- Use a tag or full commit ID instead of `main` to select a fixed revision.
49
- With `--ref`, the checkout is detached at the selected commit.
50
-
51
- ### Or write an app by hand
52
-
53
- ```python
54
- # app.py
55
- import simulo
56
-
57
- app = simulo.App("hello")
58
-
59
-
60
- @app.job(timeout=5 * 60)
61
- def hello(name: str = "world", repeat: int = 3) -> dict:
62
- for i in range(repeat):
63
- print(f"[hello] {i + 1}/{repeat}: hello, {name}!")
64
- return {"greeting": f"hello, {name}", "repeat": repeat}
65
-
66
-
67
- @app.entrypoint
68
- def main(name: str = "world", repeat: int = 3) -> None:
69
- handle = hello.spawn(name=name, repeat=repeat)
70
- print(f"Submitted job: {handle.job_name}")
71
- ```
72
-
73
- ## Log in and submit to the cloud
74
-
75
- ```bash
76
- simulo login
77
- simulo run app.py --name robot --repeat 5
78
- ```
79
-
80
- Without logging in, `simulo run` packages the app locally without submitting it.
81
-
82
- Every cloud submit is fresh — running the same command twice trains twice, never a silent
83
- no-op. To continue training from an earlier job's checkpoint instead, pass
84
- `--from <job-ref>[:best|:latest]`. `<job-ref>` is a full job id, matched by exact equality;
85
- an unambiguous prefix (`>=4` characters, Git-style) works too, but only for the legacy UUID
86
- form some jobs from before friendly identifiers still carry.
87
-
88
- ## Monitor jobs and retrieve results
89
-
90
- ```bash
91
- simulo jobs # your jobs and their statuses
92
- simulo logs --follow # stream the latest job's logs live
93
- simulo result # the completed job's result JSON
94
- simulo models # list / download trained checkpoints (sha256-verified)
95
- simulo recordings # download MCAP flight recordings
96
- simulo view # watch the live 3D scene (jobs submitted with --viewstream)
97
- simulo cancel # cancel a queued or running job
98
- ```
99
-
100
- Commands that take a job id default to the latest job, announcing what they
101
- resolved to on stderr.
102
-
103
- Learn more at [simulo.ai](https://simulo.ai).
@@ -1,143 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: simulo
3
- Version: 0.28.0
4
- Summary: Simulo SDK and CLI — define robotics simulation and training apps in Python and run them on the Simulo cloud.
5
- Author-email: Simulo Team <team@simulo.ai>
6
- License: BSD-3-Clause
7
- Project-URL: Homepage, https://simulo.ai
8
- Keywords: robotics,simulation,reinforcement-learning,simulo
9
- Classifier: Development Status :: 3 - Alpha
10
- Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: BSD License
12
- Classifier: Operating System :: OS Independent
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Typing :: Typed
16
- Requires-Python: >=3.11
17
- Description-Content-Type: text/markdown
18
- Requires-Dist: simulo-interfaces<0.21,>=0.20.0
19
- Requires-Dist: mcap<2,>=1.3
20
- Requires-Dist: defusedxml>=0.7.1
21
- Requires-Dist: usd-core<27,>=26.5
22
- Provides-Extra: assets
23
- Requires-Dist: usd-core<27,>=26.5; extra == "assets"
24
- Provides-Extra: dev
25
- Requires-Dist: black==26.5.1; extra == "dev"
26
- Requires-Dist: isort==8.0.1; extra == "dev"
27
- Requires-Dist: ruff==0.15.21; extra == "dev"
28
- Requires-Dist: mypy==2.3.0; extra == "dev"
29
- Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
30
- Requires-Dist: pytest>=8.2; extra == "dev"
31
- Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
32
- Requires-Dist: build>=1.2; extra == "dev"
33
- Requires-Dist: twine>=5.1; extra == "dev"
34
- Requires-Dist: setuptools>=68; extra == "dev"
35
- Requires-Dist: wheel; extra == "dev"
36
- Provides-Extra: release
37
- Requires-Dist: commitizen>=3.27; extra == "release"
38
- Requires-Dist: build>=1.2; extra == "release"
39
- Requires-Dist: twine>=5.1; extra == "release"
40
-
41
- # simulo
42
-
43
- The Simulo SDK and CLI — define robotics simulation and training apps in Python,
44
- submit them to the Simulo cloud, monitor jobs, and retrieve trained models.
45
-
46
- Simulo is a cloud-first robotics simulation and training platform. Write your app
47
- against a small, stable Python API; Simulo handles running it.
48
-
49
- ## Install
50
-
51
- ```bash
52
- pip install simulo
53
- ```
54
-
55
- Requires Python 3.11+.
56
-
57
- ## Quickstart
58
-
59
- The fastest way to start: scaffold a runnable app.
60
-
61
- ```bash
62
- simulo create mybot
63
- # Created training app in mybot/ (app.py + .simuloignore).
64
- cd mybot
65
- ```
66
-
67
- `--type` picks the starter shape (default `training`): `training` (a single
68
- training job), `inference` (train → evaluate → rollout, self-contained), or
69
- `scenario` (a scripted scene, no learning). No network call and no login
70
- required — `simulo create` only writes files to your local folder. Edit
71
- `app.py` for your own robot and task, then see "Log in and submit" below to
72
- run it.
73
-
74
- To download a curated collection of runnable projects, use `simulo install samples`.
75
- It creates `./simulo-samples` as a normal Git clone, so `cd simulo-samples` and
76
- `cat README.md` open the sample index.
77
-
78
- Choose a destination with `--directory` and a Git branch, tag, or commit with
79
- `--ref`. You can use either option on its own or combine them:
80
-
81
- ```bash
82
- simulo install samples --directory robotics-examples --ref main
83
- cd robotics-examples
84
- ```
85
-
86
- The destination must not exist, and its parent directory must already exist.
87
- The directory appears only after the clone and requested checkout succeed.
88
- Use a tag or full commit ID instead of `main` to select a fixed revision.
89
- With `--ref`, the checkout is detached at the selected commit.
90
-
91
- ### Or write an app by hand
92
-
93
- ```python
94
- # app.py
95
- import simulo
96
-
97
- app = simulo.App("hello")
98
-
99
-
100
- @app.job(timeout=5 * 60)
101
- def hello(name: str = "world", repeat: int = 3) -> dict:
102
- for i in range(repeat):
103
- print(f"[hello] {i + 1}/{repeat}: hello, {name}!")
104
- return {"greeting": f"hello, {name}", "repeat": repeat}
105
-
106
-
107
- @app.entrypoint
108
- def main(name: str = "world", repeat: int = 3) -> None:
109
- handle = hello.spawn(name=name, repeat=repeat)
110
- print(f"Submitted job: {handle.job_name}")
111
- ```
112
-
113
- ## Log in and submit to the cloud
114
-
115
- ```bash
116
- simulo login
117
- simulo run app.py --name robot --repeat 5
118
- ```
119
-
120
- Without logging in, `simulo run` packages the app locally without submitting it.
121
-
122
- Every cloud submit is fresh — running the same command twice trains twice, never a silent
123
- no-op. To continue training from an earlier job's checkpoint instead, pass
124
- `--from <job-ref>[:best|:latest]`. `<job-ref>` is a full job id, matched by exact equality;
125
- an unambiguous prefix (`>=4` characters, Git-style) works too, but only for the legacy UUID
126
- form some jobs from before friendly identifiers still carry.
127
-
128
- ## Monitor jobs and retrieve results
129
-
130
- ```bash
131
- simulo jobs # your jobs and their statuses
132
- simulo logs --follow # stream the latest job's logs live
133
- simulo result # the completed job's result JSON
134
- simulo models # list / download trained checkpoints (sha256-verified)
135
- simulo recordings # download MCAP flight recordings
136
- simulo view # watch the live 3D scene (jobs submitted with --viewstream)
137
- simulo cancel # cancel a queued or running job
138
- ```
139
-
140
- Commands that take a job id default to the latest job, announcing what they
141
- resolved to on stderr.
142
-
143
- Learn more at [simulo.ai](https://simulo.ai).
File without changes
File without changes
File without changes
File without changes
File without changes