Skip to content

Latest commit

 

History

History
338 lines (208 loc) · 8.46 KB

File metadata and controls

338 lines (208 loc) · 8.46 KB
marp theme paginate
true
default
true
<style> section::after { content: attr(data-marpit-pagination) '/' attr(data-marpit-pagination-total); } img[alt~="center"] { display: block; margin: 0 auto; } </style>

bg fit right:30%

📓 The Future of the Jupyter Notebook

🐍 PyConDE & PyData Berlin 2023

📅 2023-04-19

👤 Jeremy Tuloup


About

🧑‍🚀 Technical Director at QuantStack

🟠 Core Jupyter Developer

height:150px


History


Interactive Computing

  • Compose
  • Submit
  • Run
  • Output
  • View
  • Repeat

IPython: the Terminal as a UI

  • The terminal is a user interface!
  • Challenges:
    • No narrative
    • No memory
    • No reproducibility and communication

bg fit right


REPL: Read Eval Print Loop


Why is the Jupyter Notebook useful?

  • Maintain full interactive computing workflow
  • Adds:
    • narrative
    • memory
    • repoducibility
    • communication

IPython

fit


Jupyter Notebook

  • Millions of users
  • Millions of notebooks on GitHub
  • Heavily used in data, science, education, finance...

bg fit right


Working with a Notebook

  • Client / Server Architecture
  • Standard file format
  • Kernels for execution

bg fit right


The Jupyter Protocol

bg fit right


Classic Notebook

  • Released in 2015 as a successor to the IPython Notebook
  • Built with jQuery, RequireJS, Bootstrap

bg fit right


JupyterLab

  • Next Gen Notebook Interface (and more)
  • Extensible Computing Environment
  • Built on modern web technologies

bg fit right:40%


bg fit


bg fit


image


The state of the Classic Notebook

  • Very few maintainers, very little time
  • But new issues were still coming up on the jupyter/notebook repository, but rarely got any replies
  • New weekly meeting to triage issues
  • [DISCUSS] How to improve supportability of the repo? jupyter/notebook#5360


The Reality

  • Simplicity is a feature (less is more)
  • Still lots of users of the Classic Notebook, especially in education
  • Document-centric interface helps remove the noise and focus on the content
  • The "tabs-in-tabs" can be confusing (the web browser already has tabs)

Problems

  • The Classic Notebook has been unmaintained for years
  • It was very difficult to extend and make different extensions co-exist
  • Built on "old" web technologies (jQuery)
  • And still a lot of people using it!

The initial plan was to sunset Notebook 🌅


The current plan is to sunrise Notebook ☀️


Jupyter Enhancement Proposal 79


RetroLab

  • Started end of 2020
  • https://github.com/jupyterlab/retrolab
  • Built with JupyterLab components and extensions
  • But keep the Classic Notebook look and feel
  • "RetroLab running on Jupyter Server will be the basis for Notebook v7."

bg fit right


Keep the Classic Notebook look and feel

h:600px center


New Features

  • 🧪 Many coming from JupyterLab automatically
  • 🧩 Mime extensions
  • 🐛 Debugger
  • 📁 Accessibility (CodeMirror 6)
  • 🎨 Theming and Dark Mode
  • 📑 Built-in Table of Contents
  • 💡 Can be used in JupyterLite
  • 👥 Real Time Colaboration (demo)

Demo


Extensions

  • What about popular extensions like RISE and nbgrader?

fit


JupyterLab Extensions


Migration


Migration Banner

  • NBclassic and Notebook 6.5.x show a banner to encourage users to migrate to Notebook 7

h:400px center


Server logs

center


Current State

  • Jupyter Notebook 7.0.0b0 is available
  • Install it with pip: pip install --pre notebook
  • Install it with conda: conda install -c conda-forge/label/notebook_beta notebook
  • Please test and report issues and feedback!

Where is development happening?


What's next

  • Blog post about Notebook 7 and the Migration Guides
  • Notebook 7 Release Candidates
  • JupyterLab 4 final release expected for JupyterCon 2023 early May 2023
  • Notebook 7 final release expected after JupyterLab 4 (date TBC)

How can I help?


Thanks!

Special thanks to the Notebook Team and the authors of the JEP:

Eric Charles, Sylvain Corlay, Afshin Darian, Sharan Foga, Eric Gentry, Kevin Goldsmith, Brian Granger, Jason Grout, Fernando Pérez, Zach Sailer, Rosio Reyes, Jeremy Tuloup

And to the broader Jupyter Community!


JupyterCon 2023

May 10-12, 2023 - Cité des Sciences, Paris

jupytercon.com

image


Resources

You can find the slides on GitHub: