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 full-featured Linux x86_64 wheels for NVIDIA GPU systems. The wheel includes CPU simulation, MuJoCo Warp training dependencies, and the LuisaCompute CUDA viewport renderer.
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
Set a project root before using res:// paths:
import gobot
gobot.set_project_path("/path/to/project")
scene = gobot.load_scene("res://world.jscn")
print(scene.root.name)
Editor
Start the editor from the Python environment you want Gobot to use:
gobot_editor
For source checkout development:
cd /path/to/gobot
scripts/build_luisa_compute.sh
uv sync
uv run gobot_editor --path examples/go1
uv sync installs Gobot editable: Python files import directly from the
checkout, while _core, libgobot, and gobot_editor come from the same
build installed in .venv. After changing C++ or CMake files, rebuild and
reinstall only Gobot:
uv sync --reinstall-package gobot --no-build-isolation-package gobot
The initial uv sync installs the build backend in .venv; disabling build
isolation on later native rebuilds prevents CMake from caching a temporary
build environment's Python executable.
Python-only edits need no rebuild. Do not add PYTHONPATH or launch an editor
from build/python; that can combine source files, native extensions, and
executables from different builds. The package launcher selects the native
artifacts installed in its own environment.
uv run is environment activation, not a separate Gobot runtime. These are
equivalent after uv sync:
uv run gobot_editor --path examples/go1
.venv/bin/gobot_editor --path examples/go1
Alternatively, run source .venv/bin/activate once and then use
gobot_editor or python directly. At runtime,
GOBOT_PYTHON_LIBRARY=/other/libpython.so still overrides automatic
libpython discovery.
For a standalone CMake build used by C++ tests, use a separate build directory
and the Python selected by uv:
cmake -S . -B build/dev -DPython3_EXECUTABLE="$(uv python find)"
cmake --build build/dev -j
ctest --test-dir build/dev --output-on-failure
Python CTest cases run against build/dev/python in an isolated interpreter,
so an older editable _core in .venv cannot shadow the artifact under test.
That standalone build is not the artifact used by the .venv console script;
run the following command when the installed editor must be updated:
uv sync --reinstall-package gobot --no-build-isolation-package gobot
The default environment includes ONNX Runtime, PyTorch, rsl_rl, MuJoCo Warp,
training logs, video capture, and ONNX export support. There are no separate
CPU, CUDA, or training extras. Selecting mujoco-cpu or mujoco-warp remains
an explicit runtime choice; requesting Warp never silently falls back to CPU.
Run Go1 rough-terrain training on MuJoCo Warp through uv:
uv run \
python -m examples.go1.train.go1_velocity_train \
--backend mujoco-warp \
--device cuda:0 \
--num-envs 256 \
--iterations 10000 \
--no-step-extras
Select the CPU semantic baseline explicitly when CUDA is not desired:
uv run \
python -m examples.go1.train.go1_velocity_train \
--backend mujoco-cpu \
--device cpu \
--num-envs 64 \
--iterations 10000
Packaged examples are available from the editor start screen under Examples.
See doc/examples.md for packaging details.
Examples
| Example | Preview |
|---|---|
| CartPole | |
| Go1 policy playback |
Local Wheel Build
From a source checkout:
git clone https://github.com/RobSimulatorGroup/gobot.git
cd gobot
git submodule update --init --recursive
scripts/build_luisa_compute.sh
uv run --with build python -m build --wheel
uv pip install --force-reinstall dist/gobot-*.whl
Notes
- Supported platform: Linux.
- Python package name:
gobot. - MuJoCo support is included in release wheels when available in the build.
- Release wheels install the MuJoCo Warp Python provider and LuisaCompute CUDA renderer by default; neither becomes a C++ scene API.
- A system CUDA Toolkit is needed to build from source, but not to use a wheel.
Wheel users need a compatible NVIDIA driver providing
libcuda.so.1and the system libglvnd EGL/OpenGL dispatch libraries. Driver libraries are not copied into the wheel because they must match the target machine's driver. - Packaged examples:
gobot/examples/in wheels andexamples/in source. - MuJoCo RL roadmap:
doc/mujoco_rl_plan.md. - Luisa CUDA renderer architecture and build guide:
doc/luisa_rendering_plan.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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.12-cp314-cp314-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: gobot-0.1.12-cp314-cp314-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 67.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0694f65d54d02db2b1afeac19299367b4b918e6a1c4950458eacff0f19056f58
|
|
| MD5 |
422ec589fc4cf895467da34aa0971de6
|
|
| BLAKE2b-256 |
78e940ed6ac88ec1a4b66cb1eb1016db7a2f9c7205bd0069362e2e6d1c543a6e
|
Provenance
The following attestation bundles were made for gobot-0.1.12-cp314-cp314-manylinux_2_35_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.12-cp314-cp314-manylinux_2_35_x86_64.whl -
Subject digest:
0694f65d54d02db2b1afeac19299367b4b918e6a1c4950458eacff0f19056f58 - Sigstore transparency entry: 2206735366
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@3157598726963c7bfde4cfe3013c9e113cbc6571 -
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@3157598726963c7bfde4cfe3013c9e113cbc6571 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.12-cp313-cp313-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: gobot-0.1.12-cp313-cp313-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 67.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12f5b9f481357fdeaa4c85e68344b786e9abd70340511d2523ecc47520bf578a
|
|
| MD5 |
d81255fe751a8047bdce70b16dee2f73
|
|
| BLAKE2b-256 |
69487685fc439a52206f3aba66ed232dcd7866163007ded836a9a15bd0ec5d0d
|
Provenance
The following attestation bundles were made for gobot-0.1.12-cp313-cp313-manylinux_2_35_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.12-cp313-cp313-manylinux_2_35_x86_64.whl -
Subject digest:
12f5b9f481357fdeaa4c85e68344b786e9abd70340511d2523ecc47520bf578a - Sigstore transparency entry: 2206735247
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@3157598726963c7bfde4cfe3013c9e113cbc6571 -
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@3157598726963c7bfde4cfe3013c9e113cbc6571 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.12-cp312-cp312-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: gobot-0.1.12-cp312-cp312-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 67.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6ceecf801a41d17c2a22c572204128bfe1d6350abd8e085cca394f838cb4995
|
|
| MD5 |
89088c0fa52ffc25fee2d35472c98517
|
|
| BLAKE2b-256 |
56511fb3fe5732c9caa41a4f5c12b2860685fbd9ecf23f31c3c31d91ab495db9
|
Provenance
The following attestation bundles were made for gobot-0.1.12-cp312-cp312-manylinux_2_35_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.12-cp312-cp312-manylinux_2_35_x86_64.whl -
Subject digest:
d6ceecf801a41d17c2a22c572204128bfe1d6350abd8e085cca394f838cb4995 - Sigstore transparency entry: 2206735316
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@3157598726963c7bfde4cfe3013c9e113cbc6571 -
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@3157598726963c7bfde4cfe3013c9e113cbc6571 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.12-cp311-cp311-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: gobot-0.1.12-cp311-cp311-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 67.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03b2a1adfbf7b1022371b5f7cf48f58f6032ddb08f657f085bd720dc50f3324e
|
|
| MD5 |
2dac1e91bbe2774c0bdb720a9ee82332
|
|
| BLAKE2b-256 |
8d2372fac97fdb2a6ffcd05bb6307eb6a9d291a54a3110f366abaa480f233e19
|
Provenance
The following attestation bundles were made for gobot-0.1.12-cp311-cp311-manylinux_2_35_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.12-cp311-cp311-manylinux_2_35_x86_64.whl -
Subject digest:
03b2a1adfbf7b1022371b5f7cf48f58f6032ddb08f657f085bd720dc50f3324e - Sigstore transparency entry: 2206735286
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@3157598726963c7bfde4cfe3013c9e113cbc6571 -
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@3157598726963c7bfde4cfe3013c9e113cbc6571 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file gobot-0.1.12-cp310-cp310-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: gobot-0.1.12-cp310-cp310-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 67.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3867055fe0aba17b69318fd463653cc8fa036c0c5a25e5ae0d22be3bb5f4b16
|
|
| MD5 |
3db25bf1c8cde1f6a93900563ed6dc1a
|
|
| BLAKE2b-256 |
78d4c92b8d8f0e94308a83b38822466ea5451ce715b98de235da76c6f945e5ca
|
Provenance
The following attestation bundles were made for gobot-0.1.12-cp310-cp310-manylinux_2_35_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.12-cp310-cp310-manylinux_2_35_x86_64.whl -
Subject digest:
e3867055fe0aba17b69318fd463653cc8fa036c0c5a25e5ae0d22be3bb5f4b16 - Sigstore transparency entry: 2206735222
- Sigstore integration time:
-
Permalink:
RobSimulatorGroup/gobot@3157598726963c7bfde4cfe3013c9e113cbc6571 -
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@3157598726963c7bfde4cfe3013c9e113cbc6571 -
Trigger Event:
workflow_dispatch
-
Statement type: