Skip to main content

System Dynamics Modeling in Python

Project description

PySD

Coverage Status Anaconda-Server Badge PyPI version PyPI status Py version DOI Docs

Simulating System Dynamics Models in Python

This project is a simple 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. If you need support for Python 2, please use the release here: https://github.com/JamesPHoughton/pysd/releases/tag/LastPy2

table2py feature was dropped in version 2.0.0, please use the release here if you want to build PySD model from a tabular file: https://github.com/JamesPHoughton/pysd/releases/tag/v1.11.0

Resources

See the project documentation for information about:

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

If you use PySD in any published work, consider citing the PySD Introductory Paper:

Houghton, James; Siegel, Michael. "Advanced data analytics for system dynamics models using PySD." Proceedings of the 33rd International Conference of the System Dynamics Society. 2015.

You can also cite the library using the DOI provided by Zenodo. It is recomendable to specify the used PySD version and its correspondent DOI. If you want to cite all versions you can use the generic DOI for PySD instead:

DOI

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 https://github.com/JamesPHoughton/pysd.git

Extensions

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

Contributors

Many people have contributed to developing this project - by submitting code, bug reports, and advice.

Special thanks to the sdCloud.io development team, who have made great contributions to XMILE support, and for integrating PySD into their cloud-based model simulation environment.

Extra special thanks to @enekomartinmartinez for dramatically pushing forward subscript capabilities (and many other attributes).

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-2.2.2.tar.gz (85.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysd-2.2.2-py3-none-any.whl (92.7 kB view details)

Uploaded Python 3

File details

Details for the file pysd-2.2.2.tar.gz.

File metadata

  • Download URL: pysd-2.2.2.tar.gz
  • Upload date:
  • Size: 85.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for pysd-2.2.2.tar.gz
Algorithm Hash digest
SHA256 88754f3fae7f241e967e66c010a23fbaa41b40ec9f4d2ee679f649a9837f7ea0
MD5 8cd591e8ee4fcc48f6035c6165b188fb
BLAKE2b-256 65405217ee62ac8c17f894c679344da1dfa7aaf8353c2c28b21733b618dc32c6

See more details on using hashes here.

File details

Details for the file pysd-2.2.2-py3-none-any.whl.

File metadata

  • Download URL: pysd-2.2.2-py3-none-any.whl
  • Upload date:
  • Size: 92.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for pysd-2.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c78794fdc0983f0b8f88459eb38f3cc86aa645f14521e046f4e49108bd6fc7
MD5 6eed8970da000fca5c66dd465f22149d
BLAKE2b-256 09426dc442c5bee53cbb7eef89ed68d6b0af952ce3ea8694e20e0f67f5653c34

See more details on using hashes here.

Supported by

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