Skip to content

Latest commit

 

History

History
67 lines (56 loc) · 1.91 KB

File metadata and controls

67 lines (56 loc) · 1.91 KB

Contributing

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Guidelines

  1. Write your patch
  2. Add a test case to your patch
  3. Make sure that all tests run properly
  4. Send your patch as a PR

Installation

You can install the WandaToolbox package as follows:

pip install wandatoolbox 

Note that not all dependencies are installed by default, check requirements.txt

Development installation and testing

For development you can use the 'editable' installation:

pip install -r requirements.txt
pip install -e . 
pytest

Building the package

Building the backage is done as follows:

pip install setuptools wheel
python setup.py sdist bdist_wheel

Creating a release

We use bump2version to update the version numbers. Bump2version will also create a tag and commit the changes. This can then be pushed using

cd <root of project>
pip install bump2version
bump2version <major|minor|patch>
git push origin <branch> --tags

The Github Actions have been configured to run the tests and flake8 linting and publish to test.Pypi on every push. If a commit is also tagged it will also publish to Pypi.

Development roadmap (Todo)

functionality for first official release:

  • syschar plot implementation
  • image plot implementation
  • text plot implementation
  • table plot implementation
  • Monte-carlo scripts
  • unit testing
  • tox testing
  • Goal seek algorithm
  • parameter script read input, run,read output
  • calibration routine (goalseek?) for scalar, multiple scalar, timeseries
  • calibration for multiple parameters?
  • Simple optimization (1 parameter, 1 output?)
  • Valve characteristic creation and data import in Wanda
  • Pump characteristic creation and data import in Wanda
  • Epanet scripts and skeletonizer functions
  • Any other future developments ??