PySD
PySD: System Dynamics Modeling in Python - Published in JOSS (2022)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
2 of 21 committers (9.5%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords from Contributors
Scientific Fields
Repository
System Dynamics Modeling in Python
Basic Info
- Host: GitHub
- Owner: SDXorg
- License: mit
- Language: Python
- Default Branch: master
- Homepage: http://pysd.readthedocs.org/
- Size: 22.8 MB
Statistics
- Stars: 420
- Watchers: 28
- Forks: 91
- Open Issues: 41
- Releases: 58
Metadata Files
README.md
PySD
This project is a library for running System Dynamics (SD) 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.9.
Resources
See the project documentation for information about:
For standard methods for data analysis with SD models, see the PySD Cookbook, containing (for example):
- Model Fitting
- Surrogating model components with machine learning regressions
- Multi-Scale geographic comparison of model predictions
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:
shell
git clone --recursive https://github.com/SDXorg/pysd.git
Extensions
You can use PySD in R via the PySD2R package, also available on CRAN.
Contributing
PySD is currently a community-maintained project, any contribution is welcome.
Many people have contributed to developing this project - by submitting code, bug reports, and advice. Main historic changes in PySD are described in the About PySD section. The Developer Documentation could help new developers.
The code for this package is available at: https://github.com/SDXorg/pysd
Join our slack channel in sd-tools-and-methodology-community.
Owner
- Name: SDXorg
- Login: SDXorg
- Kind: organization
- Repositories: 6
- Profile: https://github.com/SDXorg
Open source tools for system dynamics
JOSS Publication
PySD: System Dynamics Modeling in Python
Authors
CREAF, Centre de Recerca Ecològica i Aplicacions Forestals, E08193 Bellaterra (Cerdanyola del Vallès), Catalonia, Spain
CREAF, Centre de Recerca Ecològica i Aplicacions Forestals, E08193 Bellaterra (Cerdanyola del Vallès), Catalonia, Spain
Tags
System Dynamics Vensim StellaCitation (citation.cff)
cff-version: 1.2.0
title: 'PySD: System Dynamics Modeling in Python'
message: 'If you use this software, please cite it as below.'
type: software
authors:
- given-names: Eneko
family-names: Martin-Martinez
email: eneko.martin.martinez@gmail.com
affiliation: >-
Centre for Ecological Research and Forestry
Applications (CREAF)
orcid: 'https://orcid.org/0000-0002-9213-7818'
- given-names: Roger
family-names: Samsó
affiliation: >-
Centre for Ecological Research and Forestry
Applications (CREAF)
orcid: 'https://orcid.org/0000-0003-0348-3047'
- family-names: Houghton
given-names: James
affiliation: >-
Computational Social Science Lab, University of
Pennsylvania
email: james.p.houghton@gmail.com
- given-names: Jordi
family-names: Solé
orcid: 'https://orcid.org/0000-0002-2371-1652'
affiliation: >-
Centre for Ecological Research and Forestry
Applications (CREAF);
Department of Earth and Ocean Dynamics,
Faculty of Earth Sciences,
University of Barcelona
version: 3.0.1
doi: 10.5281/zenodo.6583528
date-released: 2022-05-26
journal: "Journal of Open Source Software"
keywords:
- System Dynamics
- Vensim
- XMILE
- Python
license: MIT
repository: "https://github.com/JamesPHoughton/pysd"
url: "https://github.com/JamesPHoughton/pysd"
year: 2022
month: 6
references:
- type: conference-paper
scope: Cite alos the PySD introductory paper (conference-paper)
authors:
- family-names: Houghton
given-names: James
- family-names: Siegel
given-names: Michael
title: "Advanced data analytics for system dynamics models using PySD."
year: 2015
publisher: "System Dynamics Society"
journal: "33rd International Conference of the System Dynamics Society 2015"
isbn: 9781510815056
url: "https://github.com/JamesPHoughton/pysd/blob/master/docs/PySD%20Intro%20Paper%20Preprint.pdf"
preferred-citation:
type: article
authors:
- given-names: Eneko
family-names: Martin-Martinez
email: eneko.martin.martinez@gmail.com
affiliation: >-
Centre for Ecological Research and Forestry
Applications (CREAF)
orcid: 'https://orcid.org/0000-0002-9213-7818'
- given-names: Roger
family-names: Samsó
affiliation: >-
Centre for Ecological Research and Forestry
Applications (CREAF)
orcid: 'https://orcid.org/0000-0003-0348-3047'
- family-names: Houghton
given-names: James
affiliation: >-
Computational Social Science Lab, University of
Pennsylvania
email: james.p.houghton@gmail.com
- given-names: Jordi
family-names: Solé
orcid: 'https://orcid.org/0000-0002-2371-1652'
affiliation: >-
Centre for Ecological Research and Forestry
Applications (CREAF);
Department of Earth and Ocean Dynamics,
Faculty of Earth Sciences,
University of Barcelona
doi: 10.5281/zenodo.6583528
title: 'PySD: System Dynamics Modeling in Python'
journal: "Journal of Open Source Software"
year: 2022
url: "https://github.com/JamesPHoughton/pysd"
GitHub Events
Total
- Create event: 11
- Release event: 1
- Issues event: 3
- Watch event: 44
- Delete event: 11
- Issue comment event: 12
- Push event: 21
- Pull request event: 21
- Fork event: 4
Last Year
- Create event: 11
- Release event: 1
- Issues event: 3
- Watch event: 44
- Delete event: 11
- Issue comment event: 12
- Push event: 21
- Pull request event: 21
- Fork event: 4
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Eneko Martin Martinez | e****z@g****m | 492 |
| James Houghton | J****n@g****m | 253 |
| Roger Samsó | r****o@g****m | 138 |
| Alexey Mulyukin | a****n@a****u | 87 |
| Maria | m****o@a****s | 49 |
| julienmalard | j****d@m****a | 41 |
| sepiatone | s****e@y****m | 23 |
| dependabot[bot] | 4****] | 18 |
| SimonStrong | s****t@g****m | 15 |
| ConnectedSystems | t****i@g****m | 11 |
| pbreach | p****h@u****a | 7 |
| Diego Rodrigo | d****-@h****m | 4 |
| Aina Rasoldier | a****r@h****r | 4 |
| Manuel Ruh | m****e@g****m | 3 |
| Keith Citrenbaum | k****m@s****m | 3 |
| Joona Tuovinen | j****n@g****m | 3 |
| Ewout ter Hoeven | E****n@s****l | 3 |
| Bruno P. Kinoshita | k****w | 2 |
| mhy05 | m****n@g****m | 2 |
| Ben Slavin | b****n@b****m | 1 |
| Giorgos Drosos | 5****s | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 84
- Total pull requests: 80
- Average time to close issues: over 1 year
- Average time to close pull requests: about 2 months
- Total issue authors: 33
- Total pull request authors: 11
- Average comments per issue: 3.45
- Average comments per pull request: 2.53
- Merged pull requests: 72
- Bot issues: 0
- Bot pull requests: 21
Past Year
- Issues: 4
- Pull requests: 20
- Average time to close issues: about 2 months
- Average time to close pull requests: 8 days
- Issue authors: 4
- Pull request authors: 3
- Average comments per issue: 1.5
- Average comments per pull request: 0.1
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 10
Top Authors
Issue Authors
- enekomartinmartinez (25)
- rogersamso (11)
- JamesPHoughton (10)
- marrobl (4)
- lionel42 (4)
- blsqr (2)
- hyunjimoon (2)
- sanketme (2)
- rachieg2 (1)
- akuptel (1)
- universmile (1)
- prasri92 (1)
- marika-kac (1)
- alexprey (1)
- pbreach (1)
Pull Request Authors
- enekomartinmartinez (36)
- dependabot[bot] (28)
- rogersamso (16)
- EwoutH (3)
- benslavin (2)
- kinow (2)
- hyunjimoon (1)
- lionel42 (1)
- equihuam (1)
- gdrosos (1)
- JamesPHoughton (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 1,723 last-month
-
Total dependent packages: 6
(may contain duplicates) -
Total dependent repositories: 18
(may contain duplicates) - Total versions: 97
- Total maintainers: 2
pypi.org: pysd
System Dynamics Modeling in Python
- Homepage: https://github.com/SDXorg/pysd
- Documentation: https://pysd.readthedocs.io/
- License: LICENSE
-
Latest release: 3.14.3
published 9 months ago
Rankings
Maintainers (2)
conda-forge.org: pysd
- Homepage: https://github.com/SDXorg/pysd
- License: MIT
-
Latest release: 3.8.0
published about 3 years ago
Rankings
Dependencies
- jinja2 ==3.0.0
- readthedocs-sphinx-search ==0.1.1
- sphinx ==4.2.0
- sphinx_rtd_theme ==1.0.0
- black *
- chardet *
- lxml *
- openpyxl *
- pandas *
- parsimonious *
- portion *
- progressbar2 *
- regex *
- scipy *
- xarray *
- xlrd *
- coverage *
- coveralls *
- psutil *
- pytest *
- pytest-cov *
- pytest-mock *
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- lycheeverse/lychee-action v1.5.4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite