simulo 0.28.0__tar.gz → 0.28.1__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.1/PKG-INFO +147 -0
  2. simulo-0.28.1/PYPI.md +92 -0
  3. {simulo-0.28.0 → simulo-0.28.1}/pyproject.toml +40 -4
  4. simulo-0.28.1/src/simulo.egg-info/PKG-INFO +147 -0
  5. {simulo-0.28.0 → simulo-0.28.1}/src/simulo.egg-info/requires.txt +1 -1
  6. simulo-0.28.0/PKG-INFO +0 -143
  7. simulo-0.28.0/PYPI.md +0 -103
  8. simulo-0.28.0/src/simulo.egg-info/PKG-INFO +0 -143
  9. {simulo-0.28.0 → simulo-0.28.1}/MANIFEST.in +0 -0
  10. {simulo-0.28.0 → simulo-0.28.1}/setup.cfg +0 -0
  11. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/__init__.py +0 -0
  12. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/__init__.py +0 -0
  13. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/_entrypoint.py +0 -0
  14. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/_mounts.py +0 -0
  15. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/_runner.py +0 -0
  16. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/_secure_downloads.py +0 -0
  17. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/app.py +0 -0
  18. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/asset.py +0 -0
  19. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/asset_api.py +0 -0
  20. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/asset_package.py +0 -0
  21. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/asset_pins.py +0 -0
  22. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/builtin_aliases.py +0 -0
  23. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/bundle.py +0 -0
  24. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/cancel_api.py +0 -0
  25. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/cli.py +0 -0
  26. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/config.py +0 -0
  27. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/credentials.py +0 -0
  28. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/discovery.py +0 -0
  29. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/export_api.py +0 -0
  30. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/export_bundle.py +0 -0
  31. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/facades.py +0 -0
  32. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/http.py +0 -0
  33. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/identity_api.py +0 -0
  34. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/install_samples.py +0 -0
  35. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/jobs_api.py +0 -0
  36. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/learning.py +0 -0
  37. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/login.py +0 -0
  38. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/mode.py +0 -0
  39. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/outputs.py +0 -0
  40. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/packaging.py +0 -0
  41. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/preflight_api.py +0 -0
  42. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/preflight_render.py +0 -0
  43. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/registry.py +0 -0
  44. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/runtime.py +0 -0
  45. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/runtime_display.py +0 -0
  46. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/seed_ref.py +0 -0
  47. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/stub.py +0 -0
  48. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/submit_api.py +0 -0
  49. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/__init__.py +0 -0
  50. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/inference/app.py.tmpl +0 -0
  51. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/inference/simuloignore.tmpl +0 -0
  52. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/scenario/app.py.tmpl +0 -0
  53. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/scenario/simuloignore.tmpl +0 -0
  54. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/training/app.py.tmpl +0 -0
  55. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/templates/training/simuloignore.tmpl +0 -0
  56. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/view_fragment.py +0 -0
  57. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/view_session_api.py +0 -0
  58. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/_client/volume.py +0 -0
  59. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/callbacks.py +0 -0
  60. {simulo-0.28.0 → simulo-0.28.1}/src/simulo/py.typed +0 -0
  61. {simulo-0.28.0 → simulo-0.28.1}/src/simulo.egg-info/SOURCES.txt +0 -0
  62. {simulo-0.28.0 → simulo-0.28.1}/src/simulo.egg-info/dependency_links.txt +0 -0
  63. {simulo-0.28.0 → simulo-0.28.1}/src/simulo.egg-info/entry_points.txt +0 -0
  64. {simulo-0.28.0 → simulo-0.28.1}/src/simulo.egg-info/top_level.txt +0 -0
