Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Instantly play with Notebooks shared by anyone #2
There's a lot of content available in the form of Notebooks. But it's not always easy to just download a Notebook and start playing with it. You need to have the right environment (dependent packages, python version, env variables, data files etc.) to be able to execute Notebook code cells.
In the Jupyter world it's called the reproducibility problem i.e. one cannot reproduce the Notebook results given just the Notebook.
We'll ask Notebook authors to provide a
Once the Dockerfile is available here's how the workflow will look for users:
Feel free to upvote/downvote the issue indicating whether you think this is useful feature or not. I also welcome additional questions/comments/discussion on the issue.
I'm aware of BinderHub. It's a fantastic project. I'm approaching the reproducibility problem a bit differently. Here are a few important differences for the end user:
I have been thinking about docker vs. pipenv to power this feature and there are some limitations/oddities with pipenv like below:
I agree with the sentiment that Docker containers/images might feel heavyweight for the use case. That's why we should abstract away all the 'heavy-ness' from the user. They need to only care about having the Dockerfile in the the repo (see my earlier comment about making Dockerfile generation semi-automated as well). The user doesn't need to know, how/when we create images, how containers are spawned/destroyed etc. Binder is pretty good at abstracting all that away from the users and we should aspire to do the same.
I think I was too quick to jumpy the trigger. I mainly meant to bring pipenv to your attention. In my own workflow, I actually use both. As you said pip has its limitations and it's more practical to have a base image and be able to tinker with python libs as you experiment without rebuilding your image so often.
Custom kernels are a neat feature but I doubt that they are used much today, save perhaps for R. Have you seen adoption rise for more exotic kernels?