JupyterHub and BinderHub Team Meeting#

Welcome to the Team Meeting#

Hello!

If you are joining the team video meeting, sign in below so we know who was here. Roll call:

  • name / institution / GitHub handle

  • Min / Simula / @minrk

  • Simon Li / University of Dundee / @manics

  • Rollin Thomas / NERSC / @rcthomas

  • Erik Sundell / Sundell open source / @consideRatio

  • Eskild Eriksen / Quansight / @iameskild

  • Pierre-Olivier Simonard / Quansight / @pierrotsmnrd

  • Sarah Gibson / 2i2c / @sgibson91

  • Isabela Presedo-Floyd / Quansight Labs / @isabela-pf

  • Mridul Seth/ GESIS / @MridulS

  • Chris Holdgraf / 2i2c / @choldgraf

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.

  • add item here

  • bbjupyterhub 2.0.0rc4 out today

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.

  • add item here

  • [name=Erik] Min RK has put in a lot of effort into handling security!

  • [name=Chris] Thanks to Erik for joining a lot of conversations with the GCP team

Agenda items#

Let’s collect all potential agenda items here before the start of the meeting. We will then attempt to create a coherent agenda that fits in the 60m meeting slot. If there are similar items try and group them together.

  • [name=Your Name Here] (approx. time): topic

  • [name=Session Chair] (2m): Assigning a notetaker - volunteers welcome!

    • Notetaker: Rollin

  • [name=Min] (5m): Strict session id checking for simpler coordinated logout from Hub-authenticated services

    • github: jupyterhub/jupyterhub#3683

    • discourse RFC: https://discourse.jupyter.org/t/rfc-links-with-authentication-token-to-jupyterhub/11714/1

    • When you use OAuth it’s not normal to log out of all your things when you log out! (but expiry is often)

    • Users expect clicking logout to log you all the way out; now tokens associated with the session id are revoked now yay!!!

    • Still possible that if you are logged out of the hub you may still be logged into your notebook server for a while

    • Proposal is to check and enforce tokens when you access a single-user notebook, but link sharing with token in url would break (for instance), things using OAuth from another host also. Please discuss the proposal on discourse!

      • If you use another service on another domain, no shared cookies

  • [name=Erik] (5m): Regarding a nbgitpuller PR by Sean Morris that adds the capability to download from non-git sources. It also includes three plugin repos being transferred into the JupyterHub org

    • jupyterhub/nbgitpuller-downloader-dropbox

    • jupyterhub/nbgitpuller-downloader-generic-web

    • jupyterhub/nbgitpuller-downloader-googledrive

    • Erik would like some feedback on creating 3 repos in the org, each representing one separate plug-in for the nbgitpuller system. Feedback is positive, go go go!

    • Chris: Currently nbgitpuller is “tied” to JupyterHub. This allows arbitrary rules for pulling in content into a single user session. Is “nbgitpuller” the right name for the tool? Is there a more descriptive name of what it’s doing? “Pully McPullface” is the current suggestion (ha)

    • Sarah wants to pull in cool images from zenodo so she’s super excited!

  • [name=Isabela] (3m): We have a draft roadmap for accessibility grant work! We want to make sure it has the info teh community wants, so this will be a time for quick review.

    • PR for roadmap (you can leave thoughts outside this meeting too!)

    • Preview of site for roadmap have a look!

    • Starting point is JupyterLab

    • Isabela is looking for feedback on the PR

    • Simon asked how much of the grant is on JupyterLab vs other components:

      • First year is very focused on JupyterLab

      • Second year is focused on taking things learned in the first year and moving it to other components

      • Making documentation more accessible

      • Lack of records/ideas on how to address scientific things (e.g. what’s alt text for a scientific diagram?)

    • Chris mentions that other places where users run into accesibility issues is on documentation. PyData Sphinx and Jupyter Book. May be low-hanging fruit on documentation, offers to help brainstorm.

    • Min is interested in what things are going to be generic and applicable to the JupyterHub side. Scope is a bit smaller on the Hub side since it’s a few pages

    • Tony says there might be a community format that can help with Min’s comment. Sphinx, nbconvert/nbviewer and JupyterLab are the 3 main challenges. Proposal for transitioning from classic discussed tomorrow at Governance Meeting, JEP coming soon. When RetroLab becomes Classic replacement: improved accessibility. Things will “propagate up!”

    • Erik asks about examples of the most important things to address for accessibility. A: Percievable, operable, understandable, and robust. But lot of different ways to achieve that with different tools. Some things that can help a lot:

      • Text is most transformable though, so if everything is text, it can be read aloud, digital Braille, converted etc.

      • Being able to navigate with keyboard. If things can be mapped to keyboard keys, then they can usually be mapped to other tools as well.

      • Only one h1 on a page!

      • Extensions in browsers for exploring accessibility, simulating experience and auditing

    • Please invite people to participate and join the accessibility meeting

  • [name=Chris] (5m): New cloud resources for mybinder.org

    • New jupyter.org GCP organization

    • Can we transfer mybinder.org ownership there as well?

    • Question 1: Process for giving access to the organization? Just let everyone have access?

    • Question 2: How to transfer ownership of mybinder.org away from Chris to e.g. jupyter.org Google Cloud organization?

      • Should be somewhat easy to transfer to Google Domains depending on what country it’s in

      • Check if Google Domains feature is available after the meeting

      • Will this be disruptive? Possible for things to go awry, make sure new domain has same DNS records as before then you should be OK. Be aware registrar and DNS aren’t in the same place (DNS Cloudflare)

      • Chris asking for help when it’s go time

      • Erik asks if we can go? What’s fallback plan and when is the best time to do this (lowest usage during the week)?

        • Expected failures should be instant

        • Need to be able to loop in Google folks (email)

        • Lowest usage time is European morning, probably Monday morning

      • Sarah suggests sending a heads up to users ahead of time so they know things are happening on the back-end

      • Can you repoint in DNS if things go bad (e.g. to Turing or OVH)? In principle.

  • [name=Rollin] (5m)

    • Security documentation at TrustedCI

    • trustedci/jupyter-security-docs

    • wrapping up with TrustedCI around end of the year

    • expect PRs on security docs across Jupyter

    • Reminder that the security meeting is on Fridays on the community calendar

    • In the future, it would be great to have projects define code that they think would benefit from review around security to better use the time of experts

    • Min mentions PhD student position for security

  • [name=Tony] (5m)

    • Made a binder that takes as many community tools from JupyterLab as possible. All the widgets! All the tools!

    • Designed to work for 1 hour! Hour House

    • Paper from 1996 from ACM about creating spaces

    • “Binder AirBnB”

    • It’s got Jitsi

    • It’s got VSCode

    • Dive into the experience without grabbing all the tools, they’re already there