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® , 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:
License
BPTK-Py is licensed under the MIT license.
Getting Started
Getting Help
For questions regarding installation, usage and other help please contact us at
support@transentis.com or via the chatbox.