Skip to main content

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.

overview

PyPI License CI

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 and examples/ 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

gobot-0.1.4.tar.gz (104.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gobot-0.1.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gobot-0.1.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gobot-0.1.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gobot-0.1.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

gobot-0.1.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

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

Hashes for gobot-0.1.4.tar.gz
Algorithm Hash digest
SHA256 032b40889df8b683fdcbba4ef9ad4ea8eac1e3dbb90cde25dcbcdda02aae7ce5
MD5 88d9613a54520d5bacf97ffdbac1d3b6
BLAKE2b-256 ad87a582412342990f5f2d1c782dabbd54a70844f812959a695920bd3c097bac

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.4.tar.gz:

Publisher: python-publish.yml on RobSimulatorGroup/gobot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for gobot-0.1.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3351f8d2021cc6feffa85cfe9e3200f3c93a414692ceb6dbff9be953f8e5de53
MD5 3713627aa0879dd26152b721733a0d69
BLAKE2b-256 8e54a39b719b7eca7d8b48b7c9d59af41d8844626c5f93a8c27b046ba39ea80b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for gobot-0.1.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49f28b3dad81cb1233b4e2032302dbe7e48797f4e74978cbfe862c7ca451445a
MD5 ed045b5aa87c8ce5fbd937f49eb8bc1c
BLAKE2b-256 a3043c8a8213311f6838f013aa5eb9bdb791b53f9478c81dd16e596a2a8e53d1

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for gobot-0.1.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7e7da546dd4d6a20a27492835f51b9924064fb06f343ba21d303d4cf2039784
MD5 98640ac71efe521b1fd0e73510ad4b7b
BLAKE2b-256 ccda28cf6f03d032cfb0d90ea1aff3567de6b3c677c1fecd219e979f6b4ef7af

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for gobot-0.1.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7f5f4a8e01703120f6fdb8f32172fbd1ae4b66bcf85407235296e1942329d1c
MD5 f174419b1997aeb6154d3dceda8e851a
BLAKE2b-256 d408e026337ad357b757707f1ea57aaf8cf7b3b374dc356d43970778bff7ba6c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for gobot-0.1.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87e4c1d1cc1348027377d1a343fca2fc41ee919aba2ceb0285f8dd44274c74b8
MD5 a6b123a35594269cce9cf00734a18db5
BLAKE2b-256 ad1444e4162aa9cf3ad02a8fd79f2fcc644b41dc75932584cd2f5675dafea914

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page