Changelog¶
0.1.5 (2026-04-23)¶
Features¶
- Global dataset pipeline: weekly Europe-only extraction replaced with a monthly global extraction split across 16 regions (
src/osm_powerplants/regions.py). Matrix CI job per region uploads artifacts; a merge job concatenates intoosm_global.csv+osm_global_rejected_plants.csv+osm_global_rejected_plants.geojsonat the repo root, with per-region outputs preserved underdatasets/. scripts/extract_region.pyreplacesscripts/extract_europe.py: parallelizes countries with fallback Overpass endpoints and writes the rejection report in both CSV and GeoJSON form per region.scripts/merge_global.pycombines regional outputs into global ones.evaluation/: reviewer bundle (report, PPM matching + evaluation scripts, recommended PPM overlay) used to decide which countries should have OSM fully included in PPM.process_units(..., rejected_output_path=...)writes the dropped-plant rejection report (CSV + sibling GeoJSON) so users can diagnose why a country returned fewer plants than overpass-turbo. README gains a "Why some plants are excluded" section (PR #8, issue #5).
Bug Fixes¶
- Send an explicit
osm-powerplants/<version>User-Agent on every Overpass request — public Overpass instances reject the defaultpython-requests/XUA with HTTP 406 (PR #7, issue #5). - Regional download path now reads
overpass_api.api_urlfrom config instead of the wrong keyurl, so user overrides reach the client (PR #7, issue #5). - Sync
__version__inosm_powerplants/__init__.pywithpyproject.toml(was 0.1.3 vs 0.1.4).
Changes¶
- Default
config.yamlnow enablesmissing_technology_allowed, adds a Battery mapping, extends CSP technology patterns, and points to theoverpass.private.coffeeendpoint with a longer timeout/retry — absorbed from the previous siblingconfig.global.yaml. - Legacy root
osm_europe.csvis frozen and retained for back-compat with the current PPM config; it will be removed once the PPM PR that re-points toosm_global.csvmerges.
0.1.4 (2026-04-15)¶
Features¶
- Use alternative Overpass endpoint (
overpass.private.coffee) for improved availability - Workshop notebook with Colab launch button
Bug Fixes¶
- Detect Overpass resource-limit errors disguised as HTTP 200 responses (PR #4)
- Raise
OverpassAPIErroron exhausted retries instead of returning a silent empty response (PR #4)
Changes¶
- Demo country switched from Malta to Colombia
- Tests no longer pin hardcoded version strings
0.1.3 (2026-01-02)¶
Bug Fixes¶
- CLI
--versionnow uses dynamic version from__version__
0.1.2 (2026-01-02)¶
Bug Fixes¶
- Sync
__version__with pyproject.toml
0.1.1 (2026-01-02)¶
Changes¶
- Simplified CI workflow - removed Release Please, single main branch
- Skip slow integration tests by default (require external Overpass API)
- Added manual PyPI publish workflow
0.1.0 (2025-12-16)¶
Features¶
- initial release v0.1.0 (9535bb2)
Bug Fixes¶
- add .nojekyll to disable Jekyll processing (1650831)
- force-add osm_europe.csv to bypass .gitignore in CI (871556d)
- page url with underscore (724b218)
- update repo URLs from osm-powerplants to osm_powerplants (a154ee4)
Documentation¶
- add PyPI publishing instructions to contributing guide (f3910af)
- update URLs to use hyphenated repo name (osm-powerplants) (9f4619b)
0.1.0 (2024-12-15)¶
Initial public release.
Features¶
- CLI with
processandinfocommands - Multi-level caching (CSV, Units, API)
- Plant reconstruction from orphaned generators
- Generator clustering for solar/wind farms
- Cross-platform paths via platformdirs
- Rejection tracking with 27 categorized reasons
- GeoJSON export for JOSM/iD editor integration