{"library":"pybullet","title":"PyBullet","description":"PyBullet is the official Python interface for the Bullet Physics SDK, offering real-time collision detection and multi-physics simulation. It is widely used in robotics simulation, reinforcement learning, and virtual reality research and applications. PyBullet allows loading articulated bodies from various file formats like URDF, SDF, and MJCF, and provides functionalities for forward dynamics, inverse dynamics, forward and inverse kinematics, and collision detection. The library is actively maintained with frequent updates to its underlying C++ Bullet Physics engine.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install pybullet"],"cli":{"name":"pybullet","version":"sh: 1: pybullet: not found"}},"imports":["import pybullet as p","import pybullet_data"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pybullet as p\nimport pybullet_data\nimport time\n\n# Connect to the physics engine in GUI mode\n# Use p.DIRECT for non-graphical (headless) mode\nphysicsClient = p.connect(p.GUI)\n\n# Set additional search path for URDF files (e.g., plane.urdf, r2d2.urdf)\np.setAdditionalSearchPath(pybullet_data.getDataPath())\n\n# Set gravity\np.setGravity(0, 0, -10)\n\n# Load a plane\nplaneId = p.loadURDF(\"plane.urdf\")\n\n# Load a simple robot (e.g., R2D2)\nrobotStartPos = [0, 0, 1]\nrobotStartOrientation = p.getQuaternionFromEuler([0, 0, 0])\nrobotId = p.loadURDF(\"r2d2.urdf\", robotStartPos, robotStartOrientation)\n\n# Run the simulation for a few steps\nprint(\"Simulating...\")\nfor i in range(1000):\n    p.stepSimulation()\n    time.sleep(1./240.) # PyBullet's default timestep is 1/240 seconds\n\n# Disconnect from the simulator\np.disconnect()\nprint(\"Simulation finished.\")","lang":"python","description":"This quickstart initializes a PyBullet simulation in graphical mode, sets gravity, loads a ground plane and a simple robot model (R2D2), then runs the simulation for a short duration before disconnecting. It demonstrates the basic lifecycle of a PyBullet application.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"3.2.7","pypi_latest":"3.2.7","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":30,"avg_install_s":5.7,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pybullet","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.4,"import_time_s":null,"mem_mb":null,"disk_size":"314M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pybullet","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.1,"import_time_s":null,"mem_mb":null,"disk_size":"317M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":11.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":10.3,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pybullet","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pybullet","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":6.5,"import_time_s":null,"mem_mb":null,"disk_size":"313M"}]}}