A library to query ALSI data
Project description
alsi-py
Python client for the ALSI API (Aggregated LNG Storage Inventory)
Documentation of the API can be found on: https://alsi.gie.eu/GIE_API_documentation_v004.pdf
Documentation of the client API can be found on: https://roiti-ltd.github.io/alsi-py/
Installation
python3 -m pip3 install alsi-py
Usage
The package is split in two clients:
- AlsiRawClient: Returns data in raw JSON format.
- AlsiPandasClient: Returns parsed data in the form of a pandas dataframe.
from alsi.raw_client import AlsiRawClient
from alsi.pandas_client import AlsiPandasClient
from alsi.mappings import Area
from datetime import datetime
import asyncio
API_KEY = '<API_KEY>'
country_code = Area.ES # Also could be string: 'ES' or 'Spain'
company_code = '21X000000001254A'
facility_code = '21W0000000000370'
async def main():
client = AlsiRawClient(api_key=API_KEY)
# Functions that return JSON.
client.query_data_for_facility(facility_code, company_code, country_code)
client.query_agg_data_for_europe_or_noneurope(europe='eu')
client.query_agg_data_by_country(contry_code='BE')
client.query_data_by_company_and_country(company_code, country_code)
# Filter results by time
client.query_agg_data_by_country(country_code, start=datetime(2017,1,1), end=datetime(2018,1,1), limit=10)
# Create pandas client. All functions are the same as the raw client.
pandas_client = AlsiPandasClient(api_key=API_KEY)
# In the end of the code, make sure to close the client session:
await client.close_session()
# or
await pandas_client.close_session()
asyncio.run(main())
For more information regarding company codes, facility codes and country codes visit: https://alsi.gie.eu/#/api
Running unit tests
Tell pytest where to look for unit tests and create env for ALSI API key
export PYTHONPATH=./alsi
export ALSI_KEY='...'
Run unit tests in coverage mode
python -m pytest ./tests --import-mode=append --cov
Contributing
Pull the repository:
git clone https://github.com/ROITI-Ltd/alsi-py.git
cd ./alsi-py
Set up your working environment:
python3 -m venv env
source env/bin/activate
Install required packages:
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
Bumping the package version after making changes:
bumpversion major|minor|patch|build
For more general guidelines on contributing see: Contributing to alsi-py.
Inspiration
Many thanks to the entsoe-py library for serving as inspiration for this library.
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 alsi-py-1.1.1.tar.gz
.
File metadata
- Download URL: alsi-py-1.1.1.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a010e74e9d3ef8477947d38a82a18d7b845cb3705a4b7152d903568c7d09fcc |
|
MD5 | 26016fa48c7a71c28ffb49c89aefa749 |
|
BLAKE2b-256 | 2af53db6ce17cbb3ade4e22fef6ada02c8e0c8fcc8152d39471a0707a3bb5628 |
File details
Details for the file alsi_py-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: alsi_py-1.1.1-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0860ff6a27cefe563522d464ac1054224c53296bf2ef55ef9411bf3ca1a92349 |
|
MD5 | 2ef852c969ad582e86a98439152089be |
|
BLAKE2b-256 | 2144304508ba80d30581308eca0fba3e78b2934cf4e573cb48d26dc39cdaf395 |