jao-py

Python client for the various endpoints offered by the Joint Allocation Office, Europe's single leading trading platform for cross-border transmission capacity.
https://github.com/fboerman/jao-py

Category: Energy Systems
Sub Category: Energy Data Accessibility and Integration

Last synced: about 17 hours ago
JSON representation

Repository metadata

README.md

jao-py

tests

Python client for the various endpoints offered by jao.eu, the Joint Allocation Office.
"Europe's single leading trading platform( e-CAT) for cross-border transmission capacity"

More information about JAO can be found on their website https://jao.eu/

jao.eu has various ways of retrieving data. This package tries to offer useful functions to handle them.
This package is not exhaustive, more methods are added when the authors needs them.
If you want to see other methods added please either open a feature request issue to give others ideas or
supply a pull request yourself.

Installation

python3 -m pip install jao-py

Usage

Current clients

The package comes with the current pandas clients:

  • JaoAPIClient: api client for the webservice API defined here
  • JaoPublicationToolClient: client for the Core Day-Ahead publication tool defined here
  • JaoPublicationToolPandasClient: Pandas client for the Core Day-Ahead publication tool defined here
  • JaoPublicationToolPandasIntraDay: client for Core Intradaypublication tool for Intraday defined here
  • JaoPublicationToolPandasNordics: client for Nordic Day-Ahead publication tool defined here
    The publication tool clients have valid data from their respective go lives:
  • Core Day-Ahead: business day 2022-06-09 onwards
  • Core Intraday(a): business day 2024-06-14 onwards
  • Core Intraday(b): business day 2024-05-29 onwards
  • Core Intraday(c): business day 2025-06-25 onwards
  • Nordic Day-Ahead: business day 2024-10-30 onwards

Core Intraday a and b are combined in the same intraday client. In the initialization of the client you can choose which one you want like so:

from jao import JaoPublicationToolPandasIntraDay

client = JaoPublicationToolPandasIntraDay(version='a') # IDCC(a)
client = JaoPublicationToolPandasIntraDay(version='b') # IDCC(b)
client = JaoPublicationToolPandasIntraDay(version='c') # IDCC(c)

Rate Limiter

JAO currently has a fixed rate limiting of 100 requests per minute, if you surpass this a HTTP 429 is returned.
The library has a naive way of handling this by sleeping for RATE_LIMIT_HANDLER seconds, which is by default 60 seconds.
If you want to disable this set RATE_LIMIT_HANDLER to 0 through environment variables and the library will throw a HTTP exception that you can handle yourself.

Experimental Features

This package provides support for the experimental data mirror mirror.flowbased.eu.
This allows to download final and prefinal domain from the fast mirror. If the requested day is not available the package will fallback to the JAO publication tool.
To enable it either use use_mirror=True in the function call or set the environment variable JAO_USE_MIRROR=1, by default this feature is off.

Deprecated clients

The package also includes legacy clients for flowbased CWE data in the CWE subpackage. These return data up until business day 2022-06-08

  • JaoUtilityToolASMXClient: a very light wrapper around the ASMX Web Service API implemented as a passthrough to the suds-community pakcage
  • JaoUtilityToolCSVClient: client to download csv data inm the same way as the utility tool excel file, returns pandas dataframes
  • JaoUtilityToolXmlClient: downloads xml data of the utilitytool, this requires solving a captcha by the user, returns pandas dataframes

To use these deprecated clients be sure to install the following additional dependencies:

suds-community
lxml
pillow

this is only required for the CWE deprecated subpackage


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 106
Total Committers: 5
Avg Commits per committer: 21.2
Development Distribution Score (DDS): 0.104

Commits in past year: 24
Committers in past year: 1
Avg Commits per committer in past year: 24.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Frank Boerman f****k@f****l 95
Frank Boerman f****n@t****u 6
angryvoegi n****i@g****m 3
Simon95H 5****H 1
Florian Maurer m****r@f****e 1

Committer domains:


Issue and Pull Request metadata

Last synced: 4 months ago

Total issues: 3
Total pull requests: 8
Average time to close issues: 18 days
Average time to close pull requests: 11 days
Total issue authors: 3
Total pull request authors: 4
Average comments per issue: 1.33
Average comments per pull request: 1.13
Merged pull request: 7
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 1.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/fboerman/jao-py

Top Issue Authors

  • maurerle (1)
  • idati (1)
  • akshaylohiya92 (1)

Top Pull Request Authors

  • FrankBoermanTenneT (4)
  • maurerle (4)
  • angryvoegi (2)
  • SimonSaysCode418 (1)

Top Issue Labels

Top Pull Request Labels


Package metadata

pypi.org: jao-py

A python API wrapper for JAO.eu

  • Homepage: https://github.com/fboerman/jao-py
  • Documentation: https://jao-py.readthedocs.io/
  • Licenses: MIT
  • Latest release: 0.6.4 (published about 2 months ago)
  • Last Synced: 2025-12-23T04:36:01.449Z (3 days ago)
  • Versions: 60
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 2,107 Last month
  • Rankings:
    • Dependent packages count: 10.026%
    • Downloads: 12.044%
    • Forks count: 12.539%
    • Average: 14.376%
    • Stargazers count: 15.575%
    • Dependent repos count: 21.694%
  • Maintainers (1)

Dependencies

jao/CWE/requirements.txt pypi
  • lxml *
  • pillow *
  • suds-community *
requirements.txt pypi
  • beautifulsoup4 *
  • lxml *
  • pandas *
  • pillow *
  • python-dateutil *
  • requests *
  • suds-community *
setup.py pypi
  • beautifulsoup4 *
  • pandas *
  • python-dateutil *
  • requests *
.github/workflows/publish-to-test-pypi.yml actions
  • actions/checkout master composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite
  • svenstaro/upload-release-action 2.2.1 composite
.github/workflows/run-tests.yml actions
  • actions/checkout master composite
  • actions/setup-python v4 composite

Score: 12.09662043696909