Skip to content

Releases: BerriJ/entsoe-apy

Release 1.2.0

Choose a tag to compare

@BerriJ BerriJ released this 07 Aug 07:01
5a4ac1c

Adds the new curve_type parameter of the Transparency Platform R3.20.1.1 Release to the python implementation.

A new optional Web API request parameter "curveType" is introduced, enabling users to retrieve data in A01 (Sequential fixed block) format. Requests that do not specify this parameter will continue to return data in the default A03 (Variable sized blocks) format. The parameter is available for the majority of data items, while some data items are excluded due to technical constraints. The updated Postman API documentation identifies the data items that support this feature. For more details, please refer to the CurveType specification document and the CurveType A01 vs A03 help page.

Warning

Entsoe keeps the deduplication (A03) the default behavior. We deviate from that and set (A01) as the default. So for example you will get 96 observations of Quarter-Hourly Prices per Day, even if consecutive prices may be identical.

Also adds a py.typed file to signal linters that this package is typed.

Release 1.1.1

Choose a tag to compare

@BerriJ BerriJ released this 17 Jun 17:03
5109374

This is a patch release updating the 12.1.F endpoint with respect to change upstream docs.

  • Added a new entry for businessType with value B09 (Net position) in the endpoint metadata file 12.1.F Commercial Schedules - Net Positions.json.
  • Updated the class docstring in CommercialSchedulesNetPositions to document that businessType: B09 is now a fixed parameter.
  • Modified the CommercialSchedulesNetPositions class initializer to always set business_type="B09" for all requests.

Release 1.1.0

Choose a tag to compare

@BerriJ BerriJ released this 12 May 07:32
c5db5cd

This pull request introduces several improvements and new features across the codebase, focusing on enhancing data normalization, time zone handling, API endpoint coverage, and project metadata.

Data normalization improvements:

  • Refactored normalize_to_records to correctly handle nested lists, ensuring all nested data is expanded into multiple records
  • Added comprehensive unit tests to prevent regressions

Datetime and timezone utilities:

  • Added format_entsoe_datetime with proper timezone handling for both timezone-aware and naive datetimes
  • Automatically converts to UTC for ENTSO-E API compatibility

API endpoint coverage:

  • Added support for 'Changes to Bid Availability Archives' balancing endpoint
  • Updated endpoint listings and metadata

Documentation and metadata:

  • Added CITATION.cff for software citation metadata
  • Updated documentation for utilities and datetime handling
  • Added GitHub workflow for automatic citation updates

v1.0.0

Choose a tag to compare

@BerriJ BerriJ released this 20 Mar 08:53
3569ac3

This Release targets XML parsing errors. Re-Aligns the package code to updated documentation and fixes an issue in the EIC validation.

XML Parsing

When XML parsing errors happen, we do not raise an error anymore, see #135. This is necessary to parse and return any remaining valid XML responses. Instead we:

  • Print a log message on the ERROR level informing about the failed parsing attempt. This message includes the query parameters and the filename so users can further investigate
  • Print the raw XML on the TRACE level so you can directly inspect the XML content

Offset Parameter

ENTSO-E removed the upper limit for the offset parameter, which was 4800 before. Now we increase the offset parameter until we receive a response that returns no data. For two endpoints, we also adjusted the offset_increment to align with the updated documentation, see #134.

EIC Validation

We do not validate EIC codes that are present in the mappings dictionary anymore, as three of them are not valid according to the checksum calculation but are accepted by API endpoints.

v0.9.2

Choose a tag to compare

@BerriJ BerriJ released this 13 Feb 08:57
fb8424d

What's Changed

This release introduces improved EIC code validation logic with more robust checks:

  • Added EIC code length validation (must be 16 characters)
  • Added character validation (only alphanumeric and hyphen allowed)
  • Implemented checksum character verification
  • Enhanced error messages for better debugging
  • Fixed parameter ordering in validate_eic_code function

This addresses issue #130 and ensures better data integrity when working with EIC codes.

Full Changelog: v0.9.1...v0.9.2

Release 0.9.1: Configuration Improvements

Choose a tag to compare

@BerriJ BerriJ released this 05 Feb 13:08

What's Changed

