Hacker News new | past | comments | ask | show | jobs | submit login
Binder – Turn a Git repo into a collection of interactive notebooks (mybinder.org)
121 points by jonbaer on Jan 21, 2019 | hide | past | favorite | 25 comments



Binder is really amazing for Python/data science tutorial authors: I have a pandas tutorial on github, and instead of requiring everyone to install a bunch of Python libraries / set up a Docker container, now I can just link to

https://mybinder.org/v2/gh/jvns/pandas-cookbook/master

and people can try out the tutorial right away! Before Binder, running workshops always involved a TON of installation problems and it was a huge amount of work in advance to figure out how people on windows / mac / linux could all get the tools installed.


1) There's Binder, which is the infrastructure for building computational environments around repos, and BinderHub, which hosts the executable code online. Binder's model, as I understand it, is to develop the infrastructure and then have universities/institutions/whatever host BinderHub: https://binderhub.readthedocs.io/en/latest/

2) One of my favorite contributions from the team is repo2docker, which turns requirements.txt or equivalent into Dockerfiles: https://repo2docker.readthedocs.io/en/latest/, integration into binder described here https://blog.jupyter.org/binder-2-0-a-tech-guide-2017-fd4051...

3) Not just Jupyter notebooks, also R/Rstudio/Rshiny: https://github.com/binder-examples/r


Some demos and examples:

https://jupyter.org/try all the repos linked from there are backed by mybinder.org (The interpreted C++ one blows my mind)

Some examples if you want to know how to configure things: * Install Python dependencies via requirements.txt https://github.com/binder-examples/requirements

* Jupyter with R and RStudio: https://github.com/binder-examples/r

* Julia support: https://github.com/binder-examples/demo-julia

* Installing additional APT packages: https://github.com/binder-examples/apt_install

(I work on Binder)


Do you know if this can be configured to work with Sage? If so, could you link to an example or instructions?


Is this the Sage you mean: https://github.com/sagemath/sage-binder-env

Once in a while someone working with/on Sage pops up on my radar but I am not sure what the up-to-date and maintained example is unfortunately.


That’s it, yes. Thank you.


Should point out I actually found it via this doc URL where the runs are actually embedded within the template which I found pretty interesting, turns out to be part of Sphinx generation ...

https://rasa.com/docs/nlu/quickstart/

https://sphinx-gallery.readthedocs.io/en/latest/gen_modules/...


Does anyone know where Binder gets its funding from? Or how much it costs to run an operation like this?

I’m wondering if it’s economically feasible to make online textbooks and references interact-able through a Jupyter backend. I know it’s already technically possible via nb-interact, but I haven’t seen it used besides a classroom size.


https://mybinder.readthedocs.io/en/latest/about.html#who-pay...

At the current level of usage and compute resources it costs about $50000 per year to run the services, if you don't have to pay the humans that help build and run it. We are an open project, if anyone wants to join to learn more about Kubernetes, Jupyter, Ops, Python, Docker you would be very welcome. We hang out on https://gitter.im/jupyterhub/binder and https://github.com/jupyterhub/binder is a meta repository.

(I am a project lead on Binder)


Moore Foundation and Google Cloud- https://mybinder.readthedocs.io/en/latest/about.html#who-pay...

The Binder team is an incredible open team, in fact they even publish their billing data: https://github.com/jupyterhub/binder-data.

More info at: https://docs.google.com/presentation/d/1nb-baeB-XHZiPrPlBoDV...

<3 binder.



I tried it with my notebook repo at https://github.com/azer/notebook , the result wasn't impressive; https://hub.mybinder.org/user/azer-notebook-rgdv97ik/edit/bo...

Original Github view looks more clean: https://github.com/azer/notebook/blob/master/books/zero-to-o...


there should be a link to a demo already, instead of asking me for a github url


https://mybinder.org/v2/gh/norvig/pytudes/master and https://github.com/norvig/pytudes/#pytudes to see what it looks like in the original repo

(I am a project lead on binder)


I have setup one for Norvig's pytudes: https://hub.mybinder.org/user/norvig-pytudes-i2p4l9gx/tree


This link gives me a "Binder inaccessible" error, FWIW.

>Is this a Binder that you created?

>If so, your authentication cookie for this Binder has been deleted or expired. You can launch a new Binder for this repo by clicking here.

> Did someone give you this Binder link?

>If so, the link is outdated or incorrect. Recheck the link for typos or ask the person who gave you the link for an updated link. A shareable Binder link should look like https://mybinder.org.

I got the link to work by mangling it into the following format, but I'm not sure if this is what you were intending: https://mybinder.org/v2/gh/norvig/pytudes/master


That is the right link. Unfortunately we haven't yet found a good UX solution to people sharing the "wrong" link which only works for their personal instance.

(I am a project lead on binder)


Thanks, but the link seems broken.


Getting a few security errors at the moment. [1]

> Blocked by Content Security Policy

> An error occurred during a connection to github.com.

> Firefox prevented this page from loading in this way because the page has a content security policy that disallows it.

[1] https://mybinder.org/v2/gh/torvalds/linux/master


Example [1] using GitHub’s mirror of the Linux kernel [2].

[1] https://mybinder.org/v2/gh/torvalds/linux/master

[2] https://github.com/torvalds/linux


What python notebooks are in the linux kernel tree?

That sounds interesting.


I have created a side project similar to this, at the moment It is pre alpha with limited resources. https://notebooks.newrails.tech/


So, did this site get slashdotted? Getting connection refused errors.


Any examples?


I went ahead and setup one for Norvig's pytudes: https://hub.mybinder.org/user/norvig-pytudes-i2p4l9gx/tree

Here's Cheryl's birthday problem in reverse: https://hub.mybinder.org/user/norvig-pytudes-i2p4l9gx/notebo...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: