A library to query GIE ALSI/AGSI data
Project description
Introduction
Python client for the ALSI/AGSI APIs
Documentation of the API can be found on GIE's website
Documentation of the client API can be found on: https://roiti-ltd.github.io/roiti-gie/
Installation
python -m pip install roiti-gie
Usage
The package is split in two clients:
- GieRawClient: Returns data in raw Python Dict.
- GiePandasClient: Returns parsed data in the form of a pandas DataFrame.
import asyncio
import os
from roiti.gie import GiePandasClient
async def main():
"""
The following methods return pandas DataFrame, however you can use the
raw client "raw_client = GieRawClient(api_key=Your API key)" and you will get the results as
Python dictionaries.
NOTE that every method available for AGSI is also available for ALSI
"""
API_KEY = os.getenv("API_KEY")
pandas_client = GiePandasClient(api_key=API_KEY)
# You can specify the country, start date, end date, size (the number of results) in order to get country storage
await pandas_client.query_country_agsi_storage("AT", start="2020-01-01", end="2022-07-10", size=60)
# You can run the query without any parameters (in order to get all countries result)
await pandas_client.query_country_alsi_storage()
# You can use this query in order to get all AGSI/ALSI EICs (Energy Identification Code)
await pandas_client.query_alsi_eic_listing()
# Query which lists all the ALSI/AGSI news (without params)
await pandas_client.query_alsi_news_listing()
# Query which lists the news for a specific country (using the url code)
await pandas_client.query_alsi_news_listing(43419)
# Query which lists the data for a current facility storage (provide the storage name and params)
await pandas_client.query_agsi_facility_storage("ugs_haidach_astora", start="2022-10-10")
# You can list the data for a current storage only using its name
await pandas_client.query_alsi_facility_storage("dunkerque")
# Query which lists the data for a current company (also date and size are by choice)
await pandas_client.query_agsi_company("astora", size=60)
await pandas_client.query_alsi_company("dunkerque_lng", size=200)
# Query which lists the unavailability for a current country (country name, date, size are optional)
await pandas_client.query_agsi_unavailability("GB", size=60)
await pandas_client.query_agsi_unavailability()
await pandas_client.query_alsi_unavailability("FR")
await pandas_client.close_session()
# set_event_loop_policy method is used in order to avoid EventLoopError for Windows
# asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
Running unit tests
Tell pytest where to look for unit tests and create env for ALSI API key
-
On Unix
export PYTHONPATH=./src/roiti export API_KEY='<API_KEY>'
-
On Windows
$env:PYTHONPATH='./src/roiti' $env:API_KEY='<API_KEY>'
Run unit tests in coverage mode
python -m pytest ./tests --import-mode=append --cov
Contributing
Set up your working environment:
-
Create virtual environment
python -m venv venv
-
Activate the virtual environment
-
On UNIX system
source venv/bin/activate
-
On Windows system
./venv/Scripts/activate
-
Install required packages:
python -m pip install -r requirements.txt -r requirements-dev.txt
Bumping the package version after making changes:
bumpversion major|minor|patch|build
Aknowledgements
-
Many thanks to the entsoe-py library for serving as inspiration for this library.
-
Frank Boerman and his GIE repository, from which we copied the lookup function ideas.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file roiti-gie-1.0.1.tar.gz
.
File metadata
- Download URL: roiti-gie-1.0.1.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51a2a9ebe1174caf5731baffbee3dce798f72fecec1ac97f456bfad07198d23f |
|
MD5 | be2f69ea7741b75a7c809dac80340680 |
|
BLAKE2b-256 | 434bf45c970477499bec3c7f76844c9934effc62ce5fff19b832f6e8b902760b |
File details
Details for the file roiti_gie-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: roiti_gie-1.0.1-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd4a61e0cf40dad51fe18a1ddf774333e4368c139f42fd9a3e6a70b7ca90e54c |
|
MD5 | 82b88e6677476acc363688335890b6f8 |
|
BLAKE2b-256 | 642d885edb09cb1582d6c808525aca96a5aeaaf3eee16ce9c5ff1784a294296f |