Publishing computational notebooks with Binder
I've now written a couple of Jupyter notebooks and one of the issues that has come up is how to share the notebooks in a way that ensures the results will be reproducible in an environment when updates to components occur regularly.
Binder is a collection of tools for building and executing version-controlled computational environments that contain code, data, and interactive front ends, like Jupyter notebooks. It's 100% open source.
At a high level, Binder is designed to make the following workflow as easy as possible
- Users specify a GitHub repository
- Repository contents are used to build Docker images
- Deploy containers on-demand in the browser on a cluster running Kubernetes
Common use cases include:
- sharing scientific work
- sharing journalism
- running tutorials and demos with minimal setup
- teaching courses
If you want to find out more have a look at this blog post by the developers.