Heat pump refactor to make the codebase more testable, modular, concise and accessible to users if/when pylesa gets published as a library. Some changes have touched other files (e.g. the controllers), but this is just where interfaces to the heat modules have changed slightly.
Added type hints with the intention of including mypy static type checking in the future. The type hints help package users and can be more powerful than just including type information in docstrings.
Testing of the "pylesa/heat" sub-package.
Added a regression test which runs the fixed order solver and checks results haven't changed (this isn't very comprehensive but it's a start...).
Add .github/workflows/test.yml file which should run automate running of the tests using github actions (on the master branch, and during a PR).
Note that I've had another look into where the performance bottlenecks are using snakeviz and have a solution for reducing the runtime by ~50% by moving the matplotlib figure generation to a separate process. I'll submit this as a separate PR once this one is agreed.
Hi @andrewlyden,
PR covering:
Note that I've had another look into where the performance bottlenecks are using snakeviz and have a solution for reducing the runtime by ~50% by moving the matplotlib figure generation to a separate process. I'll submit this as a separate PR once this one is agreed.
Thanks!
Ben