"Have you heard the good word of Content Addressable dependency management?"
a radical transparency hack
a way to get things done
making reproducibility possible
Things that work should continue to work.
This idea, though simple, is regularly betrayed by our computers and the way we use them. Every time we build an update system without a pinning system: broken. Every time we download content without the ability to audit what it is and where it came from: dangerous. Every time we share instructions with someone, and we don't give them a way to confirm they're starting from the same inputs and software tools we did: wasteful and insecure. It's time to challenge all that.
Repeatr combines containers (as popularized by Docker and others) with the ability to easily pull specific, pinned data from many different storage systems (think Git, but with the hash able to refer to unlimited sizes of data, stored in Amazon, GCS, or your choice of tons of other options). Uniting these critical concepts, Repeatr makes it possible to make any task repeatable and reliable — If you can run it with Repeatr, you can run it again, you can still run it next tuesday, and you can still run it in 50 years.
Putting a process in Repeatr also gives you the power to inspect the outputs. Using the same configurations as the inputs, you can specify storage and upload locations, and receive specific, pinned identities for all of the data you save from the process you ran with Repeatr. Leveraging this, you can use Repeatr to make ensure your process has results that are deterministic and reproducible: this guarantees that where you go, others can follow.
With Repeatr, gone are the days of mysteriously "updating" dependencies that break your software; gone are the days when critical science steps backwards when losing access to a researcher's laptop means publication data is permanently unreproducible; and gone are the days when "builds on my machine" is a problem crippling our critical infrastructure's provisioning and security.
Welcome to Repeatr. Run it. Run it again.