Slide 1

Slide 1 text


 Getting Started with JupyterHub, Binder, and JupyterLab Carol Willing, Project Jupyter Binder Team JupyterHub Team JupyterLab Team @WillingCarol Oct. 5, 2018

Slide 2

Slide 2 text

Hi and Welcome Steering Council, Project Jupyter Core Developer, Project Jupyter Software Engineer, Cal Poly SLO Fellow, Python Software Foundation Core Developer, CPython Geek in Residence, Fab Lab San Diego Carol Willing @willingcarol

Slide 3

Slide 3 text

1. Overview 1.1. Interactive Discussion and Hands On 1.2. Schedule: 3 hours (15 minute break) 2. Jupyter Notebooks 2.1. What is a notebook? 2.2. Where are we today? 3. JupyterLab - The Next Generation 3.1. Building blocks 3.2. State of JupyterLab 3.3. A Whirlwind Tour @WillingCarol Agenda

Slide 4

Slide 4 text

4. JupyterHub 4.1. The Littlest JupyterHub 4.2. Zero to JupyterHub on Kubernetes 5. BinderHub and mybinder.org 6. Wrap up 6.1. Resources 6.2. Questions @WillingCarol Agenda

Slide 5

Slide 5 text


 The Jupyter Notebook

Slide 6

Slide 6 text

Learning and computational ideas Usability Reproducibility Collaboration Prediction Recommendation Classification

Slide 7

Slide 7 text


 Jupyter Notebook • Interactive, browser-based computing environment • Exploratory data science, ML, visualization, analysis, stats • Reproducible document format: • Code • Narrative text (markdown) • Equations (LaTeX) • Images, visualizations • Over 50 programming languages • Everything open-source (BSD license) Interactive, Exploratory, Reproducible

Slide 8

Slide 8 text


 Jupyter Notebook A Jupyter Notebook document with a visualization of measles data.

Slide 9

Slide 9 text


 Project Jupyter: Where are we today?

Slide 10

Slide 10 text


 Millions of Notebooks https://github.com/trending/jupyter-notebook

Slide 11

Slide 11 text


 Millions of Users https://github.com/jupyter/design/blob/master/surveys/2015-notebook-ux/analysis/report_dashboard.ipynb

Slide 12

Slide 12 text


 Enabling Reproducible Science https://losc.ligo.org/about/

Slide 13

Slide 13 text


 Live Code on Binder https://beta.mybinder.org/v2/gh/minrk/ligo-binder/master?filepath=index.ipynb https://losc.ligo.org/tutorials/ LIGO Binder

Slide 14

Slide 14 text


 Enabling Open Data Journalism

Slide 15

Slide 15 text


 Authoring Interactive Books https://www.oreilly.com/ideas/jupyter-at-oreilly O’Reilly Atlas authoring platform incorporating live code

Slide 16

Slide 16 text


 Classic Jupyter: More Than Just Notebooks

Slide 17

Slide 17 text

1. Overview 1.1. Interactive Discussion and Hands On 1.2. Schedule: 3 hours (15 minute break) 2. Jupyter Notebooks 2.1. What is a notebook? 2.2. Where are we today? 3. JupyterLab - The Next Generation 3.1. Building blocks 3.2. State of JupyterLab 3.3. A Whirlwind Tour @WillingCarol Agenda

Slide 18

Slide 18 text


 Introducing JupyterLab

Slide 19

Slide 19 text



 JupyterLab: The Evolution of the Jupyter Notebook The JupyterLab Team Chris Colbert, Jupyter Steven Silvester, Quansight Afshin Darian, Jupyter Ian Rose, Berkeley Jason Grout, Bloomberg Brian Granger, Cal Poly Jessica Forde, Jupyter Grant Nestor, Cal Poly Cameron Oelsen, Cal Poly Fernando Perez, LBNL/Berkeley Cal Poly Interns The Larger Jupyter Team @jupyterlab on GitHub @ProjectJupyter on Twitter

Slide 20

Slide 20 text


 JupyterLab: Integrated Experience

Slide 21

Slide 21 text


 Building Blocks for Interactive Computing

Slide 22

Slide 22 text


 Kernels Output Text Editor Terminal File Browser Notebooks Building Blocks

Slide 23

Slide 23 text


 JupyterLab • Work with the building blocks in a flexible and integrated manner • Modern JavaScript development: npm-based packaging, Typescript, phosphor.js • Clean model/view separation • Well separated public/private APIs • Fully extensible by third parties • High performance • Design! Building Blocks

Slide 24

Slide 24 text


 January 2018 •https://github.com/jupyterlab •~2.5 years worth of development •~100 contributors, ~60 components •~1,800 releases (npm+python) •Over 11,000 commits, ~classic notebook •Currently Beta JupyterLab Today

Slide 25

