PySD Development Pathway¶
High priority features, bugs, and other elements of active effort are listed on the github issue tracker. To get involved see Contributing to PySD.
High Priority¶
- Subscripts/arrays Github Issue Track
- Refactor delays to take advantage of array architecture
- Improve translation of model documentation strings and units into python function docstrings
Medium Priority¶
- Outsource model translation to SDXchange model translation toolset
- Improve model exexution speed using cython, theano, numba, or another package
- Improve performance when returning non-stock model elements
Low Priority¶
- Import model component documentation in a way that enables doctest, to enable writing unit tests within the modeling environment.
- Handle simulating over timeseries
- Implement run memoization to improve speed of larger analyses
- Implement an interface for running the model over a range of conditions, build in intelligent parallelization.
Not Planned¶
- Model Construction
- Display of Model Diagrams
- Outputting models to XMILE or other formats
Ideas for Other Projects¶
- SD-lint checker (units, modeling conventions, bounds/limits, etc)
- Contribution to external Data Science tools to make them more appropriate for dynamic assistant
Current Features¶
- Basic XMILE and Vensim parser
- Established library structure and data formats
- Simulation using existing python integration tools
- Integration with basic python Data Science functionality
- Run-at-a-time parameter modification
- Time-variant exogenous inputs
- Extended backends for storing parameters and output values
- Demonstration of integration with Machine Learning/Monte Carlo/Statistical Methods
- Python methods for programmatically manipulating SD model structure
- Turn off and on ‘traces’ or records of the values of variables