📊 Scaffold the World Bank PIP September 2026 update (wb/2026-09-22) - #6901
Draft
paarriagadap wants to merge 2 commits into
Draft
paarriagadap wants to merge 2 commits into
paarriagadap wants to merge 2 commits into
Conversation
Create the wb/2026-09-22 chains for world_bank_pip (+ _legacy), thousand_bins_distribution and poverty_projections ahead of the announced 2026-09-22 release, and repoint every consumer to them. The data is not published yet, so the snapshots have not been run and the vintage-dependent metadata still describes the March 2026 release. Each new .dvc carries a TODO block naming exactly which fields must be refreshed. The outgoing 2026-06-26 / 2026-03-25 blocks stay in the DAG, marked OUTGOING VERSIONS, so the old datasets remain buildable and can be diffed against the new extraction. They are removed and archived once the new chain is validated. Also drops the @click decorator stack and the dead LIVE_API constant from the PIP snapshot script, flagged by check-outdated-practices. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
|
Quick links (staging server):
Login: chart-diff: ✅No charts for review.data-diff: ✅ no differencesNo differences found. Automatically updated datasets matching excess_mortality|covid|fluid|flunet|country_profile|garden/ihme_gbd/2019/gbd_risk are not included. Run locally with Edited: 2026-09-22 16:46:25 UTC |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Scaffolding for the September 2026 World Bank PIP release, built ahead of the announced
2026-09-22 publication date so the extraction can start the moment the data lands.
The data does not exist yet. This PR creates the
wb/2026-09-22chains and repoints theconsumers, but the snapshots have not been run and the vintage-dependent metadata still describes
the March 2026 release. CI and the staging build will be red until the extraction runs — that is
expected, not a regression. Do not merge before then.
Three chains bumped
→ wb/2026-09-22:world_bank_pip(+world_bank_pip_legacy)2026-06-26thousand_bins_distribution2026-03-25poverty_projections2026-03-25harmonized_national_poverty_linesis deliberately not included: it is a one-off Foster et al.(2025) paper file with no downstream consumers and no tie to the PIP release cadence.
What to do on release day
Every vintage-dependent field carries a
# TODO:block at the top of its.dvcnaming exactly whatmust change. The full runbook lives at
workbench/world_bank_pip/release-runbook.md; the essentials:20260922. The announced release date and thevintage string date are not the same: September 2025 shipped as
20250930.curl -s "https://api.worldbank.org/pip/v1/versions?format=json"lists them. Current newest is20260324_{2021,2017}_01_02_PROD. Cadence is twice yearly, late March / late September;2011 PPP stopped at
20240627, so only 2017 and 2021 are still published.GLOBAL_DIST_1000BINS_URLinsnapshots/wb/2026-09-22/world_bank_pip.pyand theurl_downloadinthousand_bins_distribution.dta.dvcare the same file — they must be bumped tothe same vintage together, or regional percentiles get built from a different release than the
country data.
_fetch_percentiles) are usually the last thing the WB publishes. Ifthey lag, set
EXTRACT_COUNTRY_PERCENTILES = False, run, and re-run later with it back on.poverty_lines_countries) — check the run output's list of countries missingfrom the percentile file and confirm no
headcountis below 0.99.DAG
Both chains are active on purpose. Every consumer now points at
2026-09-22; the outgoing2026-06-26/2026-03-25blocks are kept, marked# OUTGOING VERSIONS, so the old datasets canstill be rebuilt and diffed against the new extraction —
etlr data://garden/wb/2026-06-26/world_bank_pip --force --onlyneeds a reachable DAG entry, and theupdate workflow requires diffing the new garden against a freshly rebuilt old one on the same
upstream catalog. They get removed and archived once the new chain is validated.
The frozen
wb/2025-04-14block (2011/2017 prices) is untouched.Consumers repointed
data://explorers/wb/latest/world_bank_pip·data://external/poverty_inequality/latest/world_bank_pip·
data://external/poverty_inequality/latest/thousand_bins_distribution·viz://chart/wb/latest/{poverty,incomes,gini,palma_ratio}_pip·viz://bespoke/poverty_inequality/latest/income_distribution·data://garden/poverty_inequality/2026-08-25/harmonized_income_distributions·data://garden/poverty_inequality/2025-10-23/historical_poverty·data://garden/poverty_inequality/2025-01-22/inequality_comparison·data://external/owid_grapher/latest/int_dollar_conversions·dag/growth.yml·dag/covid.ymlCode change beyond the version bump
/check-outdated-practicesflagged the@clickdecorator stack in the PIP snapshot script. Removedit in favour of the shape the wizard emits —
def run(upload: bool = True, live_api: bool = True).etlsinspects the signature and passesuploadby keyword, and it never passed--live-api, sobehaviour is identical. Also dropped the module-level
LIVE_API = 1, which was dead code (the CLIflag, now the parameter, is what selects the API).
The other hit —
set_indexinunpivot_table— is a false positive: it is an intermediate reshapechained to
.stack()on the next line, which the detector's negative lookahead cannot see.owid-issues
One reminder now covers the whole family.
update-wb-world_bank_pip.ymlbecomes the groupworkflow, retitled "Data update: World Bank PIP + 1000 bins + poverty projections", with a
/update-dataset world_bank_pip thousand_bins_distribution poverty_projectionspointer in the body.thousand_bins_distributionpreviously had no scheduled issue at all.The separate
update-wb-poverty_projections.ymlis deleted: its body was empty, so the issue itopened said nothing, and its annual Oct 20 cron contradicted the dataset's own
update_period_days: 180— it rebuilds on every PIP vintage, so the March/September schedule is theright one.
Checks
make check,make unittest(962 passed) andetl d version-trackerare clean. Nothing is runagainst data because there is none.
Still open
the indicator upgrade, the archive of the outgoing blocks, and both announcements. Runbook §0–§7.
(
harmonized_income_distributionsandinequality_trends_by_reference_yearat 2026-08-25,historical_povertyat 2025-10-23,inequality_comparisonat 2025-01-22) are now dated beforethe data they ingest, which CLAUDE.md's versioning-hygiene rule says should be fixed by bumping
them. Bumping mints new variable IDs and needs a chart remap, so it is deferred until after the
extraction rather than done blind.
observed vintages (
20260324,20250930) — candidate for moving a few days later so the issueopens after the release rather than before it. Left as-is for now.
changed poverty lines, restructured percentile files). The scaffolding assumes a drop-in version
bump; if the release restructures anything, the copied steps are a starting point, not a result.
🤖 Generated with Claude Code