Smoothly working with the JupyterHubs maintained in this repository has a number of pre-requisite skills you must possess. The rest of the documentation assumes you have at least a basic level of these skills, and know how to get help related to these technologies when necessary.


These skills let you interact with the repository in a basic manner. This lets you do most ‘self-service’ tasks - such as adding admin users, libraries, making changes to resource allocation, etc. This doesn’t give you any skills to debug things when they break, however.

  1. Basic git & GitHub skills.

    The Git Book & GitHub Help are good resources for this.

  2. Familiarity with YAML syntax.

  3. Understanding of how packages are installed in the languages we support.

  4. Rights to merge changes into this repository on GitHub.


In addition to the basic skills, you’ll need the following skills to ‘fully’ work with this repository. Primarily, you need this to debug issues when things break - since we strive to never have things break in the same way more than twice.

  1. Knowledge of our tech stack:
    1. Kubernetes
    2. Google Cloud
    3. Helm
    4. Docker
    5. repo2docker
    6. Jupyter
    7. Languages we support: Python & R
  2. Understanding of our JupyterHub distribution, Zero to JupyterHub.
  3. Full access to the various cloud providers we use.