reproduce.work: containerization for scientists

reproduce.work is designed to be the simplest and most user-friendly interface available for running the most common scientific computing workflows in a fully cross-platform manner.

This project is based on a paradigm from software engineering called containerization, which is used extensively in applications that require code to be reliably executed across different computing environments and time periods.

However, reproduce.work provides a simple framework that abstracts away from underlying complexities and technical details of containerization, providing a streamlined workflow for truly reproducible science. This allows scientists to focus on their research, rather than the technical details of containerization.

Explained in meme format

reproduce.work represented as shoggoth meme

Usage & Installation

After installing a container engine (i.e., Docker) reproduce.work can be used via a simple command-line interface that requires minimal (if any) interaction with the underlying containerization technology.

To learn more about how to use the framework, check out the Getting Started page:

Get Started

(experimental release 🧑‍🔬)

Current release

This project is currently in an alpha release phase and serves as proof of concept for further development. Current support is offered for the following scientific environments:

Support for other common environments, including Stata, Matlab, and Julia, will be possible with future development.

Under the hood

In its current iteration, reproduce.work is a command line tool (which itself can be executed in a container) that is designed to be a user-friendly interface for:

  • building and running common scientific container images,
  • managing files and volume interactions with containers, and
  • dealing with local port management.

These are common headaches for users of containers and are exactly the types of issues that reproduce.work is designed to automate. Outside of requiring a local installation, this tool does not assume that its users are familiar with containerization software at all, while simultaneously allowing them to build cross-platform compatible code with minimal interruption to their existing scientific workflows.

Be sure to check out the FAQ for more info.