Sobre MíQué hagoProyectosLabContacto

Entorno y reproducibilidad

repro-manifest

Un recibo portable de cada run para explicar por qué difieren.

repro-manifest on PyPIrepro-manifest downloads per monthrepro-manifest CI statusMIT license0 descargas/mes en PyPI

Instalación

pip install repro-manifest

Si usas uv, también como CLI aislado:

uv tool install repro-manifest

Qué hace

Casi ningún run ad-hoc deja un recibo de reproducibilidad, y se lanzan desde un árbol git sucio, así que el hash del commit no basta. repro-manifest captura entorno, código, config y semillas, y compara dos manifiestos.

En acción

Una sesión real grabada del CLI en ejecución.

Léelo como texto
runtime
key             value
python          3.12.3
implementation  CPython
platform        Linux-6.17.0-35-generic-x86_64-with-glibc2.39
executable      /home/delcenjo/jmweb-org/repro-manifest/.venv/bin/python3
git
key     value
commit  daa6bf5a9d4b363337963c6054bdd353b55d342a
branch  main
dirty   false
command
key   value
argv  /home/delcenjo/jmweb-org/repro-manifest/.venv/bin/repro-manifest show
cwd   /home/delcenjo/jmweb-org/splitcheck
packages
key             value
annotated-doc   0.0.4
coverage        7.14.3
iniconfig       2.3.0
markdown-it-py  4.2.0
mdurl           0.1.2
packaging       26.2
pluggy          1.6.0
pygments        2.20.0
pytest          9.1.1
pytest-cov      7.1.0
repro-manifest  0.2.0
rich            15.0.0
ruff            0.15.20
shellingham     1.5.4
typer           0.26.8
$ repro-manifest show
runtime
key             value
python          3.12.3
implementation  CPython
platform        Linux-6.17.0-35-generic-x86_64

git
key     value
commit  25ca4ae3932c9be07cbba03f09caeb07c34403f8
branch  main
dirty   false

Características

  • —Commit, rama, estado sucio y parche de cambios sin commitear.
  • —Argv, hashes de config y semillas RNG.
  • —Diff por riesgo para explicar la diferencia.
  • —Gate de CI y salida JSON.
Ver el código en GitHub →

Otras herramientas

hola@jmwebsoluciones.com