Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Local reproducibility snapshots for researchers using the Python package

Abierto
#320 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
python

Línea de trabajo

Comienza con los puntos de entrada de la API de Python calculate_household y simulate; después, lee docs/trace-case-study.md y la discusión relacionada household-api-docs#7. Define el contenido del snapshot, el comportamiento de exclusión voluntaria y el flujo de reproducción con una instalación idéntica antes de elegir la interfaz de CLI o de helper. Se considera terminado cuando las ejecuciones locales pueden producir un snapshot completo y la documentación para investigadores explica cómo restaurarlo y reproducirlo.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

  1. A policyengine CLI command or helper that snapshots everything needed to reproduce a specific local run to a single directory:

    • Pinned package versions (pip freeze subset 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
  2. Documentation in household-api-docs showing 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?"

  3. Default-on behavior for anyone using policyengine.calculate_household or policyengine.simulate via 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)
Lenguaje dominante
Python
Estrellas
8
Forks
10
Merge medio
18 h 24 min
PR fusionados (30 d)
18

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PolicyEngine/policyengine.py

Todos los issues de PolicyEngine/policyengine.py

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.