Skip to main content

reproducible-science

pypi python license docs

Check whether a paper's claims match its artifacts.

Part of reproducible-science alongside citations, results and prereg — see the documentation.

Install

pip install reproducible-science

This installs repro and its three dependencies: prereg, citations, results-cli.

Quick start

repro init my_experiment
initializing /home/you/work/my_experiment
  wrote /home/you/work/my_experiment/CLAUDE.md
done.

init spawns prereg new, results init and citations init, whose own output it does not relay; the two lines above are everything it prints itself.

This creates:

my_experiment/
    CLAUDE.md           tells Claude Code about the tools
    my_experiment/
        PREREG.md       the plan (OSF headings)
        results/        run outputs
        tests/          tests for the analysis
    .results/           ledger.jsonl and ledger.head
    .citations/         citation library, itself a git repository
    claims/             claim files for citation verification
    data/               raw data
    scripts/            analysis scripts
    figures/            output figures

Verify everything at once

cd my_experiment
repro verify

Reads repro.yaml and checks every declared evidence assertion against the artifact it names. It spawns nothing: prereg, results and citations are separate commands.

The workflow

prereg freeze                         # lock the plan
results seal PREREG.md analysis.py    # hash inputs
results access "read metadata" --level "metadata only"

# run the computation

results run output.json --run-id exp_001
results claim "ICC = 0.42" --run-id exp_001 --confirmatory --location "Table 2"
repro verify                          # check everything

What's included

Tool CLI PyPI What it does
prereg prereg prereg Freeze a plan before running, record what changed after
citations citations citations Verify quotations resolve in pinned source artifacts
results results results-cli Seal inputs, record outputs, bind claims to runs, verify the chain

Inside adduce

adduce scores a repository for reproducibility across categories. Installing the extra registers one rule with it, so a repository that declares a repro.yaml has its evidence assertions checked as part of adduce check:

pip install "reproducible-science[adduce]"
adduce check .

The rule reports an aggregate — every assertion holding is a pass, some holding is partial, a pinned artifact having changed is a failure naming it — and writes the full per-assertion report to .adduce/repro-report.json, since one finding cannot carry thousands of outcomes. A repository with no manifest is out of scope rather than failing, and a verifier that cannot run reports UNKNOWN: a missing toolchain is not the repository's fault.

adduce is not a dependency of this package, and this package is not a dependency of adduce.

Claude Code

This repository is a Claude Code plugin marketplace. One plugin carries all four tools:

/plugin marketplace add elliottower/reproducible-science
/plugin install reproducible-science@reproducible-science

It installs four skills, four commands and three hooks. The hooks are the part a CLI cannot do, because each fires at a moment rather than when you remember to run something:

hook fires when
frozen plan changed a preregistration no longer matches the digest it was frozen with
unverified quotation a passage enters a manuscript that no claim file pins to a source
unbound number a number enters a manuscript that no recorded claim names

Every hook reports and never blocks, and stays silent in a project that has not opted in: no ledger, no claims directory and no frozen plan means nothing to check and nothing said.

The commands are /prereg-check, /citations-check, /results-check and /repro-check, named alike so there is nothing to remember about which tool answers which question.

Each tool also ships on its own, for anyone who wants one of them:

/plugin install prereg@reproducible-science
/plugin install citations@reproducible-science
/plugin install results@reproducible-science

The plugin ships instructions and hooks, not binaries, so install the tools as well:

uv tool install reproducible-science   # or: pip install reproducible-science

MIT licensed.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reproducible_science-0.3.1.tar.gz (124.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reproducible_science-0.3.1-py3-none-any.whl (77.8 kB view details)

Uploaded Python 3

File details

Details for the file reproducible_science-0.3.1.tar.gz.

File metadata

  • Download URL: reproducible_science-0.3.1.tar.gz
  • Upload date:
  • Size: 124.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for reproducible_science-0.3.1.tar.gz
Algorithm Hash digest
SHA256 d95d0d1d01900e87284462028ff7e99164e524add5262457d6fffa883c5570e8
MD5 0a84dd3912cc72071362c91a0682c43c
BLAKE2b-256 835b9e583bad06e9756b23d9be094894408e123caf9c5771b91a1eda9ac8c7ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for reproducible_science-0.3.1.tar.gz:

Publisher: publish-repro.yml on elliottower/reproducible-science

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reproducible_science-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for reproducible_science-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a95c66318354f520d4517fe76a6439ea15a57b9121285e0fca67f37e119b7291
MD5 e763f1ec8e4504e9b1879dfacbe8a7a7
BLAKE2b-256 67a6611182cc2ff8887f7de76406c0a8d33f5c7906b33644ae30dcc0ecdc38a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for reproducible_science-0.3.1-py3-none-any.whl:

Publisher: publish-repro.yml on elliottower/reproducible-science

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page