Python bindings for the Gobot robotics scene, simulation, and rendering engine.
Project description
gobot
Gobot is a Linux robotics simulation package with a Python-first workflow. Use it from Python to create scenes, step simulation, inspect robot state, and drive reinforcement-learning experiments.
Install
Gobot currently publishes Linux wheels.
pip install gobot -i https://pypi.org/simple
Check the install:
import gobot
print(gobot.__file__)
print(gobot.__version__)
print(gobot.backend_infos())
Python Usage
Create and inspect a small test scene:
import gobot
scene = gobot.create_test_scene()
root = scene.root
print(root.name)
print(root.type)
print([child.name for child in root.children])
Run a minimal reinforcement-learning environment:
import gobot
gobot.app.context().set_project_path("/tmp/gobot-demo")
gobot.scene.save_cartpole_scene("res://cartpole.jscn")
env = gobot.rl.ManagerBasedEnv(
{"scene": "res://cartpole.jscn", "backend": "null", "controlled_joints": ["slider"]}
)
obs, info = env.reset(seed=1)
for _ in range(10):
obs, reward, terminated, truncated, info = env.step([[0.0]])
if terminated[0] or truncated[0]:
obs, info = env.reset()
Use the Gymnasium-style adapter:
import gobot
env = gobot.rl.GymWrapper(
gobot.rl.ManagerBasedEnv(
{"scene": "res://cartpole.jscn", "backend": "null", "controlled_joints": ["slider"]}
)
)
obs, info = env.reset(seed=1)
obs, reward, terminated, truncated, info = env.step([0.0])
Set a project root when working with res:// paths:
import gobot
gobot.set_project_path("/path/to/project")
scene = gobot.load_scene("res://world.jscn")
Editor
The wheel also installs the editor command:
gobot_editor
The executable and its local shared libraries are installed inside the Python
package, so a normal pip install gobot is enough for the packaged runtime.
Check the packaged editor version with gobot_editor --version.
Packaged examples are available from the editor start screen under Examples.
The same files are installed inside the Python package at gobot/examples/.
The first bundled example is cartpole, a MuJoCo-backed inverted pendulum scene
with a Python NodeScript controller.
The Python launcher records packaged example roots in ~/.gobot/projects.json
under example_roots, and the GUI reads that list instead of guessing from the
editor executable path. If both a source checkout and a pip install are present,
same-name examples are de-duplicated and the pip-installed root is preferred
when launched through the Python package.
See doc/examples.md for the example project layout and packaging rules.
To locate examples from Python:
from importlib import resources
print(resources.files("gobot").joinpath("examples"))
Local Wheel Build
From a source checkout:
git clone https://github.com/RobSimulatorGroup/gobot.git
cd gobot
git submodule update --init --recursive
python -m pip install -U build scikit-build-core
python -m build --wheel
python -m pip install --force-reinstall dist/gobot-0.1.4-*.whl
For a faster local build without MuJoCo:
python -m build --wheel -Ccmake.define.GOB_BUILD_MUJOCO=OFF
Notes
- Supported platform: Linux.
- Python package name:
gobot. - Main RL entry point:
gobot.rl.ManagerBasedEnv. - Gym-style helpers:
gobot.rl.GymWrapper. - MuJoCo support is included in release wheels when available in the build.
- Packaged examples:
gobot/examples/in wheels andexamples/in source. - MuJoCo RL roadmap:
doc/mujoco_rl_plan.md.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gobot-0.1.4.tar.gz.
File metadata
- Download URL: gobot-0.1.4.tar.gz
- Upload date:
- Size: 104.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
032b40889df8b683fdcbba4ef9ad4ea8eac1e3dbb90cde25dcbcdda02aae7ce5
|
|
| MD5 |
88d9613a54520d5bacf97ffdbac1d3b6
|
|
| BLAKE2b-256 |
ad87a582412342990f5f2d1c782dabbd54a70844f812959a695920bd3c097bac
|
Provenance
The following attestation bundles were made for gobot-0.1.4.tar.gz:
Publisher:
python-publish.yml on RobSimulatorGroup/gobot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gobot-0.1.4.tar.gz -
Subject digest:
032b40889df8b683fdcbba4ef9ad4ea8eac1e3dbb90cde25dcbcdda02aae7ce5 - Sigstore transparency entry: 1545247892
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RobSimulatorGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gobot-0.1.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 9.0 MB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3351f8d2021cc6feffa85cfe9e3200f3c93a414692ceb6dbff9be953f8e5de53
|
|
| MD5 |
3713627aa0879dd26152b721733a0d69
|
|
| BLAKE2b-256 |
8e54a39b719b7eca7d8b48b7c9d59af41d8844626c5f93a8c27b046ba39ea80b
|
Provenance
The following attestation bundles were made for gobot-0.1.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python-publish.yml on RobSimulatorGroup/gobot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gobot-0.1.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
3351f8d2021cc6feffa85cfe9e3200f3c93a414692ceb6dbff9be953f8e5de53 - Sigstore transparency entry: 1545248084
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RobSimulatorGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gobot-0.1.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 9.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49f28b3dad81cb1233b4e2032302dbe7e48797f4e74978cbfe862c7ca451445a
|
|
| MD5 |
ed045b5aa87c8ce5fbd937f49eb8bc1c
|
|
| BLAKE2b-256 |
a3043c8a8213311f6838f013aa5eb9bdb791b53f9478c81dd16e596a2a8e53d1
|
Provenance
The following attestation bundles were made for gobot-0.1.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python-publish.yml on RobSimulatorGroup/gobot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gobot-0.1.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
49f28b3dad81cb1233b4e2032302dbe7e48797f4e74978cbfe862c7ca451445a - Sigstore transparency entry: 1545247977
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RobSimulatorGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gobot-0.1.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 9.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7e7da546dd4d6a20a27492835f51b9924064fb06f343ba21d303d4cf2039784
|
|
| MD5 |
98640ac71efe521b1fd0e73510ad4b7b
|
|
| BLAKE2b-256 |
ccda28cf6f03d032cfb0d90ea1aff3567de6b3c677c1fecd219e979f6b4ef7af
|
Provenance
The following attestation bundles were made for gobot-0.1.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python-publish.yml on RobSimulatorGroup/gobot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gobot-0.1.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
e7e7da546dd4d6a20a27492835f51b9924064fb06f343ba21d303d4cf2039784 - Sigstore transparency entry: 1545248176
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RobSimulatorGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gobot-0.1.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 9.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7f5f4a8e01703120f6fdb8f32172fbd1ae4b66bcf85407235296e1942329d1c
|
|
| MD5 |
f174419b1997aeb6154d3dceda8e851a
|
|
| BLAKE2b-256 |
d408e026337ad357b757707f1ea57aaf8cf7b3b374dc356d43970778bff7ba6c
|
Provenance
The following attestation bundles were made for gobot-0.1.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python-publish.yml on RobSimulatorGroup/gobot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gobot-0.1.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
f7f5f4a8e01703120f6fdb8f32172fbd1ae4b66bcf85407235296e1942329d1c - Sigstore transparency entry: 1545248258
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RobSimulatorGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: gobot-0.1.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 9.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87e4c1d1cc1348027377d1a343fca2fc41ee919aba2ceb0285f8dd44274c74b8
|
|
| MD5 |
a6b123a35594269cce9cf00734a18db5
|
|
| BLAKE2b-256 |
ad1444e4162aa9cf3ad02a8fd79f2fcc644b41dc75932584cd2f5675dafea914
|
Provenance
The following attestation bundles were made for gobot-0.1.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
python-publish.yml on RobSimulatorGroup/gobot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gobot-0.1.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
87e4c1d1cc1348027377d1a343fca2fc41ee919aba2ceb0285f8dd44274c74b8 - Sigstore transparency entry: 1545248328
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/RobSimulatorGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e6e4118b5f587cc28b073aa8ed31dd21cd639e90 -
Trigger Event:
workflow_dispatch
-
Statement type: