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
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:
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.