Configuration

  • Removed warning on package load: The package no longer emits a warning when a security token is not provided at import time. This streamlines the initialization process and avoids unnecessary log output (Fixes #127).

Full Changelog: v0.9.0...v0.9.1

Release 0.9.0: Python 3.14 Support

Choose a tag to compare

@BerriJ BerriJ released this 23 Jan 14:06
9e25315
  • Regenerated the xml-models using xsdata 26.1, this should fix #117 and therefore we marked this package compatible with Python 3.14 (see #126).
  • Also added a new endpoint FlowBasedAllocationsArchives (see #123).

Release 0.8.1 - Parameter Alignment and Improvements

Choose a tag to compare

@BerriJ BerriJ released this 15 Jan 11:00
8452294

What's Changed

Parameter Alignment

This release fixes inconsistencies in Python classes to better align with the ENTSO-E API specification.

Balancing Endpoints

  • Updated parameter names in several balancing endpoints to match API requirements:
    • Changed bidding_zone_domain to control_area_domain where appropriate
    • Changed bidding_zone_domain to acquiring_domain or connecting_domain for specific endpoints
  • Fixed parameter requirements in VolumesAndPricesOfContractedReserves
  • Added missing standard_market_product parameter to CrossBorderMarginalPricesForAFRR
  • Corrected optional parameter handling in various balancing classes

Market Endpoints

  • Updated TotalCapacityAllocated business type from B07 to A29
  • Added auction_category optional parameter support
  • Made contract_market_agreement_type required with expanded options (A01-A08)
  • Fixed ExplicitAllocationsUseTransferCapacity to support both A43 and B05 business types
  • Updated ContinuousAllocationsOfferedCapacity to allow document type selection (A31 or B33)

Transmission Endpoints

  • Made contract_market_agreement_type configurable for CommercialSchedules (A01 or A05)
  • Made contract_market_agreement_type required for ForecastedTransferCapacities with full range (A01-A04)

Configuration Improvements

  • Increased default timeout: Changed from 5 seconds to 20 seconds for better reliability with slower API responses
  • Python version support: Explicitly set supported Python versions to 3.11 - 3.13

Bug Fixes

  • Fixed typo: type_marketplace_agreement_typetype_marketagreement_type throughout the codebase
  • Corrected parameter documentation and validation messages
  • Updated test cases to reflect new parameter requirements

Full Changelog: v0.8.0...v0.8.1

Release 0.8.0 - ENTSOE API Realignment

Choose a tag to compare

@BerriJ BerriJ released this 08 Jan 14:50
698b8ad

What's New

Major Updates

This release re-aligns the package with the upstream ENTSO-E Transparency Platform API. Some endpoints had to be removed, while others were added to match the current API specification.

API Endpoint Changes

  • Updated Endpoint Structure: Realigned all endpoints with the latest ENTSO-E API documentation
  • New Balancing Endpoints: Added several new balancing-related endpoints as per the updated API specification
  • New Transmission Endpoints: Added transmission infrastructure endpoints
  • Removed Deprecated Endpoints: Removed endpoints that are no longer supported by the ENTSO-E API
  • Updated XML Models: Regenerated XML models to match current API schemas

Improvements

  • Enhanced Error Handling: Improved retry logic for 502 Bad Gateway responses
  • Better Response Checking: Added new check-response type decorator for more robust error handling
  • Updated Code Mappings: Refreshed all code enumerations to match the latest ENTSO-E specifications
  • Improved Documentation: Updated endpoint documentation and export tree structure

Bug Fixes

  • Fixed missing offset parameter in Outages endpoints
  • Corrected FlowBasedAllocations classification
  • Fixed various typing and validation issues

Maintenance

  • Updated flake.nix for better development environment
  • Improved code quality with ruff style fixes
  • Enhanced test coverage

Breaking Changes

⚠️ Important: This release includes breaking changes due to endpoint removals and modifications. Please review your code to ensure compatibility with the updated API structure.

Closes #105 and #109

Full Changelog: v0.7.0...v0.8.0

Release 0.7.0 - Rate Limiting Support

Choose a tag to compare

@BerriJ BerriJ released this 28 Nov 13:45
1aebb01

What's New

Rate Limiting

  • Added rate_limit decorator: Automatically enforces rate limits to prevent API throttling (380 calls per minute)
  • Added check_if_banned decorator: Handles 429 responses from the ENTSO-E API with improved error messages
  • Better error handling: Extracts meaningful error messages from HTML responses

Improvements

  • Enhanced logging: Added comprehensive logging to rate limiting decorators for better debugging
  • Millisecond precision: Logs now show timestamps with millisecond precision
  • Comprehensive test coverage: Added extensive tests for rate limiting and ban detection

Bug Fixes

  • Fixed import statements and docstrings based on code review feedback

Contributors

Thanks to all contributors who helped make this release possible!

Full Changelog: v0.6.1...v0.7.0