Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Load the ACS local-area dataset for US state and district runs

オープン
#717 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@anth-volk がすでに取り組んでいます。

2026年10月6日 から。

  • #726 @anth-volk による — オープン

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python

調査の方向性

Start with _region_parent_dataset_reference and _resolve_region in projects/policyengine-simulation-executor/src/policyengine_simulation_executor/simulation_runtime.py, then inspect runtime_dataset_uri(...) and the linked build_populace_state_slices.py approach. Done means state and district runs use validated local-area extracts with linked groups and unchanged weights, while the resolved URI preserves the overlay revision and sha256.

索引モデルが issue の本文から書いたものです。

説明

Problem

Every US state/xx and congressional-district run executes on the national default file. In projects/policyengine-simulation-executor/src/policyengine_simulation_executor/simulation_runtime.py:

  • _resolve_region (lines 317–360) uses region.dataset_path when it is set.
  • Otherwise _region_parent_dataset_reference (lines 276–301) walks up to the national region and returns its dataset.

policyengine.py state and district regions carry no dataset_path, so the fallback always applies (PolicyEngine/policyengine.py#551).

What changes once regions carry the local-area dataset

PolicyEngine/policyengine.py#551 proposes resolving state and district regions to populace_us_2024_acs_local.h5. The executor would then receive that file for every state run:

  • Size: 9.8 GB. It covers 1,588,854 households (Sep 23 build 767312d60).
  • Memory: our Modal jobs needed a 64 GB container to load it and extract one state.
  • Per-state counts: Pennsylvania alone is 64,981 households. Child-poverty-impact-dashboard slices range from 3.4k households (WY) to 163k (CA).

Suggested direction

  • Build per-state extracts once per local-area release, keeping every linked person, tax unit, SPM unit, family and marital unit, with weights unchanged. Run state and district requests on the extract.
  • PolicyEngine/child-poverty-impact-dashboard scripts/build_populace_state_slices.py does this for 51 states. It checks that slices partition the frame exactly and that no group straddles a state boundary. It also verified a 2021-CTC reform on all 51 slices against masked full-file runs (population and transfer total within 1e-6, poverty rates within 1e-4).
  • Confirm the resolved URI keeps the overlay's own revision and sha256. Today runtime_dataset_uri(...) passes bundle.data_artifact_revision (the national artifact's revision) as the artifact revision, so check that it does not override the local-area pin.

Related

  • Region wiring: PolicyEngine/policyengine.py#551
  • API v1 state reports: PolicyEngine/policyengine-api#3864
  • Weight concentration on the local-area build: PolicyEngine/microcosm#403

🤖 Generated with Claude Code

主要言語
Python
スター
1
フォーク
1
平均マージ
22時間 18分
マージ済み PR(30日)
21

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PolicyEngine/policyengine-sim-api のほかの issue

PolicyEngine/policyengine-sim-api の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。