simulo-0.28.1/PKG-INFO ADDED
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.4
2
+ Name: simulo
3
+ Version: 0.28.1
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
+ 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
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Education
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: License :: OSI Approved :: BSD License
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3 :: Only
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Topic :: Scientific/Engineering
25
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
26
+ Classifier: Topic :: Scientific/Engineering :: Visualization
27
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
28
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
+ Classifier: Topic :: System :: Distributed Computing
30
+ Classifier: Typing :: Typed
31
+ Requires-Python: >=3.11
32
+ Description-Content-Type: text/markdown
33
+ Requires-Dist: simulo-interfaces<0.21,>=0.20.1
34
+ Requires-Dist: mcap<2,>=1.3
35
+ Requires-Dist: defusedxml>=0.7.1
36
+ Requires-Dist: usd-core<27,>=26.5
37
+ Provides-Extra: assets
38
+ Requires-Dist: usd-core<27,>=26.5; extra == "assets"
39
+ Provides-Extra: dev
40
+ Requires-Dist: black==26.5.1; extra == "dev"
41
+ Requires-Dist: isort==8.0.1; extra == "dev"
42
+ Requires-Dist: ruff==0.15.21; extra == "dev"
43
+ Requires-Dist: mypy==2.3.0; extra == "dev"
44
+ Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
45
+ Requires-Dist: pytest>=8.2; extra == "dev"
46
+ Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
47
+ Requires-Dist: build>=1.2; extra == "dev"
48
+ Requires-Dist: twine>=5.1; extra == "dev"
49
+ Requires-Dist: setuptools>=68; extra == "dev"
50
+ Requires-Dist: wheel; extra == "dev"
51
+ Provides-Extra: release
52
+ Requires-Dist: commitizen>=3.27; extra == "release"
53
+ Requires-Dist: build>=1.2; extra == "release"
54
+ Requires-Dist: twine>=5.1; extra == "release"
55
+
56
+ # Simulo for Cloud Robotics Simulation and Training
57
+
58
+ **Train robot policies in simulation on managed cloud GPUs.**
59
+
60
+ Simulo is a cloud-native AI platform for robotics simulation and training. Its
61
+ lightweight `simulo` Python SDK and CLI let you define robot-learning applications
62
+ locally, submit them to the Simulo cloud, and inspect the results. The platform
63
+ handles managed GPU execution, reproducible packaging, versioned assets,
64
+ checkpoints, trained models, recordings, and live 3D viewing.
65
+
66
+ The package installed on your computer is torch-free and requires no local GPU or
67
+ simulator. The managed runtime currently uses NVIDIA Isaac Sim and Isaac Lab to
68
+ execute reinforcement-learning training, policy evaluation and inference, and
69
+ scripted robotics simulations.
70
+
71
+ ## What you can do
72
+
73
+ - Write robotics applications in ordinary Python against a small, stable API.
74
+ - Build vectorized reinforcement-learning environments and train robot policies with PPO.
75
+ - Start with validated catalog robots or publish your own OpenUSD (USD) and URDF assets.
76
+ - Continue training from the best or latest checkpoint produced by an earlier job.
77
+ - Evaluate policies, run inference, and export trained policies as verified ONNX bundles.
78
+ - Stream logs, retrieve results and outputs, capture MCAP rollout recordings, and watch a live 3D view.
79
+
80
+ ## Install
81
+
82
+ ```bash
83
+ python -m pip install simulo
84
+ ```
85
+
86
+ Simulo requires Python 3.11 or newer. One installation provides both the
87
+ `import simulo` Python API and the `simulo` command-line interface.
88
+
89
+ ## Train a first policy
90
+
91
+ ```bash
92
+ simulo create mybot
93
+ simulo login
94
+ cd mybot
95
+ simulo run app.py --frozen --strict-assets
96
+ ```
97
+
98
+ `simulo create` writes a complete starter application to your machine without
99
+ requiring a login or network connection. The default application trains a PPO
100
+ policy on a validated cartpole asset. `simulo run` packages the source, resolves
101
+ and pins its assets, submits the job, and follows its cloud logs.
102
+
103
+ ## Explore robotics samples
104
+
105
+ The public [Simulo samples repository](https://github.com/simulo-org/simulo-samples)
106
+ contains projects for cartpole, humanoid locomotion, JetBot navigation, Franka
107
+ arm control, a bring-your-own URDF arm, and F1TENTH-compatible drift training.
108
+ Its current published compatibility contract is `simulo>=0.26.0,<0.27`. Check
109
+ the repository README for the supported SDK range before running a checkout.
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.1/PYPI.md ADDED
@@ -0,0 +1,92 @@
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 currently uses NVIDIA Isaac Sim and Isaac Lab to
13
+ execute reinforcement-learning training, policy evaluation and inference, and
14
+ scripted robotics simulations.
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
+ Its current published compatibility contract is `simulo>=0.26.0,<0.27`. Check
54
+ the repository README for the supported SDK range before running a checkout.
55
+
56
+ ## Monitor jobs and retrieve artifacts
57
+
58
+ ```bash
59
+ simulo jobs # list submitted jobs and status
60
+ simulo logs --follow # stream the latest job's logs
61
+ simulo result # read the job's result
62
+ simulo models # list or download trained models
63
+ simulo export # export the best policy as verified ONNX
64
+ simulo recordings # download MCAP rollout recordings
65
+ simulo outputs # retrieve other saved outputs
66
+ simulo view # view a running --viewstream job in 3D
67
+ simulo cancel # stop a queued or running job
68
+ ```
69
+
70
+ Commands that accept a job ID default to the latest job and tell you which job
71
+ they selected.
72
+
73
+ ## Use versioned robot assets
74
+
75
+ ```bash
76
+ simulo asset list --global
77
+ simulo asset inspect simulo/robot/cartpole:v1
78
+ simulo asset publish ./my-robot --kind robot
79
+ ```
80
+
81
+ Simulo catalogs keep robot, world, and prop assets versioned and traceable. You
82
+ can use validated global assets immediately or publish your own USD or URDF
83
+ package for reuse across training, evaluation, and inference jobs.
84
+
85
+ ## Learn more
86
+
87
+ - [Quickstart](https://docs.simulo.ai/getting-started/quickstart/)
88
+ - [Documentation](https://docs.simulo.ai/)
89
+ - [Python API reference](https://docs.simulo.ai/api/)
90
+ - [CLI reference](https://docs.simulo.ai/cli/)
91
+ - [Examples](https://docs.simulo.ai/examples/)
92
+ - [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.1"
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.1,<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,9 @@ 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"
105
141
 
106
142
  # Namespace packaging: this is the only distribution that ships
107
143
  # `src/simulo/__init__.py`, so sibling `simulo.*` distributions can share the
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.4
2
+ Name: simulo
3
+ Version: 0.28.1
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
+ 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
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Education
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: License :: OSI Approved :: BSD License
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3 :: Only
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Topic :: Scientific/Engineering
25
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
26
+ Classifier: Topic :: Scientific/Engineering :: Visualization
27
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
28
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
+ Classifier: Topic :: System :: Distributed Computing
30
+ Classifier: Typing :: Typed
31
+ Requires-Python: >=3.11
32
+ Description-Content-Type: text/markdown
33
+ Requires-Dist: simulo-interfaces<0.21,>=0.20.1
34
+ Requires-Dist: mcap<2,>=1.3
35
+ Requires-Dist: defusedxml>=0.7.1
36
+ Requires-Dist: usd-core<27,>=26.5
37
+ Provides-Extra: assets
38
+ Requires-Dist: usd-core<27,>=26.5; extra == "assets"
39
+ Provides-Extra: dev
40
+ Requires-Dist: black==26.5.1; extra == "dev"
41
+ Requires-Dist: isort==8.0.1; extra == "dev"
42
+ Requires-Dist: ruff==0.15.21; extra == "dev"
43
+ Requires-Dist: mypy==2.3.0; extra == "dev"
44
+ Requires-Dist: types-defusedxml==0.7.0.20260504; extra == "dev"
45
+ Requires-Dist: pytest>=8.2; extra == "dev"
46
+ Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
47
+ Requires-Dist: build>=1.2; extra == "dev"
48
+ Requires-Dist: twine>=5.1; extra == "dev"
49
+ Requires-Dist: setuptools>=68; extra == "dev"
50
+ Requires-Dist: wheel; extra == "dev"
51
+ Provides-Extra: release
52
+ Requires-Dist: commitizen>=3.27; extra == "release"
53
+ Requires-Dist: build>=1.2; extra == "release"
54
+ Requires-Dist: twine>=5.1; extra == "release"
55
+
56
+ # Simulo for Cloud Robotics Simulation and Training
57
+
58
+ **Train robot policies in simulation on managed cloud GPUs.**
59
+
60
+ Simulo is a cloud-native AI platform for robotics simulation and training. Its
61
+ lightweight `simulo` Python SDK and CLI let you define robot-learning applications
62
+ locally, submit them to the Simulo cloud, and inspect the results. The platform
63
+ handles managed GPU execution, reproducible packaging, versioned assets,
64
+ checkpoints, trained models, recordings, and live 3D viewing.
65
+
66
+ The package installed on your computer is torch-free and requires no local GPU or
67
+ simulator. The managed runtime currently uses NVIDIA Isaac Sim and Isaac Lab to
68
+ execute reinforcement-learning training, policy evaluation and inference, and
69
+ scripted robotics simulations.
70
+
71
+ ## What you can do
72
+
73
+ - Write robotics applications in ordinary Python against a small, stable API.
74
+ - Build vectorized reinforcement-learning environments and train robot policies with PPO.
75
+ - Start with validated catalog robots or publish your own OpenUSD (USD) and URDF assets.
76
+ - Continue training from the best or latest checkpoint produced by an earlier job.
77
+ - Evaluate policies, run inference, and export trained policies as verified ONNX bundles.
78
+ - Stream logs, retrieve results and outputs, capture MCAP rollout recordings, and watch a live 3D view.
79
+
80
+ ## Install
81
+
82
+ ```bash
83
+ python -m pip install simulo
84
+ ```
85
+
86
+ Simulo requires Python 3.11 or newer. One installation provides both the
87
+ `import simulo` Python API and the `simulo` command-line interface.
88
+
89
+ ## Train a first policy
90
+
91
+ ```bash
92
+ simulo create mybot
93
+ simulo login
94
+ cd mybot
95
+ simulo run app.py --frozen --strict-assets
96
+ ```
97
+
98
+ `simulo create` writes a complete starter application to your machine without
99
+ requiring a login or network connection. The default application trains a PPO
100
+ policy on a validated cartpole asset. `simulo run` packages the source, resolves
101
+ and pins its assets, submits the job, and follows its cloud logs.
102
+
103
+ ## Explore robotics samples
104
+
105
+ The public [Simulo samples repository](https://github.com/simulo-org/simulo-samples)
106
+ contains projects for cartpole, humanoid locomotion, JetBot navigation, Franka
107
+ arm control, a bring-your-own URDF arm, and F1TENTH-compatible drift training.
108
+ Its current published compatibility contract is `simulo>=0.26.0,<0.27`. Check
109
+ the repository README for the supported SDK range before running a checkout.
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.1
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