--- id: pybullet version: "3.2.7" license: zlib license_treatment: permissive maintenance: aging --- # pybullet — Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning License: permissive · Maintenance: aging · Downloads: 443.9K/mo ## 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 above — verify before relying. PyBullet provides physics simulation, robotics modeling, and collision detection through Python bindings to the Bullet Physics SDK, supporting URDF/SDF file loading, kinematics, dynamics, and rendering. 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 pip install pybullet uv add pybullet poetry add pybullet ## Installing pybullet 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. 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() Requires a display server for GUI mode; headless simulation available but rendering capabilities depend on system OpenGL support. 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: unspecified - Install friction: medium - Maintenance: aging - Downloads: 443.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags physics simulation python, robotics simulation library, bullet physics python, collision detection physics, reinforcement learning physics, inverse kinematics solver, urdf sdf loader, physics-engine, robotics-simulation, reinforcement-learning [View on SkillFed](https://skillfed.io/packages/pybullet) · [View on PyPI](https://pypi.org/project/pybullet/)