JupyterHub - A "Thing Explainer" Overview
-
Upload
carol-willing -
Category
Technology
-
view
403 -
download
4
Transcript of JupyterHub - A "Thing Explainer" Overview
![Page 1: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/1.jpg)
A “THING EXPLAINER” OVERVIEW
Twitter: @willingcarol GitHub: @willingc
1
Carol Willing Project Jupyter at Cal Poly SLO
PyData Carolinas September 16, 2016
http://bit.ly/jupyterhub-pdc
![Page 2: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/2.jpg)
2
![Page 3: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/3.jpg)
UNDERSTANDING JUPYTERHUBIN 1,000 (AND MAYBE A FEW MORE) COMMON WORDS
https://xkcd.com/simplewriter/3
![Page 4: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/4.jpg)
— Leonardo da Vinci
THE NOBLEST PLEASURE IS THE JOY OF
UNDERSTANDING.
”
“
4
![Page 5: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/5.jpg)
LEONARDO MEETS THING EXPLAINER
5
• what this talk is A user friendly JupyterHub introduction
• what it is not A deep dive architecture talk or a “hands on” workshop..though I will give you resources to these things along the way
• Who Scientists, researchers, engineers, managers, teachers, you
• why Understanding the major parts that make up JupyterHub to help with planning, trial, and deployment
UNDERSTANDING JUPYTERHUB
![Page 6: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/6.jpg)
BASICS
6
![Page 7: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/7.jpg)
7
HUB
A WAY TO GIVE A JUPYTER NOTEBOOK SERVER TO EACH
PERSON IN A GROUP OF PEOPLE.
![Page 8: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/8.jpg)
WHAT IS A NOTEBOOK?
• Document
• Environment
• Web app
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
8
![Page 9: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/9.jpg)
9
JUPYTER NOTEBOOK
PythonR
Julia
View and Enter Stuff Part
Language Expert Thing
Important Stuff Organizer and Doing Thing
![Page 10: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/10.jpg)
10
A SINGLE USER JUPYTER NOTEBOOK SERVER
PythonR
Julia
![Page 11: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/11.jpg)
11
A THING TO GIVE A JUPYTER NOTEBOOK
SERVER TO EACH PERSON IN A GROUP OF PEOPLE.
HUB
![Page 12: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/12.jpg)
HOW IT WORKS
12
![Page 13: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/13.jpg)
• Manages authentication
• Spawns single-user notebook servers on-demand
• Gives each user a complete notebook server
13
WHAT DOES THE HUB DO?
![Page 14: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/14.jpg)
• Hub (User Database, Authenticator, Spawner)
• Users and their individual notebook servers
• Configurable HTTP Proxy
14
THE PARTS OF JUPYTERHUB
![Page 15: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/15.jpg)
15
USER DATABASE
A PLACE TO KEEP INFORMATION ABOUT PEOPLE
USING JUPYTERHUB
WHAT THE HUB CONTAINS
![Page 16: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/16.jpg)
16
AUTHENTICATOR
A THING THAT CHECKS: • IF A PERSON IS WHO THEY CLAIM
TO BE • IF THEY CAN USE THEIR
JUPYTERHUB NOTEBOOK SERVER
WHAT THE HUB CONTAINS
![Page 17: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/17.jpg)
17
SPAWNER
A WORKER BEE THAT MAKES JUPYTER NOTEBOOK
SERVERS FOR PEOPLE
WHAT THE HUB CONTAINS
![Page 18: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/18.jpg)
18
HUB
UNDERSTANDING Human 2
Human 4
Human 1 Human 3 Human 5
Human 6
Human 1’s Notebook Server
Human 2
Human 3
Human 4
Human 5
Human 6
CONFIGURABLE HTTP PROXY
/hub/
/api/auth
/user/human4/
![Page 19: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/19.jpg)
WHEN SHOULD I USE IT?
19
![Page 20: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/20.jpg)
When to use JupyterHub• A class where students can do homework (nbgrader)
• A short-lived workshop, especially if installation is hard
• A research group with a shared workstation or small cluster
• On-site computing resources for researchers and analysts at an institution
20
![Page 21: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/21.jpg)
When not to use JupyterHub
• tmpnb: anonymous, ephemeral notebooks
• binder: tmpnb + GitHub repos
• SageMathCloud is hosted and provides realtime-collaboration
21
Remember: JupyterHub is Authenticated and Persistent.
![Page 22: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/22.jpg)
RESOURCES AND HELP
22
![Page 23: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/23.jpg)
23
https://github.com/jupyterhub/jupyterhub-deploy-docker docker-compose, DockerSpawner, Hub in Docker
https://github.com/jupyterhub/jupyterhub-deploy-teaching ansible, no docker, nbgrader
Reference Deployments
![Page 24: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/24.jpg)
24
JupyterHub mini-workshop July 2016
https://github.com/jupyterhub/jupyterhub-2016-workshop
Tutorial and Workshop
JupyterHub tutorial based on PyData London talk by Min Ragan-Kelley https://github.com/jupyterhub/jupyterhub-tutorial
![Page 25: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/25.jpg)
25
All repos in jupyterhub organization on GitHub
https://github.com/jupyterhub
Help
JupyterHub Documentation http://jupyterhub.readthedocs.io/en/latest/index.html
![Page 26: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/26.jpg)
THANKS!
26
HUB
Carol Willing Project Jupyter at Cal Poly SLOTwitter: @willingcarol GitHub: @willingc
A THING TO GIVE EACH PERSON THEIR OWN SHINY JUPYTER
NOTEBOOK SERVER
http://bit.ly/jupyterhub-pdc
![Page 27: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/27.jpg)
Attribution
• xkcd https://xkcd.com/license.html
• Leonardo da Vinci. BrainyQuote.com, Xplore Inc, 2016. http://www.brainyquote.com/quotes/quotes/l/leonardoda154285.html, accessed August 12, 2016.
• https://xkcd.com/simplewriter/
• https://xkcd.com/386/
• PyData London Talk by Min Ragan-Kelley, Thomas Kluyver, and Kyle Kelly
27
![Page 28: JupyterHub - A "Thing Explainer" Overview](https://reader034.fdocuments.net/reader034/viewer/2022042619/5880029c1a28ab3a1e8b7e9b/html5/thumbnails/28.jpg)
PREVIEW
JUPYTERLAB
• Repo: https://github.com/jupyter/jupyterlab
• Preview GIF https://raw.githubusercontent.com/jupyter/jupyterlab/master/jupyter-plugins-demo.gif
• Prerequisite: Jupyter notebook 4.2+
• Install (conda): conda install -c conda-forge jupyterlab
• Install (pip): pip install jupyterlab jupyter serverextension enable --py jupyterlab --sys-prefix
• Run: jupyter lab
28