Zero-to-jupyterhub-k8s: Zero to JupyterHub for Education

Created on 15 Jun 2018  Â·  6Comments  Â·  Source: jupyterhub/zero-to-jupyterhub-k8s

At the latest Jupyter meeting, there was a lot of interest in creating a distribution of JupyterHub + a guide specifically aimed towards educators. The goal was to have something that is lightweight, hits most education use-cases with minimal energy needed, and provides guidance on how to incorporate a JupyterHub into the educational process.

How do folks feel about creating a new repository that's run similar to this one called Zero to JupyterHub for Education. It wouldn't be focused on kubernetes, and would focus more on the educational questions, tips, etc.

Summary

Here's the summary of things that'd be needed (discussed @ the meeting)

  1. JupyterHub that is simple to set up, debug & upgrade (for <100 users, 1 node only)
  2. A recommended authoring storage + distribution system (something like GitHub + nbgitpuller)
  3. A recommended notebook authoring setup

    1. Make lab notebooks from ‘master’ notebooks that have solutions

    2. Automate testing of notebooks from instructors so they work when students need them to

  4. Lots of polished documentation aimed very specifically at educators (even more specifically, at grad students / graduate student admins)

    1. Potentially create jupyter-education org on github to co-ordinate this

  5. Autograding is not necessary for a 1.0
  6. Some monitoring is needed, but not necessary for 1.0
  7. Evaluate current deploy methods and validate how we can re-use them

Relevant links

  • Other tools that have been used in teaching w/ Jupyter Notebooks

    • built on nbconvert, Lindsey used at UBC

    • Berkeley: master notebook; solution then gets stripped out

    • Create a tool to filter notebook cells based tags

    • nbval - https://github.com/computationalmodelling/nbval

    • papermill

    • cookiecutter for ‘build system for courses’: public and private repos. Private repo for instructors to write code, publishes to public code.

    • QuantEcon Code Testing on Lecture Site – QuantEcon - tests their lecture notebooks daily

    • nbclean for creating student notebooks from master notebooks

more detailed notes here

cc @willingc @lheagy @yuvipanda @betatim who were the folks w/ edits in the google doc

Most helpful comment

http://words.yuvi.in/post/the-littlest-jupyterhub/ is very relevant, and summarization of one part of the conversation at the Team meeting.

All 6 comments

I'd vote for calling it "Zero to JupyterHubchen" or "Zero to JupyterHubli" because -chen/-li is the german/swiss german diminutive. (How is that for obscure naming, ey?)

It would be useful if student work could persist across classes, and as students move from undergraduate coursework to (under)graduate research. This likely requires a system user approach instead of z2jupyterhub's singleuser.

For our local GPU cluster, we're planning to set the c.KubeSpawner.uid to the user id on the cluster via #27, and use kubespawner's modify_pod_hook() to modify the pod spec to use pre-existing user namespaces/volumes/claims. If this is helpful for anyone I can follow up with our final config.

http://words.yuvi.in/post/the-littlest-jupyterhub/ is very relevant, and summarization of one part of the conversation at the Team meeting.

Could you follow up with your config @pjamason ?

Shall we close this?

yeah, I think that's OK. I think it would be helpful but perhaps out of scope for this repository, and there are other resources for helping people deploy infrastructure for education

Was this page helpful?
0 / 5 - 0 ratings