PyDy, short for Python Dynamics, is a tool kit written in and accessed by the Python programming language that utilizes an array of scientific tools to study multibody dynamics. The goal is to have a modular framework which utilizes a variety of tools that can provide the user with their desired workflow, including:

  • Model construction
  • Equation of motion generation
  • Simulation
  • Visualization
  • Publication

We started by building the SymPy mechanics package which provides an API for building models and generating the symbolic equations of motion for complex multibody systems and have more recently developed two packages, pydy-code-gen and pydy-viz, for simulation and visualization of the models. The remaining tools currently used in the PyDy workflow are popular scientific Python packages such as NumPy, SciPy, IPython, and matplotlib (i.e. the SciPy stack) which provide additional code for numerical analyses, simulation, and visualization.


The PyDy workflow generally depends on these Python packages:

SciPy Stack

PyDy Stack

It’s best to install the dependencies from the SciPy Stack using the instructions provided on the SciPy website.

Once you have all of the SciPy Stack dependencies you can simply install the PyDy Stack with pip:

$ pip install pydy

Or download the source and run:

$ python install

For system wide installs you will need root permissions (perhaps prepend commands with sudo).

Note that the PyDy package is currently a simple wrapper to pydy-code-gen and pydy-viz that provides a common namespace pydy. These packages will likely be merged into this package soon.


Simply import the modules and functions when in a Python interpreter:

>>> from sympy import symbols
>>> from sympy.physics import mechanics
>>> from pydy import codegen, visualization