Design note: a weighted module inside policyengine.py, replacing the microdf dependency
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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).
- Lenguaje dominante
- Python
- Estrellas
- 8
- Forks
- 10
- Merge medio
- 11 h 58 min
- PR fusionados (30 d)
- 25
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PolicyEngine/policyengine.py
-
Raise the simulation cache memory warning to 16 GiBPosiblemente ocupada @anth-volk la tomó hace 13 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
PolicyEngine/policyengine.py#549 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PolicyEngine/policyengine.py#473 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
PolicyEngine/policyengine.py#436 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Certify populace-uk as the UK certified defaultQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PolicyEngine/policyengine.py#408 ·
Los mantenedores suelen responder en 1 día
-
US year-file cuts can pair one cut's tables with another's stamp, and the stamp lacks the yearAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
PolicyEngine/policyengine.py#607 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PolicyEngine/policyengine.py
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
onyx-dot-app/onyx#16016 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
black --check exits 0 and prints All done when a multi file run is interruptedPosiblemente ocupada @jiteshgulati la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
Non-positive worker counts wait for results without starting workersPosiblemente ocupada @IlyaKhalafi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día