SlideShare a Scribd company logo
1 of 28
Download to read offline
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
2
UNDERSTANDING JUPYTERHUB
IN 1,000 (AND MAYBE A FEW MORE) COMMON WORDS
https://xkcd.com/simplewriter/
3
— Leonardo da Vinci
THE NOBLEST PLEASURE IS
THE JOY OF
UNDERSTANDING.
”
“
4
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
BASICS
6
7
HUB
A WAY TO GIVE A
JUPYTER NOTEBOOK
SERVER TO EACH
PERSON IN A GROUP
OF PEOPLE.
WHAT IS A NOTEBOOK?
• Document
• Environment
• Web app
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
8
9
JUPYTER NOTEBOOK
Python
R
Julia
View and Enter
Stuff Part
Language Expert Thing
Important Stuff
Organizer and
Doing Thing
10
A SINGLE USER JUPYTER NOTEBOOK SERVER
Python
R
Julia
11
A THING TO GIVE A
JUPYTER NOTEBOOK
SERVER
TO EACH PERSON IN
A GROUP OF PEOPLE.
HUB
HOW IT WORKS
12
• Manages
authentication
• Spawns single-user
notebook servers
on-demand
• Gives each user a
complete notebook
server
13
WHAT DOES THE HUB DO?
• Hub (User Database,
Authenticator,
Spawner)
• Users and their
individual notebook
servers
• Configurable HTTP
Proxy
14
THE PARTS OF JUPYTERHUB
15
USER DATABASE
A PLACE TO KEEP
INFORMATION ABOUT PEOPLE
USING JUPYTERHUB
WHAT THE HUB CONTAINS
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
17
SPAWNER
A WORKER BEE THAT
MAKES JUPYTER NOTEBOOK
SERVERS FOR PEOPLE
WHAT THE HUB CONTAINS
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/
WHEN SHOULD
I USE IT?
19
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
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.
RESOURCES
AND HELP
22
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
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
25
All repos in jupyterhub organization
on GitHub
https://github.com/jupyterhub
Help
JupyterHub Documentation
http://jupyterhub.readthedocs.io/en/latest/index.html
THANKS!
26
HUB
Carol Willing
Project Jupyter at Cal Poly SLO
Twitter: @willingcarol
GitHub: @willingc
A THING TO GIVE EACH PERSON
THEIR OWN SHINY JUPYTER
NOTEBOOK SERVER
http://bit.ly/jupyterhub-pdc
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
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

More Related Content

What's hot

Cross language information retrieval (clir)slide
Cross language information retrieval (clir)slideCross language information retrieval (clir)slide
Cross language information retrieval (clir)slide
Mohd Iqbal Al-farabi
 
Big Data At Spotify
Big Data At SpotifyBig Data At Spotify
Big Data At Spotify
Adam Kawa
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Dvir Volk
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
MongoDB
 

What's hot (20)

How the Lucene More Like This Works
How the Lucene More Like This WorksHow the Lucene More Like This Works
How the Lucene More Like This Works
 
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
[Langcon2020]롯데의 딥러닝 모델은 어떻게 자기소개서를 읽고 있을까?
 
Data ingestion and distribution with apache NiFi
Data ingestion and distribution with apache NiFiData ingestion and distribution with apache NiFi
Data ingestion and distribution with apache NiFi
 
Cross language information retrieval (clir)slide
Cross language information retrieval (clir)slideCross language information retrieval (clir)slide
Cross language information retrieval (clir)slide
 
Big Data At Spotify
Big Data At SpotifyBig Data At Spotify
Big Data At Spotify
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
ONNX and MLflow
ONNX and MLflowONNX and MLflow
ONNX and MLflow
 
Strongly Consistent Global Indexes for Apache Phoenix
Strongly Consistent Global Indexes for Apache PhoenixStrongly Consistent Global Indexes for Apache Phoenix
Strongly Consistent Global Indexes for Apache Phoenix
 
Data driven-products-now
Data driven-products-nowData driven-products-now
Data driven-products-now
 
