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.5-*.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.5.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.5-cp314-cp314-manylinux_2_35_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ x86-64

gobot-0.1.5-cp313-cp313-manylinux_2_35_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

gobot-0.1.5-cp312-cp312-manylinux_2_35_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

gobot-0.1.5-cp311-cp311-manylinux_2_35_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.35+ x86-64

gobot-0.1.5-cp310-cp310-manylinux_2_35_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.35+ x86-64

File details

Details for the file gobot-0.1.5.tar.gz.

File metadata

  • Download URL: gobot-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 09a88b69a8cf2b32a5ee1d6fa480df300142cfb552d5b93f0b013a161e1d9126
MD5 3de2feb504cc5a9405657de76716bc52
BLAKE2b-256 ae2d340943ca0ed623c5db888fb947ecdb8fe4691915c9d406c5a9ea4554fbee

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.5.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.5-cp314-cp314-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for gobot-0.1.5-cp314-cp314-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f7b3918117975b28396046207ae2b98e62a8a168ea870966d9ad834fe4337a05
MD5 29e21ee7f66c757f0a653df5788ef6ec
BLAKE2b-256 50ca485f3266fe6285be5a706abd6513a978d27d6105092f583737eec4d6f9c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.5-cp314-cp314-manylinux_2_35_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.5-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for gobot-0.1.5-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 0af864e1618e65466f1651640b3f6141c5952d3861d14fbf62119327f17282d8
MD5 4d75046334129f29460b9c2be696e9c5
BLAKE2b-256 f613cc2aa22dce4c5e64ea4e82f62f73da1c84a706bbac03444d488dad61ec41

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.5-cp313-cp313-manylinux_2_35_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.5-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for gobot-0.1.5-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 79c9ef4def9f14b58ac9b7ca8fb2300ce6c9b6ae703c12f1122a058bba4b7811
MD5 f2a66bcfa73dbb46f22ec8a7b6b65689
BLAKE2b-256 8674b5cbf610f6dc631cba54659b123e8d717f1b30002e858ca86cde4fadacf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.5-cp312-cp312-manylinux_2_35_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.5-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for gobot-0.1.5-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f9614671d6678e3f9118ea1a944586072c86aaf2d25e37431dfa8536a8c4f5d8
MD5 025d02616318260c8af6fdfc629873b5
BLAKE2b-256 6a00b19f1cea93f325f1ea07a615ac834fffecf17a09a88a5f3e437549dd4e02

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.5-cp311-cp311-manylinux_2_35_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.5-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for gobot-0.1.5-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 bfb27241536150e2a1c2043a0a10ec8b7ca9a3f81d3d5bf51b9a279175e697f8
MD5 7f50af5686177100b43f52be65021643
BLAKE2b-256 3736b119137fd307be8c42901e13a39b174c4ae675a893efe5b188994fab1977

See more details on using hashes here.

Provenance

The following attestation bundles were made for gobot-0.1.5-cp310-cp310-manylinux_2_35_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