Skip to main content

reproducible-science

Scaffold reproducible science workflows in one command.

Install

pip install reproducible-science

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

Quick start

repro init my_experiment
initializing my_experiment
  wrote my_experiment/my_experiment/PREREG.md
  wrote my_experiment/.results/ledger.jsonl
  wrote my_experiment/.citations/
  wrote my_experiment/CLAUDE.md

This creates:

my_experiment/
    PREREG.md           the plan (OSF headings)
    CLAUDE.md           tells Claude Code about the tools
    .results/           results ledger
    .citations/         citation library
    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 repo is also a Claude Code plugin marketplace bundling all three tools:

/plugin marketplace add elliottower/reproducible-science

Or install them individually: elliottower/prereg, elliottower/citations, elliottower/results.

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.2.0.tar.gz (85.6 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.2.0-py3-none-any.whl (56.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reproducible_science-0.2.0.tar.gz
  • Upload date:
  • Size: 85.6 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.2.0.tar.gz
Algorithm Hash digest
SHA256 7a82965d9015b9af90ca86a93d2f153bd94feaac1ccb2e57cf9101b4d94611ee
MD5 6619983f0246fc9333216504e8653a2d
BLAKE2b-256 7bbc84770d7be4f0228b83c97d1279c6f18978682b1cb4233fbe127b3469ac78

See more details on using hashes here.

Provenance

The following attestation bundles were made for reproducible_science-0.2.0.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.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reproducible_science-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d1b4e0bc45d702cb2df590cf6427a289b0247d1172e436def92e8879afac998
MD5 bc93f57476ef4ccff5e3962483e47d01
BLAKE2b-256 c830a24a420a4a0384a7549564f1d9f94a0798a26b674e86a65479f62ac44da0

See more details on using hashes here.

Provenance

The following attestation bundles were made for reproducible_science-0.2.0-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

0.3.1

2 files

0.3.0

2 files

This release

0.2.0 This release

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