pybullet
Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning
Decision gist · record as of 2026-08-14
Yes, if you need physics simulation for robotics or reinforcement learning. PyBullet is mature, permissively licensed, has no runtime dependencies, and offers broad platform support via wheels. The aging maintenance status is not a blocker for stable simulation tasks, but verify that the specific features you need match the current state of the codebase.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a display server for GUI mode; headless simulation available but rendering capabilities depend on system OpenGL support.
- Medium install friction due to compiled C++ bindings, but wheels are available for multiple Python versions and PyPy variants on Linux.
- Last commit was 2025-10-22 and the package is classified as Production/Stable, though marked as aging with no release in 561 days.
License · maintenance · safety
zlib (permissive) — Licensed under zlib (permissive), allowing commercial and private use with minimal restrictions—typical for physics simulation libraries.
last release 2025-01-30 (561 days) · last repo commit 2025-10-22 · 14,673 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 443,947 downloads/mo, #6,626 on PyPI
Alternatives
Verify before relying
import pybullet as p
p.connect(p.GUI)
p.loadURDF('r2d2.urdf')
p.stepSimulation()- Whether wheel availability extends to ARM64 or other non-x86_64 architectures beyond the manylinux_2_17_x86_64 wheels shown.
- Current state of OpenGL visualization support and CPU renderer capabilities.
- Whether virtual reality headset support is actively maintained or legacy functionality.
What it is and what it does
PyBullet is a Python interface to the Bullet Physics Engine, designed primarily for robotics simulation and reinforcement learning. It lets you load articulated bodies (robots, objects) from standard formats like URDF and SDF, then simulate their physics—forward and inverse dynamics, kinematics, collision detection, and ray casting. The package handles the heavy computation in compiled C++ while exposing a straightforward Python API for defining scenes, stepping the simulation, and querying results.
The library supports both interactive visualization with OpenGL and headless simulation for training loops. It has no runtime Python dependencies, making it relatively self-contained once installed, though the compiled wheels are platform-specific. The aging maintenance status and 561-day gap since the last release suggest the core functionality is stable but not under active development.
Use it for
- Training reinforcement learning agents in simulated robotic environments with realistic physics and collision.
- Validating robot kinematics and dynamics offline before deploying to hardware.
- Prototyping game physics or interactive simulations that require accurate rigid-body dynamics.
- Batch physics-based data generation for computer vision or control research without real-time rendering.
- Educational demonstrations of robotics concepts, inverse kinematics, and collision detection.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need physics simulation for robotics or reinforcement learning.
PyBullet is mature, permissively licensed, has no runtime dependencies, and offers broad platform support via wheels. The aging maintenance status is not a blocker for stable simulation tasks, but verify that the specific features you need match the current state of the codebase.
Install
pybullet on PyPI
Before you install
Medium install friction due to compiled C++ bindings, but wheels are available for multiple Python versions and PyPy variants on Linux. Last commit was 2025-10-22 and the package is classified as Production/Stable, though marked as aging with no release in 561 days.
Requires a display server for GUI mode; headless simulation available but rendering capabilities depend on system OpenGL support.
License in practice
Licensed under zlib (permissive), allowing commercial and private use with minimal restrictions—typical for physics simulation libraries.
Quickstart
import pybullet as p
p.connect(p.GUI)
p.loadURDF('r2d2.urdf')
p.stepSimulation()
Verify before relying
- Whether wheel availability extends to ARM64 or other non-x86_64 architectures beyond the manylinux_2_17_x86_64 wheels shown.
- Current state of OpenGL visualization support and CPU renderer capabilities.
- Whether virtual reality headset support is actively maintained or legacy functionality.
Package facts
| License | zlib permissive |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Aging 561 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 443,947 / month, #6,626 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: Robot FrameworkIntended Audience :: Science/ResearchLicense :: OSI Approved :: zlib/libpng LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Games/Entertainment :: SimulationTopic :: Scientific/Engineering :: Artificial Intelligence |
Evidence: pybullet-3.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pybullet-3.2.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “bullet physics python”
- pybulletPyBullet provides physics simulation, robotics modeling, and…
- bulletBullet provides styled, interactive CLI prompts for Python—bullet…
- pymunkPymunk is a 2D rigid body physics simulation library for Python,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to call 100+ LLM providers (OpenAI, Anthropic, Gemini, Bedrock, Azure, and others) using OpenAI-compatible API format, available as both a Python SDK and a self-hosted AI Gateway proxy server.
Install it if you need to work with multiple LLM providers or want to centralize LLM routing in your organization.
Client library and CLI tool for downloading, uploading, and managing models, datasets, and repositories on the Hugging Face Hub platform.
Install it if you work with Hugging Face Hub models or datasets.
LangChain provides a framework for building agents and LLM-powered applications by composing language models, tools, and memory through a unified API that abstracts over multiple model providers.
hf-xet provides chunk-based deduplication and efficient file transfer for the Hugging Face Hub, enabling faster uploads and downloads of large files with local disk caching.
Tokenizers converts raw text into token sequences for NLP models, with support for training custom vocabularies and using pre-built tokenizers (BPE, WordPiece) optimized for speed via Rust.
Transformers provides a unified framework for loading, fine-tuning, and running state-of-the-art pretrained models across text, vision, audio, video, and multimodal tasks using PyTorch, JAX, or TensorFlow.
Install it if you need to run or train any transformer-based model for NLP, vision, audio, or multimodal tasks.
See also libpinocchio · robot_descriptions · pymunk · pin · yourdfpy · sapien · Box2D · newton · mujoco · panda3d-gltf