Introduction to Presto at Treasure Data
Introduction to Presto at Treasure DataIntroduction to Presto at Treasure Data
Introduction to Presto at Treasure Data
 
Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...
Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...
Bart : Denoising Sequence-to-Sequence Pre-training for Natural Language Gener...
 
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity PlanningFrom Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
 
Hudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilitiesHudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilities
 
Building a Microservices-based ERP System
Building a Microservices-based ERP SystemBuilding a Microservices-based ERP System
Building a Microservices-based ERP System
 
Scala Data Pipelines @ Spotify
Scala Data Pipelines @ SpotifyScala Data Pipelines @ Spotify
Scala Data Pipelines @ Spotify
 
File Format Benchmark - Avro, JSON, ORC & Parquet
File Format Benchmark - Avro, JSON, ORC & ParquetFile Format Benchmark - Avro, JSON, ORC & Parquet
File Format Benchmark - Avro, JSON, ORC & Parquet
 
Golang Vs Rust
Golang Vs Rust Golang Vs Rust
Golang Vs Rust
 
Moderne & flexible Architektur mit BW/4HANA
Moderne & flexible Architektur mit BW/4HANAModerne & flexible Architektur mit BW/4HANA
Moderne & flexible Architektur mit BW/4HANA
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Introduction to Apache ZooKeeper | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Apache ZooKeeper | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Apache ZooKeeper | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Apache ZooKeeper | Big Data Hadoop Spark Tutorial | CloudxLab
 

Viewers also liked

Viewers also liked (10)

Infrastructure for the work of Data Scientists
Infrastructure for the work of Data ScientistsInfrastructure for the work of Data Scientists
Infrastructure for the work of Data Scientists
 
Journey to Jupyter
Journey to JupyterJourney to Jupyter
Journey to Jupyter
 
Python - The People's Programming Language
Python - The People's Programming LanguagePython - The People's Programming Language
Python - The People's Programming Language
 
Chimera States in Networks of Coupled Oscillators
Chimera States in Networks of Coupled OscillatorsChimera States in Networks of Coupled Oscillators
Chimera States in Networks of Coupled Oscillators
 
Data, decision making, and being human
Data, decision making, and being humanData, decision making, and being human
Data, decision making, and being human
 
A Raspberry Pi Hexy - Python Conference PH 2016
A Raspberry Pi Hexy -  Python Conference PH 2016A Raspberry Pi Hexy -  Python Conference PH 2016
A Raspberry Pi Hexy - Python Conference PH 2016
 
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
 
Webinar: Deep Learning with H2O
Webinar: Deep Learning with H2OWebinar: Deep Learning with H2O
Webinar: Deep Learning with H2O
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformation
 

Similar to JupyterHub - A "Thing Explainer" Overview

Drupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engineDrupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engine
Nikolay Ignatov
 

Similar to JupyterHub - A "Thing Explainer" Overview (20)

JupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewJupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" Overview
 
Jupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and EducationJupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and Education
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShift
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons Learned
 
Computable Content
Computable ContentComputable Content
Computable Content
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
 
Singularity Registry HPC
Singularity Registry HPCSingularity Registry HPC
Singularity Registry HPC
 
Jupyter news August 2016
Jupyter news August 2016Jupyter news August 2016
Jupyter news August 2016
 
Data visualisation in python tool - a brief
Data visualisation in python tool - a briefData visualisation in python tool - a brief
Data visualisation in python tool - a brief
 
Open sourcery
Open sourceryOpen sourcery
Open sourcery
 
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science Collaboration
 
Drupal contribution
Drupal contribution Drupal contribution
Drupal contribution
 
Drupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engineDrupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engine
 
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
 
Open experiments and open-source
Open experiments and open-sourceOpen experiments and open-source
Open experiments and open-source
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Computable content: Notebooks, containers, and data-centric organizational le...
Computable content: Notebooks, containers, and data-centric organizational le...Computable content: Notebooks, containers, and data-centric organizational le...
Computable content: Notebooks, containers, and data-centric organizational le...
 
Getting a Neural Network Up and Running with OpenLab
Getting a Neural Network Up and Running with OpenLabGetting a Neural Network Up and Running with OpenLab
Getting a Neural Network Up and Running with OpenLab
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 

