Skip to main content

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:

  1. AlsiRawClient: Returns data in raw JSON format.
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alsi-py-1.1.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

alsi_py-1.1.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

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

Hashes for alsi-py-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5a010e74e9d3ef8477947d38a82a18d7b845cb3705a4b7152d903568c7d09fcc
MD5 26016fa48c7a71c28ffb49c89aefa749
BLAKE2b-256 2af53db6ce17cbb3ade4e22fef6ada02c8e0c8fcc8152d39471a0707a3bb5628

See more details on using hashes here.

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

Hashes for alsi_py-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0860ff6a27cefe563522d464ac1054224c53296bf2ef55ef9411bf3ca1a92349
MD5 2ef852c969ad582e86a98439152089be
BLAKE2b-256 2144304508ba80d30581308eca0fba3e78b2934cf4e573cb48d26dc39cdaf395

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page