Page MenuHomePhabricator

Set up a Wikimedia BinderHub deployment to allow PAWS-hosted public notebooks to be run
Open, Needs TriagePublic

Description

I would like to be able to launch Wikimedia-hosted notebooks using BinderHub, so as to enable Wikipedia readers to explore notebooks linked from Wikipedia et al., including interactively if they so choose. For example, the notebook linked from the External links section in the HMAC-based One-time Password algorithm article on the English Wikipedia is hosted on GitHub, so I can use the above URL pattern to launch it via Binder, but since the GitHub version can disappear or change at any moment, it would be preferable to have such Wikimedia-cited notebooks hosted on some Wikimedia infrastructure. Naturally, PAWS comes to mind here, but running PAWS-hosted notebooks currently requires a Wikimedia account (which few Wikipedia readers have), while PAWS-hosted public notebooks cannot be run directly. On the other hand, BinderHub could be configured - as on mybinder.org - such that anyone could run such notebooks (or at least those that meet certain criteria).

While we have T264603 for making it easier to fork notebooks within PAWS (which may or may not involve BinderHub), and T266943 is about being able to run PAWS-based notebooks on MyBinder.org, this ticket in turn is about deploying a BinderHub instance on Wikimedia servers.

The main issue I see with this is that PAWS-hosted notebooks are currently not versioned, while BinderHub uses Repo2Docker, which builds on git-based versioning. However, this seems a solvable problem, and for versioning notebooks via Provbook, there is T265955 .

Event Timeline

Hi @Chicocvenancio @Daniel_Mietchen - Wondering if there's anything we can do for the upcoming Hackathon related to this. Or, is enabling something like Voila practical as part of PAWS?

https://github.com/voila-dashboards/voila

Or, is enabling something like Voila practical as part of PAWS?

It is possible, not terribly hard to be honest, probably easier to reason about and get WMCS approval than full fledged binderhub. Something like is the way I would go https://github.com/voila-dashboards/voila/issues/112#issuecomment-483040508 , if there is interest and approval I could work on this during the hackathon.

Wondering if there's anything we can do for the upcoming Hackathon related to this.

Binderhub itself is something I see as being very useful to PAWS, but would require some more planing and discussion. Users would be able to install anything into their containers and that probably needs to be given some guardrails. I don't think this can be done before/at the hackathon.