Entorno y reproducibilidad
repro-manifest
Un recibo portable de cada run para explicar por qué difieren.
Instalación
pip install repro-manifestSi usas uv, también como CLI aislado:
uv tool install repro-manifestQué 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 falseCaracterí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.