More from Carol Willing

2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers
Carol Willing
 
2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group
Carol Willing
 
2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting
Carol Willing
 
PyCon Poster 2014 music21
PyCon Poster 2014 music21PyCon Poster 2014 music21
PyCon Poster 2014 music21
Carol Willing
 
PyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meetingPyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meeting
Carol Willing
 

More from Carol Willing (16)

Interactive Computing in Computer Science
Interactive Computing in Computer ScienceInteractive Computing in Computer Science
Interactive Computing in Computer Science
 
Machine Learning and Jupyter
Machine Learning and JupyterMachine Learning and Jupyter
Machine Learning and Jupyter
 
STEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubSTEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHub
 
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and CommunityLearning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and Community
 
Jupyter and Music
Jupyter and MusicJupyter and Music
Jupyter and Music
 
JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetes
 
JupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterCon
 
Python and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for LearningPython and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for Learning
 
JupyterHub, User Groups, and You
JupyterHub, User Groups, and YouJupyterHub, User Groups, and You
JupyterHub, User Groups, and You
 
Yes, you can git!
Yes, you can git!Yes, you can git!
Yes, you can git!
 
Finding your groove
Finding your grooveFinding your groove
Finding your groove
 
2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers
 
2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group
 
2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting
 
PyCon Poster 2014 music21
PyCon Poster 2014 music21PyCon Poster 2014 music21
PyCon Poster 2014 music21
 
PyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meetingPyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meeting
 

Recently uploaded

Recently uploaded (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

JupyterHub - A "Thing Explainer" Overview

  • 1. 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
  • 2. 2
  • 3. UNDERSTANDING JUPYTERHUB IN 1,000 (AND MAYBE A FEW MORE) COMMON WORDS https://xkcd.com/simplewriter/ 3
  • 4. — Leonardo da Vinci THE NOBLEST PLEASURE IS THE JOY OF UNDERSTANDING. ” “ 4
  • 5. 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
  • 7. 7 HUB A WAY TO GIVE A JUPYTER NOTEBOOK SERVER TO EACH PERSON IN A GROUP OF PEOPLE.
  • 8. WHAT IS A NOTEBOOK? • Document • Environment • Web app https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers 8
  • 9. 9 JUPYTER NOTEBOOK Python R Julia View and Enter Stuff Part Language Expert Thing Important Stuff Organizer and Doing Thing
  • 10. 10 A SINGLE USER JUPYTER NOTEBOOK SERVER Python R Julia
  • 11. 11 A THING TO GIVE A JUPYTER NOTEBOOK SERVER TO EACH PERSON IN A GROUP OF PEOPLE. HUB
  • 13. • Manages authentication • Spawns single-user notebook servers on-demand • Gives each user a complete notebook server 13 WHAT DOES THE HUB DO?
  • 14. • Hub (User Database, Authenticator, Spawner) • Users and their individual notebook servers • Configurable HTTP Proxy 14 THE PARTS OF JUPYTERHUB
  • 15. 15 USER DATABASE A PLACE TO KEEP INFORMATION ABOUT PEOPLE USING JUPYTERHUB WHAT THE HUB CONTAINS
  • 16. 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
  • 17. 17 SPAWNER A WORKER BEE THAT MAKES JUPYTER NOTEBOOK SERVERS FOR PEOPLE WHAT THE HUB CONTAINS
  • 18. 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/
  • 20. 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
  • 21. 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.
  • 23. 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
  • 24. 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
  • 25. 25 All repos in jupyterhub organization on GitHub https://github.com/jupyterhub Help JupyterHub Documentation http://jupyterhub.readthedocs.io/en/latest/index.html
  • 26. THANKS! 26 HUB Carol Willing Project Jupyter at Cal Poly SLO Twitter: @willingcarol GitHub: @willingc A THING TO GIVE EACH PERSON THEIR OWN SHINY JUPYTER NOTEBOOK SERVER http://bit.ly/jupyterhub-pdc
  • 27. 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
  • 28. 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