Skip to content

Promote develop to main: release 22.7.0 (downloader hoist utils)#385

Merged
bartzbeielstein merged 6 commits into
mainfrom
develop
Jun 14, 2026
Merged

Promote develop to main: release 22.7.0 (downloader hoist utils)#385
bartzbeielstein merged 6 commits into
mainfrom
develop

Conversation

@bartzbeielstein

Copy link
Copy Markdown
Collaborator

Promote developmain to cut the final 22.7.0 release.

Contents since 22.6.0 (the gap-repair release already on main):

semantic-release will compute 22.7.0 from the feat commit and publish to PyPI via Trusted Publishers, deploy docs, and back-merge main → develop.

🤖 Generated with Claude Code

github-actions Bot and others added 4 commits June 13, 2026 23:06
…orecast, download_side_tables

Hoist three small, pure/safe-compatible utilities out of the bart26l-vorlesung
team_4 four-zone submission script into the certified downloader, where they can
be tested and documented:

- derive_download_window(now, *, train_years, start_margin_days=45, data_end=None)
  -> (start_dl, end_dl): derives the ENTSO-E download window from a training
  horizon. Requires a tz-aware `now`; rejects bool/non-positive train_years and
  malformed data_end.
- extract_entsoe_hourly_forecast(interim, *, column="Forecasted Load"): resamples
  an interim frame's day-ahead forecast column to a clean hourly series; raises on
  missing column / non-DatetimeIndex / all-NaN.
- download_side_tables(...): one call to refresh the renewable-forecast and
  day-ahead-price side tables. Fail-loud by default (on_provider_failure="raise");
  "skip" is opt-in, logged degradation (operator policy).

All three use only pandas + stdlib + existing downloader functions — no
spotforecast2 import, no __init__ change (registered in _quarto.yml only). The
warn-and-continue / fallback policy stays operator-side per the established
mechanism-vs-policy boundary.

Tests: new tests/test_downloader_entsoe_utils.py (pure functions) and extended
tests/test_downloader_entsoe_side_tables.py (download_side_tables). Fast suite
green, coverage 73.8% (ratchet 68).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ownloader-hoist-utils

feat(downloader): hoist derive_download_window, extract_entsoe_hourly_forecast, download_side_tables
## [22.7.0-rc.1](v22.6.0...v22.7.0-rc.1) (2026-06-14)

### Features

* **downloader:** add derive_download_window, extract_entsoe_hourly_forecast, download_side_tables ([8f68b38](8f68b38))
Comment thread tests/test_downloader_entsoe_side_tables.py Fixed
Comment thread tests/test_downloader_entsoe_side_tables.py Fixed
Comment thread tests/test_downloader_entsoe_side_tables.py Fixed
Comment thread tests/test_downloader_entsoe_side_tables.py Fixed
bartzbeielstein and others added 2 commits June 14, 2026 06:08
- Call download_side_tables() as a statement instead of binding/asserting
  its always-None return value (CodeQL: use of a procedure's return value).
- Patch _RETRY_BACKOFF_SECONDS via the string target form of
  monkeypatch.setattr, dropping the `import ... as _entsoe_mod` so the module
  is no longer imported both with `import` and `from ... import` (CodeQL).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…odeql-nits

test(downloader): address CodeQL nits in side-table tests
@bartzbeielstein bartzbeielstein merged commit df92caa into main Jun 14, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants