Get in Touch

Business Prototyping Toolkit

Welcome to the Business Prototyping Toolkit for Python!

What is it?

The Business Prototyping Toolkit for Python (BPTK-Py) provides you with a framework to build and run simulation models using System Dynamics and/or agent-based modeling.
It gives you the power to quickly build simulation models in Python and create beautiful plots of the simulation results in Jupyter Notebooks – or just run the simulation in Python and use the results however you wish.
Meetup: Building Web-based Simulations using BPTK Image 1
Typically System Dynamics models are created using visual modeling environments, such as isee systems’ Stella® , or using a native DSL (domain-specific language) for System Dynamics.
The framework includes a transpiler that automatically converts models conforming to the XMILE standard into Python code. This means you can build models using your favorite XMILE environment and then experiment with them in Jupyter.

Main Features

  • The BPTK-Py framework supports System Dynamics models in XMILE Format, native SD models, Agent-based models and hybrid SD-ABM-Models
  • The objective of the framework is to provide the infrastructure for managing model settings and scenarios and for running and plotting simulation results so that the modeler can concentrate on modeling.
  • The framework automatically collect statistics on agents, their states and their properties, which makes plotting simulation results very easy.
  • Simulation results can also be returned as Pandas data frames.
  • The framework uses some advanced Python metaprogramming techniques to ensure the amount of boilerplate code the modeler has to write is kept to a minimum.
  • Model settings and scenarios are kept in JSON files. These settings are automatically loaded by the framework upon initialization, as are the model classes themselves. This makes interactive modeling, coding and testing using the Jupyter environment very painless.
Read more about the topic of Business Prototyping Toolkit:


BPTK-Py is licensed under the MIT license.

Getting Started

The best way to get started is to read our introductory notebook. We also have extensive online  documentation and you can download or clone the tutorial from our Git Repository on Github.

Getting Help

For questions regarding installation, usage and other help please contact us at or via the chatbox.