Skip to content

release: promote develop → main (global weather features + tooling baseline)#346

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

release: promote develop → main (global weather features + tooling baseline)#346
bartzbeielstein merged 6 commits into
mainfrom
develop

Conversation

@bartzbeielstein
Copy link
Copy Markdown
Collaborator

Promotion of develop into main to cut the next release.

Includes since 19.1.0:

All develop CI gates green. Merging triggers semantic-release → version bump → wheel build → PyPI upload → GitHub Release → docs deploy, then back-merge into develop.

🤖 Generated with Claude Code

github-actions Bot and others added 6 commits June 7, 2026 22:26
… CI gate

Roadmap #5/#6 tooling baseline for spotforecast2-safe:
- type checker: drop mypy (dev + optional-deps + pre-commit hook), adopt
  Astral `ty`; add [tool.ty]; run `ty check src/` non-blocking in CI.
- coverage: add [tool.coverage] with fail_under=68 ratchet (~71% today),
  enforced by the existing pytest --cov run.
- legacy lint: remove redundant .flake8 (not invoked anywhere; flake8 also
  dropped from runtime deps) and add a minimal [tool.ruff] (line-length 88).
- docs (#5): new "API Reference In Sync" CI job regenerates the quartodoc
  reference and fails on drift (git diff --exit-code docs/reference/).

Non-breaking, non-releasing (chore). Promotes to main with the next release.

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

chore(tooling): converge on ty, coverage ratchet, docs-reference CI gate
…parent-temperature/dew-point features

Add the cheapest, most reliable load-forecasting accuracy levers — the
feature-matrix gains that live in x_t, not the model f(.) — as opt-in,
fail-safe, deterministic weather features. All default off, so the pipeline
stays byte-identical to the single-point baseline.

New module weather/derived.py (pure functions):
- heating/cooling degree-hours (hdh/cdh) — split the U-shaped temperature
  response into its two arms (ruba23a)
- apparent temperature (Steadman) and dew point (Magnus) — fold in the
  humidity driver dry-bulb temperature misses (maia20a)
- population_weighted_average — combine per-city frames into one demand-
  weighted national index (zimm25a)
- add_derived_weather_features — deterministic orchestrator, raises on a
  missing source column rather than imputing

New module weather/locations.py: a fixed, deterministic registry of 13
German load centres weighted by population and spread across all regions so
the national index is not dominated by one climate zone.

get_weather_features gains opt-in locations/location_weights (multi-city
population weighting) and derived_features/hdh_base/cdh_base/wind_speed_unit
parameters; ConfigMulti gains use_population_weighted_weather,
include_degree_hours, include_apparent_temperature, degree_hours_base_*; and
BaseTask.build_exogenous_features wires them through (getattr-guarded for
configs predating the fields).

Implements the "what to adopt next" priorities #1-#2 from the lecture's
"Additional exogenous inputs beyond weather and holidays" and the global
population-weighted weather requested for the sf2 roadmap. Stays within the
sf2-safe contract: keyless, deterministic, fail-safe, no prohibited deps.

Tests: 46 new (pure functions, fail-safe, determinism, monkeypatched wired
path). Docs reference regenerated.

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

feat(weather): population-weighted multi-city index + degree-hours / apparent-temperature / dew-point features
## [19.2.0-rc.1](v19.1.0...v19.2.0-rc.1) (2026-06-08)

### Features

* **weather:** population-weighted multi-city index + degree-hours/apparent-temperature/dew-point features ([1942c7b](1942c7b))
@bartzbeielstein bartzbeielstein merged commit b964e78 into main Jun 8, 2026
1 check 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