DART Python Bindings (dartpy)

SkillDev tools

DART Python: dartpy bindings, nanobind, wheels, and API patterns

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the DART Python Bindings (dartpy) skill

What this skill tells your AI

The instructions your AI receives, as published by dartsim/dart in .agents/skills/dart-python/SKILL.md and read by ahel’s review.

Load this skill when working with Python bindings or dartpy.

When a binding exposes or changes 3D structure or behavior, also load dart-verify-sim: a focused Python text oracle plus an assessed claim-tied capture, or a recorded exception when rendering is unavailable.

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    # Build for development
pixi run test-py         # Run Python tests
pixi run generate-stubs  # Generate type stubs

Wheel Building

pixi run -e py314-wheel wheel-build
pixi run -e py314-wheel wheel-repair  # Linux only
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/

Signals

GitHub stars
1k
Forks
304
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
dart-python
Source
github.com/dartsim/dart