Design note: a weighted module inside policyengine.py, replacing the microdf dependency
@MaxGhenis ci sta già lavorando.
Dal 22/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Tracking issue for docs/weighted-module-design.md, the decision record for replacing policyengine.py's microdf dependency with an internal policyengine.weighted module: pure numpy estimator kernels (shared with microcosm.frame.accounting), weights as an ordinary <entity>_weight column, and a closed df.weighted(...) accessor that exposes only weighted operations.
Context: the September 2026 review of microdf (PolicyEngine/microdf#315, #333) found that a pandas subclass cannot fail closed, and PolicyEngine/policyengine.py#527 found outputs/inequality.py reimplementing Gini and top shares with a different tie rule from microdf. microcosm-frame already declares itself microdf's successor.
The note fixes the three-layer design, pins every estimator definition against a named reference, and stages the migration: Stage 1 (module lands, inequality.py, decile_grouping.py and labor_supply_response.py move onto it), Stage 2 (MicroDataFrame leaves the public data model; major version), Stage 3 (engine return types; a separate decision).
- Lingua principale
- Python
- Stelle
- 7
- Fork
- 9
- Merge medio
- 13h 12m
- PR unite (30g)
- 11
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PolicyEngine/policyengine.py
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine.py#473 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
PolicyEngine/policyengine.py#436 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine.py#408 ·
-
PolicyEngine/policyengine.py#527 · 1 assegnatario ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
PolicyEngine/policyengine.py#523 ·
Tutte le issue di PolicyEngine/policyengine.py
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
anthropics/skills#1811 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
speaches-ai/speaches#678 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
datalayer/mcp-compose#42 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
conda-forge/spacy-feedstock#177 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
UKGovernmentBEIS/inspect_evals#2523 ·