DART 7 · Python-first
Build a simulation, step by step
This guide takes you from a one-file "hello, DART" simulation to building
articulated robots, tuning contact, and visualizing results. Pages are
ordered to be read start to finish, but each stands on its own once you know
the basics.
```
DART 7 is the in-progress redesign of the Dynamic Animation and Robotics
Toolkit. It keeps DART's transparent, research-grade dynamics while exposing a
smaller, Python-first API built around a single `World` object. This guide uses
that API throughout.
```{admonition} DART 7 is under active development
:class: warning
The DART 7 API shown here is still evolving and is **not yet recommended for
production**. Names and behavior can change between releases. For production
work, use [DART 6 LTS](https://dart.readthedocs.io/en/stable/). If something in
this guide does not match your build, please
[open an issue](https://github.com/dartsim/dart/issues).
```
## Where to start
```{raw} html
Start here
Add dartpy to a Python environment, or build from source for the newest DART 7 surface.
First steps
Drop a box onto the ground in a dozen lines and read back its motion.
First steps
Time steps, gravity, and what actually happens on each world.step().
Core concepts
The single entry point that owns bodies, time, and the step pipeline.
Core concepts
Mass, pose, collision shapes, and surface material for single bodies.
Core concepts
Build multibodies from links and joints — the heart of robot modeling.
Going further
How DART finds contacts and resolves them so bodies don't interpenetrate.
Going further
Pick the integration and contact methods that fit your accuracy and speed needs.
Going further
See your scene in the interactive viewer and capture frames headlessly.
```
## How this guide is organized
- **Getting started** — installation, your first simulation, and the loop that
drives every DART program.
- **Core concepts** — the `World`, rigid bodies, and articulated systems you
compose into a scene.
- **Going further** — collisions and contacts, solver choices, and
visualization.
- **{doc}`Next steps