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.
Typically System Dynamics models are created using visual modeling environments, such as isee systems’ Stella® .
The framework also ships with our sdcc parser for transpiling System Dynamics models conforming to the XMILE standard into Python code. This means you can build models using your favorite XMILE environment (such as iseesystems Stella) and then experiment with them in Juypter.
This was a brief introduction to agent-based modeling and simulation using the BPTK-Py framework. Here is a summary of the key points:
- 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 modeller can concentrate on modelling.
- 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 dataframes.
- 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.
BPTK-Py is licensed under the MIT license.
For questions regarding installation, usage and other help please contact us at: email@example.com.