James P Houghton

James Houghton - Projects

I generally have a number of projects on the go at any one time. Here’s a few:


PySD is a System Dynamics cross compiler and simulation engine that translates models created in Vensim into (human readable) pure python code. It then provides an integrator and other functionality for running the models natively within python.

PySD documentation is available on ReadTheDocs.

The code itself is served on Github

PySD was introduced in a paper at the system dynamics conference in 2015, which everyone should cite as frequently as possible.


This is a collection of short, executable recipes that use PySD to perform some sort of analysis task. The cookbook is viewable in a linked, easily referenced format on ReadTheDocs.

The best way to get started is to download the whole book from Github and open each recipe as an iPython notebook, which you can execute with included models and datasets, and modify to suit your application.

System Dynamics Model Test Suite

As there are a number of folks all working to develop new system dynamics tools, some of us decided to collaborate on a suite of test models that execute in bite-sized chunks the various elements of the SD modeling paradigm. Each test contains a specific model that has been constructed in several different modeling formats (Vensim, Stella, XMILE, etc.) along with the output produced by the model.

If you’re interested in using the test suite in development, you should have a look at its github repo. I’ve found that a pretty good way to use the test suite is to include it as a submodule in the main project repo, and then you can version your tests with your code.


In my past life as an Aerospace Engineer, I had a lot of fun building drones shaped like maple seeds. Here is a video.