How the project is organized
The SystemClass has only the responsibility to process the .dss
file.
The Power flow modes has only the responsibility to configure and run a power flow mode with Actions and Tools.
The Actions has only the responsibility to change the distribution system state temporarily.
The Tools has only the responsibility to get data information from the current state of the distribution system.
The Reduction has only the responsibility to transform various tool's returns in a DataFrame.
See the package documentation for more details
The dependence manager and development environment
We use Poetry to manage the dependencies.
You can quickly get all the development environment run the following commands:
$ git clone https://github.com/felipemarkson/dssdata.git
$ cd dssdata
$ poetry install
$ poetry shell
Make sure that you have installed the Python version required.
Linting
Flake8 in default configuration.
Documentation
We use Google's Style Guide for docstrings documentation.
All public functions must be documented at last with docstrings.
You can see more details to how to simulate the documentation on #72.
Tests and CI
We use the unittest for our functional tests. We know that it is not the best choice, but it works fine.
If you have other suggestions on how to build our tests, please tell us in an Issue.