Local reproducibility snapshots for researchers using the Python package
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- python
調査の方向性
まず calculate_household と simulate の Python API エントリポイントから始め、次に docs/trace-case-study.md と関連する household-api-docs#7 の議論を読んでください。CLI または helper のインターフェースを選ぶ前に、snapshot の内容、オプトアウトの動作、完全に同一のインストール環境で再現するフローを定義してください。ローカル実行で完全な snapshot を生成でき、研究者向けドキュメントでそれを復元して再現する方法が説明されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Context
At the 2026-04-21 meeting with Lars Vilhuber (transcript lines 65-75), the topic of local-copy and caching guidance for researchers using the Python package came up as a piece of reproducibility hygiene distinct from TRACE. Lars's framing: researchers running a simulation on their laptop should be able to preserve exactly what they ran (model + data + reform + environment), so that if they come back to it six months later, they can still reproduce their own work.
This is the non-TRACE version-identification workstream Casper spoke about separately (transcript 415-417): TRACE is for citations a reader cannot rerun; local version-identification is for the researcher themselves.
Policyengine-app#2832 implements the webapp-side version badge. This issue is the Python-package-side equivalent: help a researcher running policyengine locally keep a reproducible record of each run.
What to build
-
A
policyengineCLI command or helper that snapshots everything needed to reproduce a specific local run to a single directory:- Pinned package versions (
pip freezesubset for pe.py + country + country-data) - The reform JSON (if any)
- The h5 content hash (already in the release manifest)
- The simulation output (results + optional per-household frame)
- A short README documenting how to reproduce with the exact install line
- Pinned package versions (
-
Documentation in
household-api-docsshowing researchers how to use this — distinct from the TRACE emission flow. The distinction matters because TRACE targets citation durability; local snapshots target "can I get back to my own work?" -
Default-on behavior for anyone using
policyengine.calculate_householdorpolicyengine.simulatevia the Python API. A subdirectory under the working directory should be created automatically unless the user opts out. The cost of an extra megabyte of disk is worth the reproducibility gain.
Non-goals
- Not TRACE. Local snapshots are not signed, not institutionally attested, not meant to serve as paper citations. They are researcher-local cache.
- Not preservation-grade storage. Researchers responsible for their own backups.
Related
- Transcript lines 65-75 and 415-417 at
/tmp/aea-review/transcript.txt - PolicyEngine/household-api-docs#7 (Python / API docs — this issue adds a docs section)
- PolicyEngine/policyengine-app#2832 (version badge, the webapp-side equivalent)
docs/trace-case-study.md(PR #315 — discusses this as adjacent to but not replaced by TRACE)
- 主要言語
- Python
- スター
- 8
- フォーク
- 10
- 平均マージ
- 19時間 40分
- マージ済み PR(30日)
- 37
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PolicyEngine/policyengine.py のほかの issue
-
Raise the simulation cache memory warning to 16 GiB対応中かも @anth-volk が 15 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
PolicyEngine/policyengine.py#549 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PolicyEngine/policyengine.py#473 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
PolicyEngine/policyengine.py#436 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Certify populace-uk as the UK certified default再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PolicyEngine/policyengine.py#408 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 32/100
PolicyEngine/policyengine.py#636 ·
メンテナーはふだん 1 日以内に返信
PolicyEngine/policyengine.py の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
aws-samples/sample-per-model-bedrock#261 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
pwncollege/dojo#1188 ·
メンテナーはふだん 1 日以内に返信
-
bug launcher packaging
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
tenstorrent/tt-studio#1426 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
python-attrs/cattrs#796 ·
メンテナーはふだん 1 日以内に返信