Slide 25 text


 Roadmap • Beta releases, January 2018 • For all users • For adventurous extension developers • 1.0 this year • For all users, extension developers • Eventually: • Classic notebook will be retired JupyterLab Beta: Use It Today conda install -c conda-forge jupyterlab or pip install jupyterlab

Slide 26

Slide 26 text

A Whirlwind Tour of JupyterLab

Slide 27

Slide 27 text

New implementation of the notebook

Slide 28

Slide 28 text

Collapsible cells and draggable cells

Slide 29

Slide 29 text

Collaboration between tools A log in the console of commands executed Explore data in console without messing up your notebook

Slide 30

Slide 30 text

Editors Many different editors; preview markdown

Slide 31

Slide 31 text

Editor connected to a console Connect to console and Shift-Enter to run code snippet

Slide 32

Slide 32 text

Single document mode Shift-Command-Enter to enter single document mode. Similar to classic notebook.

Slide 33

Slide 33 text

Extensible “In one night and a couple of dozen lines of code we wrote a Fasta viewer.”

Slide 34

Slide 34 text

Becomes a notebook extension With the same code, the Fasta viewer becomes an extension usable in the notebook.

Slide 35

Slide 35 text

Datasets, grids, and scale 1.2M rows 200Mb csv file. Excel can’t open. A few seconds to load and then “smooth as butter” when scrolling. Rumor has it that Chris Colbert has a trillion row by column demo too.

Slide 36

Slide 36 text

Live Demo @WillingCarol (Why? Because it's cool how responsive JupyterLab is.)

Slide 37

Slide 37 text

•Drag-and-drop cells in and between notebooks •Run code blocks interactively from text files (.py, .R, .md, .tex, etc.) •Link a code console to a notebook kernel to explore code interactively without cluttering up the notebook with temporary scratch work •Edit popular file formats with live preview, such as Markdown, JSON, CSV, Vega, VegaLite, and more @twitter handle New Functionality

Slide 38

Slide 38 text

SciPy Tutorial 2018 Talk: JupyterLab - The Next Generation JupyterLab Documentation jupyter.org try.jupyter.org Gallery of Interesting Notebooks @WillingCarol Resources • JupyterLab • Jupyter Widgets • JupyterCon

Slide 39

Slide 39 text

4. JupyterHub 4.1. The Littlest JupyterHub 4.2. Zero to JupyterHub on Kubernetes 5. BinderHub and mybinder.org 6. Wrap up 6.1. Resources 6.2. Questions @WillingCarol Agenda

Slide 40

Slide 40 text

JupyterHub Computational Thinking for Groups @WillingCarol

Slide 41

Slide 41 text

@WillingCarol zero-to-jupyterhub.readthedocs.io Kubernetes

Slide 42

Slide 42 text

@WillingCarol JupyterHub: Deploy with Kubernetes https://zero-to-jupyterhub.readthedocs.io/en/latest/

Slide 43

Slide 43 text

Solving problems using machine learning Usability Reproducibility Collaboration

Slide 44

Slide 44 text

The Littlest JupyterHub @twitter handle

Slide 45

Slide 45 text

Zero to JupyterHub with Kubernetes @twitter handle

Slide 46

Slide 46 text

4. JupyterHub 4.1. The Littlest JupyterHub 4.2. Zero to JupyterHub on Kubernetes 5. BinderHub and mybinder.org 6. Wrap up 6.1. Resources 6.2. Questions @WillingCarol Agenda

Slide 47

Slide 47 text

Binder https://blog.jupyter.org/binder-2-0-a-tech-guide-2017-fd40515a3a84 https://elifesciences.org/labs/8653a61d/introducing-binder-2-0-share-your- interactive-research-environment https://www.nature.com/articles/d41586-018-01322-9 mybinder.org

Slide 48

Slide 48 text

Build your own BinderHub https://binderhub.readthedocs.io/en/latest/

Slide 49

Slide 49 text

4. JupyterHub 4.1. The Littlest JupyterHub 4.2. Zero to JupyterHub on Kubernetes 5. BinderHub and mybinder.org 6. Wrap up 6.1. Resources 6.2. Questions 6.3. Thank you and appreciation @WillingCarol Agenda

Slide 50

Slide 50 text

@twitter_handle

Slide 51

Slide 51 text

Get Involved @twitter handle Gitter Chat gitter.im/jupyterhub/jupyterhub gitter.im/jupyterhub/binder gitter.im/jupyterlab/jupyterlab Mailing list groups.google.com/forum/#!forum/jupyter groups.google.com/forum/#!forum/binderhub Deploy your own JupyterHub z2jh.jupyter.org Deploy your own BinderHub binderhub.readthedocs.io

Slide 52

Slide 52 text

Thank You @twitter_handle

Slide 53

Slide 53 text

• Project Jupyter team and community • JupyterLab team • JupyterHub and Binder teams Attributions and recognition

Slide 54

Slide 54 text

Questions? https://jupyter.org @twitter_handle