Skip to content

Commit ac80a06

Browse files
Merge pull request #365 from SDXorg/pysd37
pysd 3.7.0
2 parents 975a076 + afc8702 commit ac80a06

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2273
-1127
lines changed

.github/workflows/build-docs.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
# Build html docs. Any warning building the docs will produce an error.
3+
4+
name: Build docs
5+
6+
on: [push, pull_request]
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v3
14+
with:
15+
submodules: recursive
16+
- name: Set up Python
17+
uses: actions/setup-python@v3
18+
with:
19+
python-version: '3.7'
20+
- name: Install dependencies
21+
run: |
22+
pip install .
23+
pip install -r docs/requirements.txt
24+
- name: Test build html
25+
run: |
26+
cd docs
27+
make html SPHINXOPTS="-W"

.github/workflows/link-check.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Link check
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
linkChecker:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
13+
- name: Link Checker
14+
uses: lycheeverse/lychee-action@v1.5.1
15+
with:
16+
fail: true
17+
env:
18+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

CONTRIBUTING.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2013-2017 James Houghton
3+
Copyright (c) 2013-2022 PySD contributors
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy of
66
this software and associated documentation files (the "Software"), to deal in

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include requirements.txt
22
include README.md
3-
include docs/images/PySD_Logo*
43
include LICENSE
4+
include docs/images/PySD_Logo*
55
graft pysd/translators/*/parsing_grammars

README.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
PySD
22
====
3-
4-
[![Coverage Status](https://coveralls.io/repos/github/JamesPHoughton/pysd/badge.svg?branch=master)](https://coveralls.io/github/JamesPHoughton/pysd?branch=master)
3+
[![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen.svg)](https://github.com/SDXorg/pysd/pulse)
4+
[![Coverage Status](https://coveralls.io/repos/github/SDXorg/pysd/badge.svg?branch=master)](https://coveralls.io/github/SDXorg/pysd?branch=master)
55
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pysd/badges/version.svg)](https://anaconda.org/conda-forge/pysd)
66
[![PyPI version](https://badge.fury.io/py/pysd.svg)](https://badge.fury.io/py/pysd)
77
[![PyPI status](https://img.shields.io/pypi/status/pysd.svg)](https://pypi.python.org/pypi/pysd/)
88
[![Py version](https://img.shields.io/pypi/pyversions/pysd.svg)](https://pypi.python.org/pypi/pysd/)
99
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5654824.svg)](https://doi.org/10.5281/zenodo.5654824)
10+
[![Contributions](https://img.shields.io/badge/contributions-welcome-blue.svg)](https://pysd.readthedocs.io/en/latest/development/development_index.html)
1011
[![Docs](https://readthedocs.org/projects/pysd/badge/?version=latest)](https://pysd.readthedocs.io/en/latest/?badge=latest)
1112

12-
![PySD Logo](https://raw.githubusercontent.com/JamesPHoughton/pysd/5cc4fe5dc65e6b5140a00e87a1be9d261570ee8d/docs/images/PySD_Logo_letters.svg?style=centerme)
13+
![PySD Logo](https://raw.githubusercontent.com/SDXorg/pysd/5cc4fe5dc65e6b5140a00e87a1be9d261570ee8d/docs/images/PySD_Logo_letters.svg?style=centerme)
1314

14-
This project is a simple library for running [System Dynamics](http://en.wikipedia.org/wiki/System_dynamics) models in python, with the purpose of improving integration of *Big Data* and *Machine Learning* into the SD workflow.
15+
This project is a library for running [System Dynamics](http://en.wikipedia.org/wiki/System_dynamics) models in Python, with the purpose of improving integration of *Big Data* and *Machine Learning* into the SD workflow.
1516

1617
**The current version needs to run at least Python 3.7.**
1718

@@ -22,13 +23,13 @@ See the [project documentation](http://pysd.readthedocs.org/) for information ab
2223
- [Installation](http://pysd.readthedocs.org/en/latest/installation.html)
2324
- [Getting Started](http://pysd.readthedocs.org/en/latest/getting_started.html)
2425

25-
For standard methods for data analysis with SD models, see the [PySD Cookbook](https://github.com/JamesPHoughton/PySD-Cookbook), containing (for example):
26+
For standard methods for data analysis with SD models, see the [PySD Cookbook](https://github.com/SDXorg/PySD-Cookbook), containing (for example):
2627

27-
- [Model Fitting](http://nbviewer.ipython.org/github/JamesPHoughton/PySD-Cookbook/blob/master/2_1_Fitting_with_Optimization.ipynb)
28-
- [Surrogating model components with machine learning regressions](http://nbviewer.ipython.org/github/JamesPHoughton/PySD-Cookbook/blob/master/6_1_Surrogating_with_regression.ipynb)
29-
- [Multi-Scale geographic comparison of model predictions](http://nbviewer.ipython.org/github/JamesPHoughton/PySD-Cookbook/blob/master/Exploring%20models%20across%20geographic%20scales.ipynb)
28+
- [Model Fitting](http://nbviewer.ipython.org/github/SDXorg/PySD-Cookbook/blob/master/source/analyses/fitting/Fitting_with_Optimization.ipynb)
29+
- [Surrogating model components with machine learning regressions](http://nbviewer.ipython.org/github/SDXorg/PySD-Cookbook/blob/master/source/analyses/surrogating_functions/Surrogating_with_regression.ipynb)
30+
- [Multi-Scale geographic comparison of model predictions](http://nbviewer.ipython.org/github/SDXorg/PySD-Cookbook/blob/master/source/analyses/geo/Exploring_models_across_geographic_scales.ipynb)
3031

31-
If you use PySD in any published work, consider citing the [PySD Introductory Paper](https://github.com/JamesPHoughton/pysd/blob/master/docs/PySD%20Intro%20Paper%20Preprint.pdf):
32+
If you use PySD in any published work, consider citing the [PySD Introductory Paper](https://github.com/SDXorg/pysd/blob/master/docs/PySD%20Intro%20Paper%20Preprint.pdf):
3233

3334
>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.
3435
@@ -50,19 +51,17 @@ If you'd like to work with this repository directly, you'll need to use a recurs
5051

5152
The command should be something like:
5253
```shell
53-
git clone --recursive https://github.com/JamesPHoughton/pysd.git
54+
git clone --recursive https://github.com/SDXorg/pysd.git
5455
```
5556

5657
### Extensions
5758

5859
You can use PySD in [R](https://www.r-project.org/) via the [PySD2R](https://github.com/JimDuggan/pysd2r) package, also available on [cran](https://CRAN.R-project.org/package=pysd2r).
5960

60-
### Contributors
61+
### Contributing
6162

62-
Many people have contributed to developing this project - by
63-
[submitting code](https://github.com/JamesPHoughton/pysd/graphs/contributors), bug reports, and advice.
63+
PySD is currently a community-maintained project, any contribution is welcome.
6464

65-
Special thanks to the [sdCloud.io](http://sdcloud.io) development team, who have
66-
made great contributions to XMILE support, and for integrating PySD into their cloud-based model simulation environment.
65+
Many people have contributed to developing this project - by [submitting code](https://github.com/SDXorg/pysd/graphs/contributors), bug reports, and advice. Main historic changes in PySD are described in the [About PySD section](https://pysd.readthedocs.io/en/latest/about.html). The [Developer Documentation](https://pysd.readthedocs.io/en/latest/development/development_index.html) could help new developers.
6766

68-
Extra special thanks to [@enekomartinmartinez](https://github.com/enekomartinmartinez) for dramatically pushing forward subscript capabilities (and many other attributes).
67+
The code for this package is available at: https://github.com/SDXorg/pysd

docs/about.rst

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
About the Project
22
=================
33

4+
PySD was created in 2014 by `James P Houghton <https://github.com/JamesPHoughton>`_ to translate Vensim models to Python. The original goal for translating SD models into Python was to be able to take advantage of all the tools available in Python and thus to extent what is possible using Vensim.
5+
6+
Since the creation of the library, many people have contributed to the project by reporting and fixing bugs and adding new features. These contributions are listed in the `contributions section of the GitHub repository <https://github.com/SDXorg/pysd/graphs/contributors>`_.
7+
8+
Some of the big changes that have allowed PySD to get to its current state are the development of an XMILE to Python translator in 2017 by `Alex Prey <https://github.com/alexprey>`_ and the restructuring of the translation and model building through an Abstract Syntax by `Eneko Martin-Martinez <https://github.com/enekomartinmartinez>`_ in 2022.
9+
10+
Some other contributions until release 3.0.0 were:
11+
12+
- `Julien Malard-Adam <https://github.com/julienmalard>`_ added unicode support for the Vensim parser.
13+
- `sdCloud.io <http://sdcloud.io>`_ development team made great contributions to improve XMILE support and integrated PySD into their cloud-based model simulation environment.
14+
- `Eneko Martin-Martinez <https://github.com/enekomartinmartinez>`_ pushed forward the subscripts capabilities for both Vensim and XMILE and included support for several Vensim functions and improved the performance.
15+
- `Roger Samsó <https://github.com/rogersamso>`_ included a parser for the Vensim sketch and added the option to split a Vensim model per view based on the sketch information.
16+
17+
The changes made since release 3.0.0 are tracked in the :doc:`whats_new` section.
18+
419

520
Motivation: The (coming of) age of Big Data
621
-------------------------------------------
@@ -28,5 +43,3 @@ A third category of tools imports the models created by traditional tools to per
2843
The central paradigm of PySD is that it is more efficient to bring the mature capabilities of system dynamics into an environment in use for active development in data science, than to attempt to bring each new development in inference and machine learning into the system dynamics enclave.
2944

3045
PySD reads a model file – the product of a modeling program such as Vensim or Stella/iThink – and cross compiles it into Python, providing a simulation engine that can run these models natively in the Python environment. It is not a substitute for these tools, and cannot be used to replace a visual model construction environment.
31-
32-

docs/command_line_usage.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ In order to set the output file path, the *-o/--output-file* argument can be use
2626
python -m pysd -o my_output_file.csv Teacup.mdl
2727
2828
.. note::
29-
The output file can be a *.csv* or *.tab*.
29+
The output file format may be *.csv*, *.tab* or *.nc*.
3030

3131
.. note::
32-
If *-o/--output-file* is not given, the output will be saved in a file
33-
that starts with the model file name followed by a time stamp to avoid
32+
If *-o/--output-file* is not given, the output will be saved in a *.tab*
33+
file that starts with the model file name followed by a time stamp to avoid
3434
overwritting files.
3535

3636
Activate progress bar

docs/conf.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@
5858
]
5959

6060
extlinks = {
61-
"issue": ("https://github.com/JamesPHoughton/pysd/issues/%s", "issue #%s"),
62-
"pull": ("https://github.com/JamesPHoughton/pysd/pull/%s", "PR #%s"),
61+
"issue": ("https://github.com/SDXorg/pysd/issues/%s", "issue #%s"),
62+
"pull": ("https://github.com/SDXorg/pysd/pull/%s", "PR #%s"),
6363
}
6464

6565
# Add any paths that contain templates here, relative to this directory.
@@ -74,8 +74,8 @@
7474

7575
# General information about the project.
7676
project = 'PySD'
77-
copyright = '2016, James Houghton'
78-
author = 'James Houghton'
77+
copyright = '2022, PySD contributors'
78+
author = 'PySD contributors'
7979

8080
# The version info for the project you're documenting, acts as replacement for
8181
# |version| and |release|, also used in various other places throughout the
@@ -128,7 +128,7 @@
128128
# author, documentclass [howto, manual, or own class]).
129129
latex_documents = [
130130
(master_doc, 'PySD.tex', 'PySD Documentation',
131-
'James Houghton', 'manual'),
131+
'PySD contributors', 'manual'),
132132
]
133133

134134
# -- Options for manual page output ---------------------------------------

docs/development/guidelines.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ of the `/tests/` directory.
2525

2626
In order to run all the tests :py:mod:`pytest` should be used.
2727
A `Makefile` is given to run easier the tests with :py:mod:`pytest`, check
28-
`tests/README <https://github.com/JamesPHoughton/pysd/tree/master/tests/README.md>`_
28+
`tests/README <https://github.com/SDXorg/pysd/tree/master/tests/README.md>`_
2929
for more information.
3030

3131
These tests run quickly and should be executed when any changes are made to ensure

0 commit comments

Comments
 (0)