| name | dart-python |
| description | DART Python: dartpy bindings, nanobind, wheels, and API patterns |
DART Python Bindings (dartpy)
Load this skill when working with Python bindings or dartpy.
When a binding exposes or changes model/scene loading, dynamics,
collision/contact/constraints, simulation stepping, GUI/rendering output, or a visual
example, also load dart-verify-sim. Pair a focused Python text/behavior oracle
with an assessed, claim-tied headless capture; document a visual exception when
rendering is unavailable or not applicable.
Quick Start
import dartpy as dart
world = dart.World()
skel = dart.io.read_skeleton("dart://sample/urdf/KR5/KR5 sixx R650.urdf")
world.add_skeleton(skel)
for _ in range(100):
world.step()
Full Documentation
For complete Python bindings guide: docs/onboarding/python-bindings.md
For module-specific details: python/AGENTS.md
Quick Commands
pixi run build-py-dev
pixi run test-py
pixi run generate-stubs
Wheel Building
pixi run -e py314-wheel wheel-build
pixi run -e py314-wheel wheel-repair
pixi run -e py314-wheel wheel-test
Key Patterns
- snake_case preferred (camelCase emits DeprecationWarning)
- NumPy arrays auto-convert to Eigen types
- GUI requires
DART_BUILD_GUI=ON
Key Files
- Package config:
pyproject.toml
- Build system:
python/dartpy/CMakeLists.txt
- Type stubs:
python/stubs/dartpy/