Load certified annual projection datasets by year
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start by tracing the wrapper's annual-data loading, bundle certification, and derived-cache paths in the repository; no specific files or tests are named. Compare those paths with the production data interface and existing country auto-extension behavior. Done means certified annual H5 files are selected and verified, provenance-aware caches remain isolated, dependencies load without unwanted future years, and regional filtering and projected weights are preserved.
Written by the indexing model from the issue text.
Description
Microcosm's static-aging operator now supports independent annual cross-sections (PolicyEngine/microcosm#957; design tracking in PolicyEngine/microcosm#333). The production data interface will publish one native single-year H5 per supported year.
The wrapper currently extracts future-year inputs from one base file and reuses derived cache files by dataset basename and year. It needs to select explicitly published annual artifacts and preserve their projection provenance.
Required behavior:
- Validate producer
metadata.dataset_yearsmappings during bundle certification and retain exact revision/hash pins. - Load the requested annual H5 and verify its embedded year, entity layout, and source identity.
- Keep cache entries separate across data revisions and relevant model/runtime identities.
- Prevent country auto-extension from substituting unpublished years; preserve genuine internal historical dependencies.
- Load requested years plus the earlier published input years required for those dependencies, without fetching future years by default.
- Preserve native-ID regional filtering and projected household weights.
This issue covers consumer integration. A separate certification change will select the published annual release and the model version containing the Medicaid/SNAP cycle fix (PolicyEngine/policyengine-us#9539).
- Dominant language
- Python
- Stars
- 7
- Forks
- 9
- Avg merge
- 15h 51m
- Merged PRs (30d)
- 9
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PolicyEngine/policyengine.py
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine.py#473 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PolicyEngine/policyengine.py#436 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PolicyEngine/policyengine.py#408 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
PolicyEngine/policyengine.py#518 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
PolicyEngine/policyengine.py#510 ·
All issues in PolicyEngine/policyengine.py
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100