Belvys is a package to fetch data through the REST API of energy portfolio management software "Belvis".
pip install belvysOr add it to pyproject.toml.
Documentation is hosted on readthedocs:
https://belvys.readthedocs.io/
The package defines 3 classes: Tenant, which is the main class, and Structure and Api, which it depends on.
- The
Tenantclass uses a structure specification (an instance of theStructureclass) and an interface (an instance of theApiclass) to retrieve timeseries (more specificallyportfolyo.PfLineinstances) from Belvis. - The purpose of the
Structureclass is primarily to specify the portfolios and timeseries we are interested in. This includes original Belvis portfolios, as well as synthetic ones that are the sum of several original porfolios. It also specifies where relevant prices can be found in Belvis. - The
Apiclass is used to query the belvis Api and retrieve data, including the authentication part.
The git repository is hosted on github:
http://www.github.com/rwijtvliet/belvys
This project uses black to format code and flake8 for linting. We also support pre-commit to ensure these have been run. To configure your local environment please install these development dependencies and set up the commit hooks.
poetry install --with dev,test
pre-commit installDevelopment is done on feature branches, which are merged back into master via pull request.
Before creating a pull request:
- Merge the current state of
masterinto the feature branch; - Increase the version number (by running
poetry version major|minor|patch) of the feature branch.
To publish the current state of master, run the create_tag.sh script. It will create a tag from the version number and push it to github. (The version number must be unequal to a previous tag, which is automatically true if the development is only done in feature branches, and every feature branch increases the version number.) On github, a release can be drafted from the tag.
This package interacts with the Belvis software which is delevoped by Kisters. This package is not written by, maintained by, or associated with Kisters in any way.