Jeremy Tuloup
Jeremy Tuloup is a Technical Director at QuantStack and a Jupyter Distinguished Contributor. Maintainer and contributor of JupyterLab, JupyterLite, Jupyter Notebook, VoilĂ Dashboards, and many projects within the Jupyter ecosystem.
Sessions
Jupyter notebooks are a popular tool for data science and scientific computing, allowing users to mix code, text, and multimedia in a single document. However, sharing Jupyter notebooks can be challenging, as they require installing a specific software environment to be viewed and executed.
JupyterLite is a Jupyter distribution that runs entirely in the web browser without any server components. A significant benefit of this approach is the ease of deployment. With JupyterLite, the only requirement to provide a live computing environment is a collection of static assets. In this talk, we will show how you can create such static website and deploy it to your users.
We will cover the basics of JupyterLite, including how to use its command-line interface to generate and customize the appearance and behavior of your Jupyter website. This will be a guided walkthrough with step-by-steps instructions for adding content, extensions and configuration.
By the end of this talk, you will have a good understanding of how JupyterLite works and how you can use it to create interactive websites.
Outline:
- Introduction to Jupyter and JupyterLite
- Examples of JupyterLite used for interactive documentation and educational content (NumPy, Try Jupyter, SymPy)
- Step-by-step demo for creating a Jupyter website
- Quickstart with the demo repository
- Adding content: notebooks, files and static assets
- Adding extensions to the user interface
- Adding packages to the Python runtime
- Customization and custom settings
- Deploy JupyterLite as a static website on GitHub Pages, Vercel or your own server
- Conclusion and next steps for learning more about the Jupyter ecosystem
The talk will be based on resources already publicly available:
- try JupyterLite in your browser: https://jupyterlite.github.io/demo/
- the JupyterLite documentation: https://jupyterlite.readthedocs.io/en/latest/quickstart/deploy.html
- the JupyterLite repositories: https://github.com/jupyterlite
The Jupyter ecosystem is vast and complex, with many different projects and libraries that work together to support interactive computing and data science. In this talk, we will navigate and explore the Jupyter ecosystem, highlighting the key projects and libraries that make up the ecosystem and discussing how they relate to each other.
We will start by introducing the core Jupyter projects, including the Jupyter Notebook and JupyterLab, and explaining how they provide a platform for interactive computing and data visualization. We will then discuss some of the key sub-projects within the Jupyter ecosystem, such as JupyterHub for enabling multi-user access to notebooks and nbconvert for converting notebooks to other formats, and we will explain how they fit into the overall landscape of Jupyter.
Next, we will delve into the underlying projects and libraries that make Jupyter and its related projects possible, such as the Jupyter server, the core APIs projects and the traitlets library. We will discuss the different protocols used for communication between the applications and the kernels, and show how it makes Jupyter agnostic to the language. We will also cover some of the key technologies used by Jupyter and its related projects, such as the Tornado web framework or the ZeroMQ messaging library, and we will explain how these technologies fit into the Jupyter landscape.
Throughout the talk, we will provide examples of how these tools and technologies can be used in practice and discuss the latest developments and future directions of the Jupyter ecosystem. By the end of the talk, attendees will have a better understanding of the Jupyter ecosystem and how its various projects and libraries fit together to enable interactive computing and data science.
Outline:
- Introduction to the Jupyter ecosystem
- Overview of the core Jupyter projects (Jupyter Notebook, JupyterLab)
- Overview of key sub-projects within the Jupyter ecosystem (JupyterHub, nbconvert)
- Explanation of the underlying projects and libraries used by Jupyter (Jupyter server, jupyter_client, traitlets)
- Introduction to the Jupyter protocol and the widget protocol
- Overview of key technologies used by Jupyter and its related projects (ZeroMQ, Tornado framework)
- Discussion of the latest developments and future directions of the Jupyter ecosystem
- Conclusion and next steps for learning more about the Jupyter ecosystem
Jupyter Notebook 7 is being developed as a replacement for users who may have been previously using Notebook 6 and want more of the features being created for JupyterLab, like real-time collaboration, debuggers, theming, and internationalization, among other benefits. To ensure that those users are equipped with some essential knowledge that will help them smoothly transition to using Notebook 7, this talk will go over some of the key details of working with the new Jupyter Notebook. We will explain how users can run multiple frontends like Notebook 7, JupyterLab and NbClassic (the long term supported version of the Notebook 6 code base) that will ease the transition of users not ready to switch to Notebook 7 as well as give users the freedom to choose between the Notebook 7 and Lab interface based on project needs. Through this talk we will also aim to provide Notebook 6 extension developers with information about the resources available to aid the transition of their extensions to both Notebook 7 and JupyterLab. Notebook users will leave this talk having a better understanding of what next steps they may want to take to get started with Notebook 7.