Skip to main content

System Dynamics Modeling in Python

Project description


Maintained Coverage Status Anaconda-Server Badge PyPI version PyPI status Py version JOSS Contributions Docs

PySD Logo

This project is a library for running System Dynamics models in Python, with the purpose of improving integration of Big Data and Machine Learning into the SD workflow.

The current version needs to run at least Python 3.7.


See the project documentation for information about:

For standard methods for data analysis with SD models, see the PySD Cookbook, containing (for example):

Why create a new SD simulation engine?

There are a number of great SD programs out there (Vensim, iThink, AnyLogic, Insight Maker, and others). In order not to waste our effort, or fall victim to the Not-Invented-Here fallacy, we should have a very good reason for starting a new project.

That reason is this: There is a whole world of computational tools being developed in the larger data science community. System dynamicists should directly use the tools that other people are building, instead of replicating their functionality in SD specific software. The best way to do this is to bring specific SD functionality to the domain where those other tools are being developed.

This approach allows SD modelers to take advantage of the most recent developments in data science, and focus our efforts on improving the part of the stack that is unique to System Dynamics modeling.

Cloning this repository

If you'd like to work with this repository directly, you'll need to use a recursive git checkout in order to properly load the test suite (sorry..)

The command should be something like:

git clone --recursive


You can use PySD in R via the PySD2R package, also available on cran.


PySD is currently a community-maintained project, any contribution is welcome.

Many people have contributed to developing this project - by submitting code, bug reports, and advice. Main historic changes in PySD are described in the About PySD section. The Developer Documentation could help new developers.

The code for this package is available at:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysd-3.9.1.tar.gz (214.3 kB view hashes)

Uploaded Source

Built Distribution

pysd-3.9.1-py3-none-any.whl (144.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page