calculate_household raises SPMInputError for households without county_fips
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 58/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- backend-api-design, data
Direzione di ricerca
Start at the pe.us.calculate_household entry point and read policyengine_us/spm.py, especially require_county_input and the default SPM selection. Reproduce the state-only example, then verify county and explicit national selections against the stated behavior, including the skill-examples failures. Done means state-only households return results without weakening explicit-selection or population-data validation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
pe.us.calculate_household fails for every household that gives a state but no county. With policyengine 6.2.0 (policyengine-us 2.2.1, spm-calculator 1.0.0):
import policyengine as pe
pe.us.calculate_household(
people=[{"age": 40, "employment_income": 50_000}, {"age": 8}],
tax_unit={"filing_status": "HEAD_OF_HOUSEHOLD"},
household={"state_code": "CA"},
year=2026,
)
raises SPMInputError: County selection has no county FIPS input ('') from policyengine_us/spm.py require_county_input. The default output columns include spm_unit_is_in_spm_poverty, and the bundle's default SPM selection is county measurement, so the whole call fails even when the caller wants only taxes and benefits. Adding county_fips or spm={"geography_kind": "national"} works around it.
Impact: every state-only household call since 6.0.0, including the examples in the PolicyEngine skills (PolicyEngine/policyengine-skills skill-examples fails on 8 examples, e.g. run 36653351748).
Expected: a state-only household returns a result. A state alone does not identify a Census SPM estimation area, so it should be measured nationally, and the result should say that national measurement replaced the default county selection. A household with county_fips keeps its county's area. Explicit selections keep failing closed, and population data keeps requiring observed counties.
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 9
- Merge medio
- 15h 28m
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi 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
-
Raise the simulation cache memory warning to 16 GiBForse già presa @anth-volk l’ha presa 6 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
PolicyEngine/policyengine.py#549 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine.py#473 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
PolicyEngine/policyengine.py#436 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Certify populace-uk as the UK certified defaultForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PolicyEngine/policyengine.py#408 ·
I maintainer di solito rispondono entro 1 giorno
-
Resolve US state and congressional-district regions to the ACS local-area datasetForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
PolicyEngine/policyengine.py#551 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di PolicyEngine/policyengine.py
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
data-umbrella/du-event-board#225 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100