Skip to content

Latest commit

 

History

History
114 lines (67 loc) · 5.45 KB

File metadata and controls

114 lines (67 loc) · 5.45 KB

Changelog

2.4.2 (2026-06-11)

Bug Fixes

  • i90: pair MW and price per quarter-hour in multi-measure sheets (06efdb6)

2.4.1 (2026-05-19)

Bug Fixes

  • i90: detect separator columns dynamically by header label (1a9bf77)
  • i90: detect separator columns dynamically by header label (d6c747f)

2.4.0 (2026-03-23)

Features

  • concurrent & adaptive chunk fetching for indicators (1ef2590)

2.3.0 (2026-03-16)

Features

  • restore column_name parameter in historical() (a967b6f)

Bug Fixes

  • handle DST transitions in I90 datetime parsing (aa1deef)

2.2.0 (2026-03-04)

Features

  • add YAML-backed catalog with enriched indicator metadata (00cc4b6)

Bug Fixes

  • update skill with catalog commands and Python-first approach (6051fb3)

2.1.0 (2026-03-04)

Features

  • add archives sheets and exec CLI commands for I90 processing (b54f94a)
  • add static archives catalog (153 archives) and improve download API (22e6095)
  • replace manual PyPI workflow with release-please (3c0dcb3)

Bug Fixes

  • correct author email to datons.com (8e17132)
  • rename release-please config to expected non-dotted filename (2f53b76)
  • update archives test to match static catalog default (9bbd98b)

Performance

  • lazy sheet loading in I90Book — only read sheets on demand (2dfe941)

[2.0.0] - 2026-02-27

Complete rewrite of the library with a new architecture, CLI, and caching system.

Breaking Changes

  • New package structure: from esios import ESIOSClient (was from esios.client import Esios)
  • Indicators return wide-format DataFrames with geo names as columns (e.g., "España")
  • Archives API redesigned with client.archives.download()

Added

  • CLI (esios): full command-line interface with indicators, archives, cache, and config commands
  • Multi-geo support: indicators with multiple geographies return one column per geo (e.g., España, Francia, Portugal)
  • --geo filter: filter by geography ID or name in both CLI and Python API
  • Smart caching: parquet-based cache with per-column gap detection and sparse column support
    • Per-indicator directories ({id}/data.parquet + {id}/meta.json)
    • Global geo registry (geos.json) learned incrementally from API responses
    • Per-endpoint catalog (catalog.json) with 24h TTL
    • Per-indicator metadata (meta.json) with 7-day TTL
    • Auto-migration from v1 flat cache files
  • esios exec: ad-hoc pandas expressions on indicator data
  • esios indicators meta: inspect indicator metadata
  • esios cache status: Rich panel showing cache health, geos registry, and catalog info
  • esios cache geos: inspect the global geography registry
  • esios config set token: store API token in ~/.config/esios/config.toml
  • I90 processing: I90Book class for parsing settlement files with automatic frequency detection
  • Async client: AsyncESIOSClient for concurrent requests
  • Claude Code plugin: installable skill with full domain knowledge (/plugin marketplace add datons/python-esios)

Improved

  • Automatic date-range chunking for large queries (>3 weeks)
  • Atomic file writes (tempfile + rename) for cache safety
  • TTL-based cache freshness: recent data (48h) re-fetched for electricity market corrections
  • Geo enrichment: learns missing geo mappings from API values (e.g., indicator 600 omits Países Bajos/8828)
  • Custom exceptions: ESIOSError, AuthenticationError, APIResponseError, NetworkError

[0.1.0] - 2024-05-15

Initial release.

  • Basic indicator data download
  • Archive file download (I90, Liquicomun, CoefK)
  • I90 preprocessing with sheet access