← Back to Research & Discovery

Version control & reproducible workflows

Practical guidance for versioning code, notebooks, containers and pipelines so research is traceable, reproducible, and auditable.

Version control & reproducible workflows

Learn how to record, share, and reproduce research by combining disciplined version control, notebook practices, containerized compute, and simple provenance recording—so your analyses can be audited, rerun, and built on.

Why this matters

Research is only useful when others (and your future self) can understand what you did and why. Untracked code edits, undocumented notebook outputs, and undocumented compute environments make results hard or impossible to reproduce. Good versioning practices preserve provenance, reduce wasted effort, and build trust in results across labs, teams, and reviewers.

What you'll understand and be able to do

After exploring this resource you will be able to:

  • Apply source control patterns for scripts, libraries, and analysis code that minimize merge conflicts and preserve history.
  • Version analysis notebooks responsibly: separate code, data, and outputs; use checkpoints and lightweight metadata to capture intent and parameters.
  • Use containers and minimal environment manifests to record compute environments and reduce “it works on my machine” problems.
  • Design simple reproducible workflows that combine code, notebooks, containers, and CI/provenance steps so others can rerun experiments end-to-end.
  • Decide what to track (code, parameters, environment, data references) and what to exclude (large raw datasets, protected data) while recording provenance links to external storage or DOI'd datasets.

Who benefits

This resource is practical for individual researchers, lab groups, data scientists, small biotech teams, research engineers, reproducibility officers, and anyone responsible for delivering auditable analyses—whether you work in academia, healthcare, manufacturing R&D, startups, or consultancy. Examples:

  • A PhD researcher using notebooks to track exploratory analyses and needing a clean record for thesis reproducibility.
  • A clinical analytics team packaging pipelines so auditors can rerun cohort selection and model training.
  • A small biotech creating reproducible compute images to hand off to regulatory reviewers or partners.
  • An engineering lab turning prototype scripts into versioned pipelines that run in CI and log provenance.

How this fits with Data Management & FAIR practices

Version control and reproducible workflows are a practical complement to FAIR data stewardship: versioned code and environment manifests make analysis interoperable and reusable, while clear provenance links improve findability and auditability. Use this resource alongside guidance on metadata, dataset curation, and access controls to create research outputs that are both reproducible and responsibly shareable.

What's included

Explore concrete, usable materials that make adoption faster without starting from scratch:

  • ML experiment notebook template for tracking parameters and reporting results.
  • Version control & reproducible workflows runbook describing workflows, conventions, and checklist-style steps for teams.
  • Reproducible compute starter kit covering container basics, minimal environment manifests, and ideas for lightweight CI or provenance capture.

Practical next steps

Start small: choose one pipeline or notebook, add a version-control repository, record the environment (Dockerfile or lock file), and attach a short provenance README that lists data sources and parameters. Iterate: add CI or a reproducible-run script when your team is ready. Track what you learn so the practice becomes part of your lab or team domain.

Explore the runbook, download the notebook template, or try the reproducible compute starter kit to begin capturing provenance in your next experiment.

Make useful resources part of something bigger.

The Hunger Engine is moving toward living domains, toolkits, and collections that people and organizations can explore, acquire, tailor, extend, and improve. A useful resource can become part of a personal collection, team toolbox, site-specific domain, or shared enterprise capability.

Start with what you're hungry to improve. As your needs grow, collections can bring together knowledge, audits, forms, dashboards, data, AI, integrations, and other capabilities without requiring you to start from scratch.