We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
- Write your patch
- Add a test case to your patch
- Make sure that all tests run properly
- Send your patch as a PR
You can install the WandaToolbox package as follows:
pip install wandatoolbox
Note that not all dependencies are installed by default, check requirements.txt
For development you can use the 'editable' installation:
pip install -r requirements.txt
pip install -e .
pytest
Building the backage is done as follows:
pip install setuptools wheel
python setup.py sdist bdist_wheel
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.
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 ??