JupyterHub and BinderHub Team Meeting - November#

Meeting details#

Date: Thursday, November 21, 5PM UTC

The call will start with a quick round of updates from everyone present (you can pass if you want to), followed by bigger agenda items. There will be no feedback/questions on the 60s updates. Questions/discussion on the larger agenda items will be moderated by a speaker list (see end of this hackmd).


  • name | institution | GitHub handle

  • Simon | Open Microscopy Environment / University of Dundee | @manics

  • Philip Durbin | Dataverse / Harvard | @pdurbin

  • Ana Trisovic | Dataverse / Harvard | @atrisovic

  • Tim | Binder | @betatim

  • Erik Sundell | Sandvik | @consideratio

  • Kirstie Whitaker | Alan Turing Institute | @KirstieJane

  • Zach Sailer | Cal Poly | @Zsailer

  • Sarah Gibson | The Alan Turing Institute | @sgibson91

  • Arnim Bleier | GESIS | @arnim

  • Chris Holdgraf | UC Berkeley | @choldgraf

  • Chico Venancio | BMC Group K. K. | @chicocvenancio

Quick updates#

60 second updates on things you have been up to, questions you have, or developments you think people should know about. Please add yourself, and if you do not have an update to share, you can pass.

  • [name=myname] My update!

Reports and celebrations#

This is a place to make announcements (without a need for discussion). This is also a great place to give shout-outs to contributors! We’ll read through these at the beginning of the meeting.

  • [name=myname] My report!

  • [name=Tim] Huge thank you to those working on getting oauthenticator, kubespawner, and so on on track for a release as well as more automation!!

  • [name=Tim] Lots of respect to @bitnik for running the GESIS cluster that now takes up to 200 pods to help power mybinder.org (peak load on all of mybinder.org is maybe 700-800 pods)!

  • [name=Chris] I’ve been slowly converting out documentation theme to something new (e.g. here’s the team compass page now). It’s a theme we’re collaborating on with the Pandas community. Would love to hear suggestions for improvements etc in that repository.

  • [name=Chris] the GKE deployment lives another year.

  • [name=Chris] Chris made a little logo generator illustrator file. I’ll put it in the shared Google drive. (let me know if there’s a better place to put it so others can use it)

  • [name=Erik] Chris made github-activity and it has made me very hapy to have a way to quickly generate ChangeLog’s.

    • [name=ch] <3

  • [name=Kirstie] Cool write up in Nature about containers for research: Make code accessible with these cloud services

  • [name=Kirstie] Congratulations to Binder & JupyterHub for getting the CZI funding! (On the agenda below, but just wanted to celebrate too!)

    • [name=ch] <3

Agenda items#

This is what we’ll cover in the meeting (we have about 60m in total). We’ll copy the proposed agenda topics above here just before the meeting.

  • Add agenda item here [name, estimated time for conversation]

  • Add Dataverse to Binder UI: jupyterhub/binderhub#969 [name=Philip, 5 minutes]

    • The Dataverse project would love for the Binder project to create an “external tool manifest” (we’ll help!) so that Binder can be listed on a future version of http://guides.dataverse.org/en/4.18/admin/external-tools.html

      • To learn more about Dataverse, dataverse.org is the place to go! Also demo.dataverse.org!

      • What is the difference between an external tool and having a link like mybinder.org/v2/dataverse/some-doi-here? There is very little difference. We even document external tools as a “glorified hyperlink”. :smile:

      • [name=Tim] let’s try and get the PR on BinderHub merged! +1

      • CodeMeta project: https://codemeta.github.io

      • The Jupyter Notebook we demoed: https://mybinder.org/v2/zenodo/10.7910/DVN/EOYZKH/

      • Follow up questions can be directed to “pdurbin” in http://chat.dataverse.org or Binder Gitter.

  • Workflow to standardize CI, CD, ReadTheDocs, and other building blocks common across repositories [name=Tim,Erik], 5min

    1. One or more pilot projects implements something that can be considered a typical building block, like getting CD of PyPI a package with TravisCI.

    2. We write documentation in team-compass on the implementation of the typical building block, allowing others to better reproduce it in other JupyterHub repositories.

    3. We create an overview of repositories and where this pattern has been implemented. This can be just next to the docs created in step two for for example, at least initially.

    • [name=ch] yessssss, tim likes it too!

    • Discussion: jupyterhub/team-compass#213

      • take a look at the many different ways of doing the same ting

    • Where do we add these “recipes” to the documentation?

      • add a new top level section and then one sub-section per recipe

  • CZI funding for contributor in residence [name=Tim]

  • Experimenting with persistence [name=Manics,Tim]

    • jupyterhub/binderhub#1007

    • start with a small notebook extension to see if we can store and restore notebooks from a user’s browser

    • to work on this you need to have some JS skills and know how notebook extensions are made (or want to learn those things)

    • we could also send stuff to somewhere like Dataverse as a way to persist notebooks from users

      • think “remixing” other people’s work

  • A new round of releases [name=Chris,Erik]

    • Erik recently opened an issue to release a new z2jh. This will require releases in a number of other JupyterHub projects as well, which seems like a good idea since it’s been a while.

      • Who is interested in helping with this process?

        • could you put the list of (small) items to do per repo in the issue?

          • generate changelog (use github-activity from Chris)

          • help make the building of PyPI or other packages automatic

          • find out if there are PRs that should be merged before the release

          • help with pinging PR authors on PRs that should be merged

          • help with reviewing PRs that need to be merged

  • Dataverse demo! :D