reprotrail¶
reprotrail records the command, software state, inputs, runtime, and product
metadata behind data-processing results. Use it to audit how a result was made,
detect unacknowledged dependency changes, or prepare a workspace that restores
the recorded source and Pixi environment.
Reprotrail is Pixi-first. Core provenance capture remains useful without Pixi, but complete runtime snapshots, dependency epochs, Git dependency freshness, and reproduction expect a Pixi project and lockfile.
Install¶
Reprotrail requires Python 3.11 or newer and Git. Install the full product metadata feature set from PyPI:
python -m pip install "reprotrail[products]"
Use python -m pip install reprotrail for the minimal package. Pixi is an
external executable and must be installed separately for Pixi-backed features.
After the conda-forge recipe is accepted, conda install -c conda-forge reprotrail will install the complete workflow, including Pixi and product
metadata dependencies.
First recorded command¶
Run this from a clean Git project:
reprotrail run \
--log results/example.log \
--provenance-json results/example.prov.json \
-- python -c "from pathlib import Path; Path('results').mkdir(exist_ok=True); Path('results/example.txt').write_text('done')"
The wrapped command creates results/example.txt; reprotrail creates the log
and a versioned JSON provenance record. See Using reprotrail in practice (Introduction) for product
sidecars, dependency checks, and reproduction.
:::{warning} Provenance records are not guaranteed to be anonymous or secret-free. They can contain command arguments, repository URLs, paths, dirty-file information, and whitelisted environment values. Review records before publishing them. :::
Development setup and contribution checks are documented in the repository’s contributor guide.