PyBullet / Bullet3
Real-time physics simulation for robotics and game AI using the Bullet physics engine with Python bindings.
PyBullet / Bullet3
Bullet3 is a professional open-source collision detection and rigid-body/soft-body physics simulation library, and PyBullet is its Python API for robot simulation and reinforcement learning. Used extensively in robotics research before MuJoCo went free, it remains popular for its broad feature set and zero-cost commercial use.
Key Features
- Rigid body and soft body simulation with constraints, motors, and joints
- URDF, MJCF, and SDF model loading — drop in existing robot descriptions
- Built-in OpenGL visualiser with GUI controls and debug drawing
- VR support (HTC Vive, Oculus Rift) and physics server/client architecture
- GPU-accelerated massively parallel simulation via the TinyRenderer backend
Quick Start
pip install pybullet
import pybullet as p
import time
physicsClient = p.connect(p.GUI)
p.setGravity(0, 0, -10)
planeId = p.loadURDF("plane.urdf")
botId = p.loadURDF("r2d2.urdf", [0, 0, 1])
for _ in range(10000):
p.stepSimulation()
time.sleep(1./240.)
p.disconnect()
npx ai-supply add pybullet-physics-simulation
Curated mirror of the open-source Bullet3 (Zlib). Get it from the source.
Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.
Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).
The same gate an agent runs before installing (POST /api/v1/trust/pybullet-physics-simulation/check). Click a policy:
Consume PyBullet / Bullet3 programmatically. Authenticate with an API key or session — see Authorize an agent.
# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/pybullet-physics-simulation
# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/pybullet-physics-simulation/check \
-H "Content-Type: application/json" \
-d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'
# CLI
npx ai-supply add pybullet-physics-simulation
# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/pybullet-physics-simulation/install \
-H "Authorization: Bearer $AIM_KEY"
# MCP tool
install_listing({ "slug": "pybullet-physics-simulation" })OpenAPI spec →Curated mirror — latest upstream source. See the repository for tagged releases.