PyBullet is a Python binding to the Bullet Physics SDK, created by Erwin Coumans in 2016. Bullet is one of the oldest open physics engines — used in AAA games (Grand Theft Auto, Red Dead Redemption), movies (DreamWorks Madagascar, How to Train Your Dragon, Disney's Tangled), and in robotics. PyBullet brings Python's simplicity to this mature technology.
PyBullet features: (1) one-command install via pip install pybullet, (2) all demos run natively in the browser via WebAssembly, (3) URDF/SDF/MJCF support, (4) built-in reference models (KUKA, Franka, Husky, R2D2, Atlas, Cassie, Laikago, Minitaur, quadrupeds, drones), (5) simple API for deep RL (gym-like wrapper), (6) the physics engine runs on CPU — predictable and cheap to launch.
PyBullet dominated learning-based robotics in 2018–2022, used in Stanford CS231n, MIT 6.832, Berkeley CS287, and publications from Google Brain (Quadruped Locomotion, Soft Actor-Critic), DeepMind (a DM Control alternative), and Facebook AI Habitat (early versions). After 2023 it was partly displaced by MuJoCo (precision) and Isaac Lab (GPU scale), but it remains popular for teaching and lightweight projects.