• presentation

Create Presentation from Jupyter Notebook

Create Presentation from Jupyter Notebook

You don't need to install any additional framework to make a presentation from Jupyter Notebook. Jupyter is using Reveal.js library for creating slides. However, I strongly recommend to install RISE ( R eveal.js I Python S lideshow E xtension) extension. It greatly simplifies the process of slide creation with a live preview.

The outline for this article:

  • create a simple notebook with one chart,
  • convert notebook to a slideshow,
  • presentation development with RISE extension,
  • parameterized presentations,
  • publishing presentation.

Create Jupyter Notebook

Let's create a Jupyter notebook. It will have a few Markdown and Python cells.

Example Notebook

Please notice that we can mix Python variables with Markdown thanks to IPython.display.Markdown() function:

The output of the above code cell will contain a Markdown. There is a simple scatter plot in the notebook for randomly generated points:

The matplotlib scatter plot:

Scatter Plot from Notebook

It is a simple notebook created for example purposes. There is no limit on the number of slides or cells. From my experience, I was creating a presentation with more than 70 slides with many plots/images, and the slideshow was working smoothly, even with the presentation published as a website (hosted in the cloud).

Create Presentation

The notebook is saved in ipynb format . The next step is to convert it to a slideshow. We need to provide information on how to use cells in the presentation. Please click View ➡️ Cell Toolbar ➡️ Slideshow .

Cell Toolbar in Jupyter Notebook, Please select Slideshow

Each cell will have a toolbar with the select widget. You can select there how cells will be used in the presentation:

  • Slide - the cell will be a new slide;
  • Sub-Slide - the cell will be shown in the current slide as a replacement for previous content. It will be available in arrow-down navigation;
  • Fragment - the cell will appear in the current slide, it will append to the previous content. It will be available in arrow-down and arrow-right navigation;
  • Skip - the content will not be displayed in the presentation;
  • Notes - notes for slide, the cell content is not displayed in the presentation;

Please select the Slide Type for every cell and save the notebook.

Cells with selected Slide Type

How to create a presentation for Jupyter Notebook? We need to use the nbconvert tool. It is installed with Jupyter Notebook. There is a command for converting notebook to presentation:

You can open the output file presentation.slides.html in the web browser (just double-click on the file). Alternatively, you can serve slides with jupyter ; slides will be available at http://127.0.0.1:8000/presentation.slides.html :

There are several ways to hide the code in the presentation, one of them is to pass --no-input parameter to nbconvert :

The presentation with hidden code:

It is possible to convert the Jupyter Notebook presentation into PDF slides. One of the ways to do this is to add ?print-pdf in the URL in a web browser while displaying HTML format:

The presentation will be in a format ready to print. To save it as a PDF, just print the website with Save as PDF selected for the destination.

Jupyter Notebook Presentation save as PDF

RISE Extension

There is a RISE extension that may be helpful for developing presentations in Jupyter Notebook. It can be easily installed with pip or conda :

You get a small chart icon in the top toolbar after installation. You switch between the notebook and presentation views by clicking on the chart icon.

What is more, you can edit the code in presentation mode. The RISE extension doesn't have the option to hide the code ( GitHub issue discussion about hiding code feature in RISE repository ). If you would like to hide/show the code during the presentation development, you need to install an additional extension called hide_code .

Parameterized Presentation

What if you would like to change or recompute charts in the presentation based on user input? There is an open-source framework called Mercury that makes it possible.

You can easily add interactive widgets to the presentation and publish it with Mercury . Widgets are added based on the YAML header. They are directly connected with Python variables in the notebook. User changes, tweak widgets, and execute the notebook with new values. The slides in the presentation will be automatically recomputed.

The video from an interactive presentation about Mercury :

Publishing Presentation

The final presentation is in HTML format. You can publish it as a static website. There are several ways to publish Jupyter Notebook; you can host it on GitHub Pages, Netlify, or Vercel. If you are using Mercury framework for parameterized presentations, you can host it in the cloud (soon, there will be available online service runmercury.com for hosting notebooks).

Jupyter Notebook Presentations might be a great alternative to traditional presentation software. You will save time by building the presentation in the same environment where your code is. Any update in code or chart change will immediately affect the presentation - no need to manually copy-paste results. The parameterized presentation can take your slides one step further. Imagine your supervisor or manager playing with your slides and recomputing new charts.

Create a slide deck using Jupyter Notebooks

Person reading a book and digital copy

There are many options when it comes to creating slides for a presentation. There are straightforward ways, and generating slides directly from Jupyter is not one of them. But I was never one to do things the easy way. I also have high expectations that no other slide-generation software quite meets.

Why transition from slides to Jupyter?

I want four features in my presentation software:

  • An environment where I can run the source code to check for errors
  • A way to include speaker notes but hide them during the presentation
  • To give attendees a useful handout for reading
  • To give attendees a useful handout for exploratory learning

More Great Content

  • Free online course: RHEL technical overview
  • Learn Advanced Linux Commands
  • Download Cheat Sheets
  • Find an Open Source Alternative
  • Read Top Linux Content
  • Check out open source resources

There is nothing more uncomfortable about giving a talk than having someone in the audience point out that there is a coding mistake on one of my slides. Often, it's misspelling a word, forgetting a return statement, or doing something else that becomes invisible as soon as I leave my development environment, where I have a linter running to catch these mistakes.

After having one too many of these moments, I decided to find a way to run the code directly from my slide editor to make sure it is correct. There are three "gotchas" I needed to consider in my solution:

  • A lot of code is boring. Nobody cares about three slides worth of import statements, and my hacks to mock out the socket module distract from my point. But it's essential that I can test the code without creating a network outage.
  • Including boilerplate code is almost as boring as hearing me read words directly off of the slide. We have all heard (or even given) talks where there are three bullet points, and the presenter reads them verbatim. I try to avoid this behavior by using speaker notes.
  • There is nothing more annoying to the audience when the talk's reference material doesn't have any of the speaker notes. So I want to generate a beautiful handout containing all of my notes and the slides from the same source. Even better, I don't want to have slides on one handout and a separate GitHub repository for the source code.

As is often the case, to solve this issue, I found myself reaching for JupyterLab and its notebook management capabilities.

Using Jupyter Notebooks for presentations

I begin my presentations by using Markdown and code blocks in a Jupyter Notebook, just like I would for anything else in JupyterLab. I write out my presentation using separate Markdown sections for the text I want to show on the slides and for the speaker notes. Code snippets go into their own blocks, as you would expect.

Because you can add a "tag" to cells, I tag any cell that has "boring" code as no_markdown .

Using tags in Jupyter Notebook

(Moshe Zadka, CC BY-SA 4.0 )

Then I convert my Notebook to Markdown with:

There are ways to convert Markdown to slides —but I have no idea how to use any of them and even less desire to learn. Plus, I already have my favorite presentation-creation tool: Beamer .

But Beamer requires custom LaTeX, and that is not usually generated when you convert Markdown to LaTeX. Thankfully, one Markdown implementation– Pandoc Markdown —has a feature that lets me do what I want. Its raw_attribute extension allows including "raw" bits of the target format in the Markdown.

This means if I run pandoc on the Markdown export from a notebook that includes raw_attribute LaTeX bits, I can have as much control over the LaTeX as I want:

The --listings makes pandoc use LaTeX's listings package, which makes code look much prettier. Putting those two pieces together, I can generate LaTeX from the notebook.

Through a series of conversion steps, I was able to hide the parts I wanted to hide by using:

  • LaTeX raw_attribute bits inside Jupyter Notebook's Markdown cells
  • Tagging boring cells as no_markdown
  • Jupyter's "nbconvert" to convert the notebook to Markdown
  • Pandoc to convert the Markdown to LaTeX while interpolating the raw_attribute bits
  • Beamer to convert the Pandoc output to a PDF slide-deck
  • Beamer's beamerarticle mode

All combined with a little bit of duct-tape, in the form of a UNIX shell script, to produce slide-deck creation software. Ultimately, this pipeline works for me. With these tools, or similar, and some light UNIX scripting, you can make your own customized slide created pipeline, optimized to your needs and preferences.

What is the most complicated pipeline you have ever used to build a slide deck? Let me know about it—and whether you would use it again—in the comments.

Polaroids and palm trees

Edit images with Jupyter and Python

Who needs to learn an image-editing application when you can do the job with open source tools you already know?

How to write a web service using Python Flask

JupyterLab teaches Python developers magic

JupyterLab, the successor to Jupyter Notebook, feels like playing video games with the cheat codes enabled.

Blender Hotkey Cheat Sheet

Markdown beginner's cheat sheet

Learn Markdown syntax to be ready to contribute to open source software.

Moshe sitting down, head slightly to the side. His t-shirt has Guardians of the Galaxy silhoutes against a background of sound visualization bars.

Related Content

Real python in the graphic jungle

Natalie B. Hogg

Cosmologist

Using a Jupyter notebook to make presentation slides

jupyter lab presentation

  • Open a blank Jupyter notebook.
  • Add a cell and convert it to Markdown (either esc + m ) or by using the drop down menu at the top of the notebook.
  • Add your text, equation or image to the cell (images can be added via the edit menu, though some HTML tags may be needed to render and/or resize the image).
  • Choose a slide type in the drop down menu of the cell itself (slide, sub-slide, fragment, skip or notes).
  • Save the notebook.
  • In the terminal, run jupyter nbconvert *.ipynb --to slides .
  • Open the resulting .html file in a browser and use the arrow keys to navigate.

I turn coffee Lapsang Souchong tea into code; if you found this post useful you can contribute to my habit here: https://ko-fi.com/nataliebhogg .

I’m in a strange kind of limbo at the moment. I’m not being paid, since I can’t sign my new contract without being physically present in Spain. And, until the 30th of March, it was physically impossible to enter Spain unless you were a Spanish resident, since the borders were closed due to Covid restrictions. Due to Brexit, I also need a visa in order to be able to stay in Spain for more than ninety days and to legally work there. So, I have an appointment at the Spanish consulate in London on Friday to submit my visa application. I’m hoping for a quick decision so I can book a flight, get to Madrid, sign my contract and start working (and drawing a salary). But, until then, I’m in this strange, semi-working state.

I could have taken this time off completely, but with the UK in lockdown and everything shut, I know I would have quickly got bored in the face of a two or three month holiday with nothing to do and nowhere to go. So, I resolved to keep working, despite the lack of pay, albeit at a reduced pace. I’ve been attending journal clubs and mainly working on turning a chapter of my PhD thesis into a paper.

As a result, it was nice to take a full five days off over the Easter weekend. I finished reading three books: Island of Dreams by Dan Boothby (ok if you are interested in Gavin Maxwell, Scotland or otters), The Nine Tailors by Dorothy L. Sayers (which I highly recommend!) and Never Split the Difference by Chris Voss (probably only useful if you’re a hostage negotiator or someone working in big business). It was a conscious decision to try and read more and I’m glad it paid off. I always forget how refreshed I feel after even just a couple of days off from work.

This morning I finished making my slides for my talk at Britgrav next week. I’m going to be presenting my work from a few months ago on how the distance duality relation can be constrained with standard sirens and how modified gravity effects can bias this type of analysis. I tend to use either Google Slides or LaTeX Beamer to make presentations, depending on the content and audience, but this time I decided to use Markdown in a Jupyter Notebook which I then converted to HTML.

jupyter lab presentation

This produces very clean looking slides, and it’s easy to write LaTeX commands too (unlike in Google Slides).

jupyter lab presentation

The process I followed to create the slides is very simple.

The same week that I’m giving this talk, I’m also presenting the H0 review paper by Di Valentino et al (we’re having a special H0 tension week, as someone else is going to present Efstathiou’s recent offering on the same topic) and the following week I’ve been invited to give a seminar at my old undergraduate institution, Aberystwyth University, which I’m really looking forward to.

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)

Natalie Hogg

Leave a comment Cancel reply

Create a website or blog at WordPress.com

' src=

  • Already have a WordPress.com account? Log in now.
  • Subscribe Subscribed
  • Copy shortlink
  • Report this content
  • View post in Reader
  • Manage subscriptions
  • Collapse this bar

Create interactive slides with Python in 8 Jupyter Notebook cells

Creating presentations in Jupyter Notebook is a great alternative to manually updating slides in other presentation creation software. If your data changes, you just re-execute the cell and slide chart is updated.

Jupyter Notebook is using Reveal.js (opens in a new tab) for creating slides from cells. The standard approach is to write slides code and Markdown in the Jupyter Notebook. When notebook is ready, it can be exported to standalone HTML file with presentation.

What if, you would like to update slides during the slide show? What is more, it would be fantastic to have interactive widgets in the presentation. You can do this in Mercury framework.

In this tutorial, we will create an interactive presentation in Jupyter Notebook and serve it with Mercury.

Create presentation in notebook

Please enable Slideshow toolbar in Jupyter Notebook. It can be done by clicking View -> Cell Toolbar -> Slideshow . It is presented in the screenshot below:

Enable cell toolbar

We will need following packages to create presentation in Python notebook:

Please make sure that they are installed in your environment.

1. Import packages and App setup

The first step is to import packages and setup Mercury App :

We setup title and description for App object.

Please note that we set Slide Type to Skip . This cell will not appear in the presentation.

2. Add title

The second cell is a Markdown with title:

The Slide Type is set to Slide . It is our first slide!

3. Add slide with Markdown

Add new Markdown cell with the following cell.

Please set Slide Type to Slide . It will be a second slide. I'm using ## as slide title ( # will produce too large title in my opinion).

4. Add Mercury Widget

Please add code cell with Text widget. We will use it, to ask users about their name.

We set Slide Type as Skip , so this cell will not appear in the presentation.

5. Display name

Let's use the name.value in the slide. Please add a code cell. We will display a Markdown text with Python variables by using Markdown function from Mercury package.

Please set the Slide Type to Slide .

You can display Markdown with Python variables by calling mr.Markdown() or mr.Md() functions. Both do the same.

The first five cells of the notebook:

Notebook code for presentation in Jupyter Notebook

You can enter your name in the widget during the notebook development. There will be no change in other cells. If you want to update the cell with new widget value, please execute it manually.

6. More widgets

We can add more widgets to the presentation. They will be used to control chart in the next slide.

We have used Slider and Select widgets. They are displayed in the notebook. This cell will not be displayed in the presentation, so set Slide Type to Skip .

7. Scatter plot

We will add a new code cell. It will have Slide Type set to Slide .

We used widgets values by accessing them with samples.value and color.value .

Screenshot of the notebook with scatter plot:

Notebook code for presentation in Jupyter Notebook

8. Final slide

Please add a last Markdown cell. Its Slide Type will be set to Slide :

Please notice that link is added with HTML syntax. There is a target="_blank" used to open link in a new tab.

Run presentation in Mercury

Please run Mercury local server in the same directory as notebook:

The above command will open a web browser at http://127.0.0.1:8000 . Please click on a card with presentation.

You can navigate between slides with arrows in the bottom right corner. You can enter the full screen mode by pressing F on the keyboard. Please use Esc to exit full screen mode.

You can change widgets values in the sidebar and presentation slides will be automatically recomputed:

You can export your slides as PDF or HTML by clicking Download button in the sidebar.

Mouse Vs Python

Creating a Presentation with Jupyter Notebook and RISE (Video)

In this tutorial, you will learn how to use Jupyter Notebooks to create slide show presentations. This allows you to run and edit live code in your slides.

Want to learn more about Jupyter Notebook? Then check out my book, Jupyter Notebook 101 , available on Leanpub , Amazon , and Gumroad

  • Python Basics
  • Interview Questions
  • Python Quiz
  • Popular Packages
  • Python Projects
  • Practice Python
  • AI With Python
  • Learn Python3
  • Python Automation
  • Python Web Dev
  • DSA with Python
  • Python OOPs
  • Dictionaries
  • Keyboard Shortcuts to Clear Cell Output in Jupyter Notebook
  • "How to Fix 'jupyter: command not found' Error After Installing with pip "
  • How to Hide all Codes in Jupyter Notebook
  • How to interrupt the kernel in Jupyter notebook
  • Data Visualization in jupyter notebook
  • How to Customize Line Graph in Jupyter Notebook
  • How to Optimize Jupyter Notebook Performance ?
  • How to Delete Markdown in Jupyter Notebook
  • Magic Commands for Profiling in Jupyter Notebook
  • Useful IPython magic commands
  • Stop the Jupyter Kernel if Kernel is not responding
  • How to Work in Jupyter Notebook with Multiple Languages
  • How to Add a Python 3 Kernel to Jupyter IPython
  • Configure Keyboard Shortcuts in Jupyter Notebook
  • Ways to recover deleted Jupyter notebook cell?
  • How to Fix Kernel Error in Jupyter Notebook
  • How to Change the Theme in Jupyter Notebook
  • Creating Interactive Dashboard from Jupyter Notebooks
  • Jupyter Notebook - Cell Magic Functions

Creating Interactive Slideshows in Jupyter Notebooks

We all have been very well acquainted with the creation of slideshows by using Microsoft PowerPoint for our schools, colleges, or offices in our day-to-day lives. But, have we ever wondered how would it be to create a slideshow through the Jupyter Notebook? The advantages of creating slideshows with Python and Jupyter are its version control capability, dynamicity in the slideshows, easy sharing of codes with others in the groups, and a single presentation document, but the only con with this is that it doesn’t have many themes to apply in the slides, due to which it may look sort of a little plain.

In this article, we will walk through the different methods used for creating interactive slideshows in Jupyter Notebook like through RISE, with Jupyter’s built-in slideshow feature, Jupyter widgets, and ipywidgets and voila and voila-reveal. Also, we will read about the importance of creating interactive slideshows, how to customize our slides in the slideshows, and the processes involved in exporting the slideshow.

Now, coming to the basic query to ask everyone, and which every individual has in their mind is

Why Interactive SlideShow?

Some of the reasons why interactive slideshows are appreciated are mentioned below:

1. It easily helps in capturing audiences’ attention because of its interactive clickable elements, colours, images, videos, etc. making the presentation more memorable.

2. Users can delve further into data visualization s, charts, and graphs in interactive slideshows for data-driven presentations. To acquire deeper insights, they might filter data or zoom in on particular data points.

3. Interactive slideshows possess features like surveys and quizzes to collect feedback and gauge audience comprehension in real-time, which can be useful for training or instructional purposes.

4. Presenters can adapt their information to their audience’s demands by using interactive slideshows. Users can take their own route through the content by concentrating on the subjects that are most interesting or important to them, creating a more individualized experience.

Customizing Slides in Jupyter Notebook

Customizing slides refers to applying uniqueness to the appearance, content, and behaviour of individual slides to meet specific preferences. Similarly, we can also customize our slides in Jupyter Notebook. This can be done by adding metadata to the individual slides in the cells. Metadata is specified in the cell’s metadata tag, present under the “Cell Toolbar” option. From there you can customize the slide according to your own choice (Metadata is here referred to the information about the book, it is used to control the features and behavior of the notebook).

metadata-(1)-(1)

The above image will apply “Edit Metadata” to all the slides.

edit-metadata

You can now add any metadata to customize your slides as shown in the above image.

Exporting SlideShows in Jupyter Notebook

Once you are done with the creation and customization of the slides, you can export your slideshow from the Jupyter Notebook to your local machine. The slides can be exported in different formats such as HTML, PDF, LaTex, Reveal JS, Markdown (md), ReStructured Text (rst) and executable script. After exporting the file, save it in the same folder as that of where your Jupyter Notebook is installed. Finally, you will be able to easily present your slideshow from your local system to the outside world.

You can do so with the help of nbconvert tool. The nbconvert tool, is a Jupyter Notebook tool that converts notebooks to various other formats via Jinja templates. In order to used the nbconvert tool, you need to follow its basic command.

From the Command Line, use nbconvert to convert a Jupyter Notebook (input) to a different format (output). The basic command structure is given below:

where <output format> is the desired format in which the notebook is converted and <input notebook> is the filename of your own Jupyter Notebook which you want to convert.

For example: CONVERT JUPYTERNOTEBOOK SLIDESHOW TO HTML

This command creates an HTML file named as slideshow.ipynb.

Creating Interactive Slideshows in Jupyter Notebook using RISE

Step 1: set up all the requirements.

Installing Python and Jupyter Notebook

In order to start with the slideshows, firstly you need to install Python and Jupyter Notebook, using Anaconda Navigator.

Installing RISE

RISE , is an acronym which stands for Reveal.js IPython/Jupyter Slideshow Extension and as the name suggests RISE is a Jupyter Notebook extension that enables you to create dynamic presentation slides from your Jupyter Notebook. Through RISE, a notebook is rendered as a Reveal.js based slideshow during which you can execute code, display plots or show your audience any actions you would perform inside the notebook itself.

To use rise, first you need to install this. If you are using Anaconda then, use the command

or if you are using Command Prompt then use the command

You won’t be able to interact directly with RISE, instead you will be access it through your Jupyter Notebook.

Step 2: How to Create a SlideShow

Enabling slideshow mode.

To start with the creation of slideshows, you will need to start the Jupyter Notebook and open a new Notebook in it (must do this after installing RISE). Once you’re in the new fresh Notebook, you will need to enable the slideshow. For doing this, follow the following steps given below:

1. Click on the “View” tab in the Jupyter Notebook.

2. A dropdown menu will appear. Hover and select over the “Cell Toolbar” option.

3. Another dropdown appears. Now, select the “Slideshow” option in the “Cell Toolbar” menu.

cell-toolbar

You’ve now enabled the slideshow mode.

Creating the slides with cells

Now, at this point, start working with the cell toolbar present in the dropdown menu.

first-cell

Once, you open the first cell in the Notebook, you’ll observe a “ Slide Type ” option present at the top right corner of the cell. This contains different types options which determines how each slide would fit in the slideshow. Those are:

slide – designates the selected cell as the first of a new slide.

slide

sub-slide – indicates that the selected cell should be the start of a new sub-slide, which appears in a new frame beneath the previous slide.

sub-slide

fragment – denotes that the chosen cell should be added to the previous slide as a build.

fragment

skip – indicates that the selected cell should not be included in the slideshow and should instead be skipped.

skip

notes – indicates that the selected cell should just be the presenter notes.

notes

– – indicates that the selected cell should follow the behavior of the previous cell, which is useful when a markdown cell and a code cell should appear simultaneously.

Step 3: Viewing and Operating the SlideShows

Viewing the slideshow.

The slideshow can be seen directly from the notebook once the slide material has been created using cells for the slideshow.

There are two options to view the slideshow:

1. Using the shortcut ALT + R on Windows to enter and exit into the presentation mode within the notebook.

2. Clicking the “Presentation Mode” button from the notebook (Note that it would only appear if you’ve successfully installed RISE) as present at the right most, shown in the image given below.

toolbar

Once you choose enter into the slideshow presentation mode, a window will open as shown below

Screenshot-2023-10-30-062436

This means the presentation is active now.

Operating the slideshow

Changing the slides.

When you enter in the slideshow window, you will see four different types of arrows in the bottom-right corner for controlling the slides. Although using the keys <- and -> may look attractive, but it can lead to skip of many sub-slides. Instead, its recommended to use SPACE for moving the slides forward and SPACE+SHIFT for moving the slides backward, respectively.

Apart from this, you may also access many other keyboard shortcuts within the slideshow by clicking the question mark (?) in the bottom-left corner.

Running and Editing the code

One of the best features of RISE is that you can update and run code while the presentation is in progress because it operates in a live Python session.

A code cell will show up in the slideshow as editable and runnable if it is identified as a slide, sub-slide, fragment, or -. Here’s an illustration:

Finally, you are done with the slideshow to showcase it to others.

Creating Interactive Slideshow using Jupyter’s built-in Slideshow Features

Until now, we learnt about the different ways of creating interactive slideshows in Jupyter Notebook with the help of RISE. But, there are some other methods too, which can be used for creating slideshows in Jupyter Notebook. One of them is “Jupyter’s built-in slideshow feature”. To create interactive slideshows in Jupyter Notebook with the help of its built-in feature, perform the following steps:

Step 1: Open a New Notebook

To start with, open a new notebook and rename it.

Step 2: Create new Slides

Once you are inside a new fresh notebook, start creating slides as much as you want to add in your slideshow.

Step 3: Enable SlideShow Mode

After you are done with the creation of all the slides, define them as specific slide-type such as “Slide”, “Sub-Slide”, “Fragment”, “Skip”, “Notes”, “Markdown”. Also, enable the slideshow mode through the “Cell Toolbar” in the Notebook toolbar.

Step 4: Run the Notebook for SlideShow

Next, save your notebook and close it. Open the Command Prompt, and run the below mentioned command to see your notebook as a slideshow.

Replace myslideshow.ipynb with your notebook filename. The above command will convert your Jupyter Notebook to a slideshow.

Creating Interactive Slideshow using Jupyter Widgets and IPYwidgets

Ipywidgets, is a python libraray, often termed as Jupyter widgets or simply widgets in short. With this, you can build interactive HTML widgets that will display in your Jupyter Notebook. They are interactive Graphical User Interface (GUI) elements which incorporate user interaction into your code, enhancing the interest and usefulness of your notebooks. They are especially beneficial for activities like data exploration, data analysis, parameter adjustment, and concept demonstration.

There are many different controls available with Jupyter widgets, including buttons, sliders, text input fields, dropdown menus, checkboxes, and more. These features allow for real-time data manipulation and display, parameter changes, and action triggering without the need to run code cells again.

Jupyter widgets or ipywidgets, also helps in building interactive slideshows. You just need to apply the following steps:

Step 1: Install IPYwidgetsINSTALL ‘IPYWIDGETS’

In order to start working with widgets, you need to first install it. For this, you can use Command Prompt or Anaconda.

Step 2: Import the Libraries

In the next step, import the necessary required libraries in your notebook.

Step 3: Create Interactive Widgets

Now, select the type of interactive widget, you want to include in your presentation. For example, here I have used the slider widget.

Here, we can assign the min and max value, step value and the description of the slider.

Step 4: Display the Widgets

This will display the widget which is applied to the slide.

Step 5: Run the SlideShow

Next, when you are done creating the widgets for all the specific slides, turn on the slideshow mode. To do this, go to View -> Cell Toolbar -> Slideshow. Thereafter, use the “Slide Type” dropdown menu in the toolbar to specify how each cell should be treated (e.g., slide, sub-slide, fragment, skip and notes).

Step 6: Start the Slideshow

Finally, start the slideshow by clicking the “Enter/Exit Live Reveal Slideshow” button in the toolbar. Your presentation will begin, and interactive widgets will be functional.

Creating Interactive Slideshow using Voila and Voila-Reveal

Voila is an open-source framework or we can say a web application, with the help of which one can convert Jupyter notebooks into dashboards and interactive online applications. Although it’s primarily responsible for creating web applications, it can also be used to create interactive slideshows for Jupyter notebooks.

On the other hand, Voila-Reveal is just an extension of voila. It allows to convert simple jupyter notebook into a Reveal.js based interactive slideshow.

In order to do so, one can follow the below mentioned steps:

Step 1: Install VOILA

To install voila, you can use Command Prompt

Step 2: Create the Slides

Then, create or open Notebook where you will build the presentation. If you want to customize the slides using Reveal.js features like slide backgrounds, transitions, and themes, then do so by adding appropriate metadata to Markdown cells.

voila2-(1)-(1)

Step 3: Run VOILA

Once you created the slides, close your notebook. Then, in the command prompt, navigate to the path where your notebook is stored.

Replace C:\Users\hp with your folder path.

Then, start to run your notebook in the Command Prompt.

Rename Voila.ipynb with the name of your notebook file.

Once you run your file, voila will start a local server and generate the Reveal.js-based presentation from your notebook. It will provide you with a URL, which is typically something like http://localhost:8866 . Open this URL in a web browser to view your interactive slideshow presentation.

voila-output-(1)-(1)-(1)

NOTE : Voila will convert all the slides in the cells in the notebook to a dashboard.

Please Login to comment...

Similar reads.

  • Geeks Premier League 2023
  • Jupyter-notebook
  • Geeks Premier League
  • 5 Reasons to Start Using Claude 3 Instead of ChatGPT
  • 6 Ways to Identify Who an Unknown Caller
  • 10 Best Lavender AI Alternatives and Competitors 2024
  • The 7 Best AI Tools for Programmers to Streamline Development in 2024
  • 30 OOPs Interview Questions and Answers (2024)

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

  • Alumni & Careers
  • News & Events

The Hong Kong University of Science and Technology

Turn your Jupyter Notebook into interactive Presentation Slides using Anaconda

Table of contents, download our sample and try it yourself, 1. open powershell prompt in anaconda, 2. change directory to current folder, 3. type jupyter nbconvert command, 1. enable slideshow view, explanation of each “slide type”, 3. add tag to hide code of charts on the slide, next article – host html file online.

In our “Learn Python From Zero For Absolute Beginner” series , you have learnt how to use Python to do some data manipulation tasks and create interactive charts using Plotly within Jupyter Notebook. After completing your analysis, it is common that you will need to deliver a presentation to present your findings. Traditionally, this might involve manually capturing screenshots of your notebook’s code and charts, and creating static slides using PowerPoint or Canva for your presentation. However, there is a more time-saving and dynamic approach, allowing you to convert your Jupyter Notebook into interactive slides . You can showcase your code , visualizations, and insights while retaining the interactivity of the Plotly charts you created. Give a try to this approach and captivate your audience with an interactive presentation experience derived directly from your Jupyter Notebook! At the end of this article, you will be able to convert your Jupyter Notebook (.ipynb file) to one single HTML file . By double clicking the HTML file, you can view your Jupyter Notebook content as below in the browser:

Before we proceed with configuring the settings in Anaconda to transform cells into slides, let’s first walk through the straightforward process of converting an .ipynb file to an HTML file .

To help you grasp the speed and simplicity of this conversion, please download our sample Jupyter Notebook (.ipynb file) here and follow the steps outlined below.

You may find the content in this .ipynb file familiar if you have been following our “Learn Python From Zero For Absolute Beginners” series as we have taken code snippets from the first two lessons and compiled them into this .ipynb file.

Preview of jupyter slide ipynb sample file

Convert ipynb file to HTML file

Open Powershell Prompt in Anaconda

If you need guidance on how to install or use Anaconda, you can refer to our previous article here .

If you are a Mac user, you have the advantage of utilizing the Terminal directly on your Mac for the subsequent steps.

Terminal in Mac

  • Windows user: Powershell Prompt in Anaconda
  • Mac user: Terminal in Mac

In the Powershell Prompt window or Terminal, use the cd command to change directory to the folder that you stored the .ipynb file.

Method 1: Using command below

Method 2: Drag and drop

Drag and drop the folder where storing the .ipynb file to the Powershell Prompt window or Terminal after typing cd .

Type the command below in the Powershell Prompt window. You may change sample.ipynb to the filename of your .ipynb file. This command uses nbconvert tool to convert an .ipynb notebook file into various static formats like HTML.

If you are using Terminal in Mac, you may need to execute the following command before executing the jupyter nbconvert command.

After executing the jupyter nbconvert command, an HTML file will be automatically generated in the current folder ( sample.slides.html in this case). The generated HTML file retains the content and structure of the ipynb Notebook, now conveniently presented in a slide format. One notable advantage is that the generated HTML file has a relatively small file size, which is beneficial for sharing and transferring files.

If you have a good understanding of HTML, you can further customize the generated HTML file, making modifications to the styling or content of the slides.

ouput after converted the ipynb file to html file

Configure settings in Jupyter Notebook to transform cells into slides

Before proceeding with the conversion process to HTML as outlined above, you need to make some configurations in Jupyter Notebook using Anaconda .

This configuration allows you to selectively choose which cells to display , ensuring that only the relevant content appears in the HTML output, showcasing the most important code snippets, explanations, and visualizations. This flexibility empowers you to tailor the HTML slides to your specific needs and deliver a concise and impactful presentation to your audience.

In the menu bar, click “ View ” → “ Cell Toolbar ” → “ Slideshow “.

jupyter lab presentation

2. Select Slide Type for each cell

After enabling the slideshow view, you can now select the “Slide Type” of each cell at the top right hand corner.

jupyter lab presentation

If you prefer showcasing charts or visualizations on the slides without including the corresponding code, you can assign specific tags to the desired cells.

In the menu bar, click “ View ” → “ Cell Toolbar ” → “ Tags “.

jupyter lab presentation

Type to_remove in the top right hand corner of the cell, and click “ Add tag “.

add tag in Jupyter Notebook

After configured each cell in Jupyter Notebook using Anaconda, you can now follow the steps in the previous section “Convert ipynb file to HTML file” to turn your Jupyter Notebook into interactive HTML Presentation Slides. The generated output is a single HTML file, making it incredibly convenient to share and save on a USB drive. Simply double-click on the HTML file to open it in any web browser. This portability and accessibility make it ideal for presenting in a classroom setting too. Good luck on your presentation!

As the converted file is in HTML format, you can also choose to host it as a website online like below. In our upcoming article, we will guide you through the process of hosting your HTML file on GitHub Pages. Stay tuned!

Kam, M. (2020, June 28). Creating an interactive presentation with Jupyter Notebook and Plotly. Things Michael Thinks. https://www.michaelkam.id/data-visualisation/2020/06/28/creating-an-interactive-presentation-with-jupyter-notebook-and-plotly.html

Krishnamurthy, D. (2015, December 5). Jupyter Notebook, Reveal.js and Github Pages. kdheepak. https://kdheepak.com/blog/jupyter-notebook-revealjs-and-github-pages

Mayeesha, T. (2018, February 12). Present your data science projects with Jupyter Notebook slides! Medium. https://medium.com/learning-machine-learning/present-your-data-science-projects-with-jupyter-slides-75f20735eb0f

– By Holly Chan , Library

October 6, 2023

You may also be interested in…

jupyter lab presentation

How to host your website on GitHub Page

Learn python from zero for absolute beginner (2): data visualization.

Create new Google Colab file

How to open .ipynb file (Jupyter Notebook)

How to Create Presentations Using RISE in Jupyter Notebook

blog image

Table of Contents

What is rise , what are the basic capabilities of rise, how to use rise chalkboard, how to use speaker notes in rise.

Jupyter Notebook has become a pretty standard tool in the world of data science and machine learning. While it does have its problems, there is probably no better way of sharing important information with others, and demonstrating results of data analysis with graphs and similar tools, than with Jupyter Notebook.

  • How to Write and Run Code in Jupyter Notebook
  • Quick Guide: How to Start a New Jupyter Notebook

However, while using Jupyter Notebook is very convenient for sharing information between those that are involved in data science in one way or another, there is still the problem of sharing the contents of a Jupyter Notebook with somebody who doesn't know how to program. Each data scientist will, sooner or later, need to present their findings to people who are not necessarily tech-savvy, and, in that case, Jupyter Notebook might not be the best tool for that job.

The recent pandemic didn't help with the technology-knowledge gap. While more people have started working from home, which is also a trend that was adopted by many colleges and other institutions, teaching others has become a completely new experience with no contact policies and everyone is feeling the strain. While it makes sense to demonstrate code using a Jupyter Notebook, going over the theoretical background behind data science and programming concepts is not very practical without using visualizations.

  • AI Adoption During COVID-19
  • Humans vs. AI: Why AI (Probably) Won't Take Your Job

One way to deal with this issue is to create a presentation and switch between a presentation and a Jupyter Notebook to combine theory with demonstrations of practical applications, but that is often way too clunky and impractical. Your best bet is to find something that combines the aesthetics of presentational tools, such as Microsoft PowerPoint or Apple Keynote , with the best of Jupyter Notebook. That something is RISE .

RISE is a Jupyter Notebook extension that allows you to easily create reveal.js -based presentations from Jupyter Notebook. RISE is a relatively powerful tool with a lot of in-built functionality, which is also simple enough to be used by beginners. That being said, more advanced users familiar with HTML and CSS will get the most out of it, but 90 % of its functionality can be accessed by total beginners. 

There are many things even beginners can customize:

  • Presentation theme and slide customization
  • Transitions between slides
  • Slide sizes
  • Slide decoration (header, footer, background)
  • Automatic selection of cells
  • Using custom CSS
  • Presentation flow
  • Auto-launch presentation mode
  • Where to start the presentation
  • Using a leap motion controller
  • Keyboard shortcuts
  • Chalkboard capabilities

Aside from dabbling with HTML and CSS , most of the aforementioned can be used by interacting with a very simple and intuitive interface.

Article continues below

Want to learn more? Check out some of our courses:

To use RISE , you need to first install it. It is available on PyPI , but it can also be installed using Anaconda .

  • How to Install Anaconda: Intro to Programming: How to Get Your Computer Ready to Run Python

Depending on what you prefer, you need to run one of the following two to install RISE :

  • pip install RISE
  • conda install-c conda-forge rise

Once RISE is installed, you can find it next to the command palette button in a Jupyter notebook:

The command palette in Jupyter Notebook with the RISE extension installed

Before you start the slideshow using this button, you'll need to define your slides. 

To do that, you need to enter the View tab of your Jupyter notebook and access the now available option Slideshow that exists with the Cell Toolbar section:

Cell Toolbar in Jupyter RISE extension

Image Source: Jupyter RISE, https://rise.readthedocs.io/en/stable/index.html

This will automatically convert the original look of the notebook into one that looks like this:

Slide Type added to each Markdown code cell in Jupyter RISE

As shown above, a special indicator for Slide Type has been added to each markdown and code cell. These different types of slides are:

  • Slide - the basic type of slide
  • Sub-slide - subsegment of the "Slide" type
  • Fragment - information that appears on the same slide as the "Slide" or "Sub-slide" type
  • Skip - this cell gets skipped during the presentation
  • Notes - special, will mention in-detail later

jupyter lab presentation

Few things to note here:

  • If you do know how to work with HTML and CSS , you can customize the content more easily than those that don't. However, even the default version looks pretty good.
  • The Sub-slide type of slides is relatively redundant in my opinion and they work very similar to slides. For a simple presentation, you can just avoid the Sub-slide type and use only the Slide type and the Fragment type of slides.
  • The Skip slides and Notes slides will be skipped when you show the presentation.
  • There are two symbols on the left side of the screen that you can hide if you want. The X symbol moves you back to the notebook from the presentation, while the ? symbol accesses the help section of RISE and shows you RISE key bindings.

This is all you need to know to create a basic presentation, similar to those created using PowerPoint or Keynote . This doesn't mean that that is all you can do with RISE , so let's take a look at some more advanced functionalities.

How to Use Advanced Capabilities in RISE

Knowing HTML and CSS is crucial for fully taking advantage of everything that RISE has to offer, but that doesn't necessarily mean that if you don't know HTML and CSS you are left with the basic look of RISE . You can still customize quite a lot of different things.

There are a few things you can do to optimize RISE :

  • The nbextensions_configurator tool
  • Custom CSS files
  • Embed settings in the notebook itself

The easiest way to customize RISE is to install the nbextensions_configurator . This is also the preferred option because it is a useful tool overall, and allows you to easily enable, disable, and tweak all kinds of different Jupyter Notebook extensions. 

To install nbextensions_configurator   just run the following: 

Once you have the nbextensions_configurator installed, you can very easily, using an UI, configure RISE . 

To access, just click on Nbextensions tab:

Nbextensions in RISE

This UI allows you to modify a lot of different things:

Nbextensions applied to Jupyter RISE

Out of all of the different options, the two most important ones for beginners are the ones near the end of the video:

  • Theme : for the theme of your presentation, there are various themes you can use by visiting this page https://github.com/hakimel/reveal.js#theming
  • Reveal.js ones that you find on the internet

Aside from the above, there are two things that I need to yet mention: the Chalkboard and the Notes section.

The Chalkboard allows you to draw on slides. It is very easy to use and is also fully covered in the Help sections. You can access the Help sections under the ? symbol. 

Keyboard shortcuts in RISE

These shortcuts allow you to do different stuff with the Chalkboard , but mostly what you will be doing is drawing stuff and erasing stuff:

Aside from the Chalkboard , there is a functionality called Speaker Notes . It is, in essence, a much more advanced version of the presentation: it displays the current view, the next slide, and the notes for the next slide defined in the Notes slide type. 

RISE Notes speaker

RISE Notes are anonymous, so you can set them up so that they are only seen by the person using RISE to hold a presentation. 

Overall, RISE is a pretty good tool that allows you present material in a way very similar to PowerPoint presentations. In this article, I explained and demonstrated what you can do with RISE . Even though the tool itself is very powerful, the most important reason why you should consider using it is that it allows you to, actually run the code that is presented in a slide, which is something you can't do if you decide to use PowerPoint presentations to present some material. 

  • Intro to Image Augmentation: What Are Pixel-Based Transformations?

In general, if you are working in an environment where you often need to hold presentations that involve code to others RISE will prove to be invaluable in helping you to better get your point across to those listening to you.

  • Read next: How to Build a Data-Driven Organization > >

Boris Delovski

Data Science Trainer

Boris delovski.

Boris is a data science trainer and consultant who is passionate about sharing his knowledge with others.

Before Edlitera, Boris applied his skills in several industries, including neuroimaging and metallurgy, using data science and deep learning to analyze images.

What is MLOps: An Introduction

What is MLOps: An Introduction

3 Ways to Boost Your Career by Learning to Code

3 Ways to Boost Your Career by Learning to Code

What Questions Can Machine Learning Help You Answer?

What Questions Can Machine Learning Help You Answer?

Presenting with Jupyter Notebooks

The best way to walk through this tutorial is using the accompanying jupyter notebook:.

[ Jupyter Notebook ]

In the last year I’ve started presenting work using Jupyter Notebooks, rebelling against the Bill Gates'-driven status-quo. Here I’ll explain how to do it. It’s not difficult, but in my opinion makes presentations look slicker, whilst allowing you to run code live in a presentation if you like. First, we need to download the plug-in that gives us the presentation functionality, it’s called RISE . We can do this easily using pip in a terminal window:

Once installed, our first move is to add the presentation toggles to our notebook cells. We do this by clicking View in the menu bar, then Cell Toolbar , then Slideshow :

Adding Presentation Toggles to Cells

Slide types.

This adds a Slide Type dropdown to each cell in the notebook. Here we can choose one of five options:

  • Slide : Used to start a new chapter in your presentation, think of this as a section heading in LaTeX.
  • Sub-slide : Slide falling within the chapter defined by a Slide cell.
  • Fragment : this is to split the contents of one slide into pieces; a cell marked as a fragment will create a break inside the slide; it will not show up right away, you will need to press Space one more time to see it.
  • Skip : Skips cell when in presenter mode.
  • Notes : Cell that allows the author to write notes on a slide that aren’t shown in presenter view.

As with any notebook, we can define the cell type to be either Markdown or Code . As you’d expect, we present any text or image-based slide in Markdown , reserving the Code cell type if and only if we want to explicitly run some code in the presentation. If you aren’t familiar, Markdown is a straightforward language for text formatting; I won’t go into the details here, but suffice to say you can learn the basics of Markdown in 5 minutes. You can find a useful cheatsheet here .

Adding images is easy too. I advise creating a sub-directory in your working directory called /images and storing anything you want to present there. Then you display them in a markdown file using some simple HTML syntax:

<img class="" src="images/london_deaths.jpeg" style="width:75%">

You can manipulate the style attribute to change the size of the image. Don’t worry, this is the only HTML you need to know!

jupyter lab presentation

Entering Presentation Mode

To view your slideshow click on the bar-chart button in the menu bar. This will start the presentation from the cell currently selected:

That’s it! This tutorial has given you an introduction to the basics of RISE for presenting with Jupyter Notebooks, you can of course customise these to your heart’s content using further plug-ins and more advanced Markdown. Here’s a summary of the useful links from this document to finish:

  • RISE Documentation
  • Markdown Cheatsheet
  • Markdown Table Generator

Twitter: @enjeeneer

Website: https://enjeeneer.io/.

nbslide 0.1.1

pip install nbslide Copy PIP instructions

Released: Jul 19, 2021

Slideshow extension for JupyterLab

Verified details

Maintainers.

Avatar for joaofelipenp from gravatar.com

Unverified details

Project links, github statistics.

  • Open issues:

View statistics for this project via Libraries.io , or by using our public dataset on Google BigQuery

License: BSD License (BSD-3-Clause)

Author: Joao Felipe Pimentel

Tags Jupyter, JupyterLab, JupyterLab3

Requires: Python >=3.6

Classifiers

  • OSI Approved :: BSD License
  • Python :: 3
  • Python :: 3.6
  • Python :: 3.7
  • Python :: 3.8
  • Python :: 3.9

Project description

Github Actions Status

Slideshow extension for JupyterLab. This extension adds a presentation mode for Jupyter Lab that hides cells during a presentation to help the audience focus on the part that matters.

In comparison to RISE , nbslide is a simpler extension that keeps the notebook look and feel and executes cells automatically during the presentation mode.

Why did you make this?

RISE is a great tool for general presentations, but the usage of reveal.js makes it not look much like a notebook. I was preparing a presentation that introduces Jupyter and faced the dilemma of using RISE and losing the look of a notebook, or running the notebook directly and losing the focus of the audience.

Additionally, I had made a similar extension for old jupyter notebooks before when I faced the same dilemma in a previous presentation. Thus, I decided to port it to Jupyter Lab, extend it to support the configuration of Slides, and make it more generic.

For configuring the Slideshow, nbslide uses the same options in the "Cell Toolbar" as RISE. However, the types may have a slightly different behavior:

  • slide : this cell is the beginning of a new slide (same behavior)
  • subslide : this cell is also the beginning of a new slide, but displaying it hides everything up to (and including) its main slide . It is useful for presenting changes on cells, since the default definition of slides displays them all sequentially.
  • fragment : this cell can be part of a slide or a subslide. It is hidden at first glance, but becomes visible once you advance the slide (same behavior as RISE). Note that in our case the behavior is not much different than setting a cell as a new slide . However, a fragment is also hidden for the exihibition of a subslide .
  • skip : this cell is ignored and never displayed during the presentation (same behavior as RISE).
  • notes : currently, nbslide does not have a speaker view, so it is the same as skip .

Additional configurations

In addition to these cell types it is also possible to add tags to cells for additional behaviors:

  • skiprun : prevents code cell from running during the slide display
  • noscroll : prevents the notebook scroll to move to the cell during the slide display

Finally, it is also possible to include additional properties to the "slideshow" metadata in the cell:

  • slide_title : defines the current slide title. By default, it uses the notebook name.
  • slide_suffix : defines the suffix of the title. By default, it reads and updates from Header elements.
  • slide_autosuffix : deactivate (and reactivate) the update of suffixes based on header elements.

The default shortcuts of nbslide are also different than the ones from RISE. We borrow shortcuts from Google presentations/Powerpoint:

  • Ctrl+F5 : Start/Stop presentation in the current slide.
  • Ctrl+Shift+F5 : Start presentation from the first slide.
  • Right Arrow : Move to the next slide. If it is hidden, nbslide executes all of its cells.
  • Left Arrow : Hide current slide and go to the previous one.
  • \ : Display current slide withou trying to execute it. Note that it is possible to use Down and Up arrows to navigate normally on the cells of the notebook, including the ones that are hidden.

Requirements

  • JupyterLab >= 3.0

To install the extension, execute:

To remove the extension, execute:

Contributing

Feel free to submit pull requests and open issues.

Development install

Note: You will need NodeJS to build the extension package.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm run build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

Development uninstall

In development mode, you will also need to remove the symlink created by jupyter labextension develop command. To find its location, you can run jupyter labextension list to figure out where the labextensions folder is located. Then you can remove the symlink named nbslide within that folder.

Project details

Release history release notifications | rss feed.

Jul 19, 2021

Jul 17, 2021

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages .

Source Distribution

Uploaded Jul 19, 2021 Source

Built Distribution

Uploaded Jul 19, 2021 Python 3

Hashes for nbslide-0.1.1.tar.gz

Hashes for nbslide-0.1.1-py3-none-any.whl.

  • português (Brasil)

Supported by

jupyter lab presentation

Search code, repositories, users, issues, pull requests...

Provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

Slideshow extension for JupyterLab.

JoaoFelipe/nbslide

Folders and files, repository files navigation.

Slideshow extension for JupyterLab. This extension adds a presentation mode for Jupyter Lab that hides cells during a presentation to help the audience focus on the part that matters.

In comparison to RISE , nbslide is a simpler extension that keeps the notebook look and feel and executes cells automatically during the presentation mode.

Why did you make this?

RISE is a great tool for general presentations, but the usage of reveal.js makes it not look much like a notebook. I was preparing a presentation that introduces Jupyter and faced the dilemma of using RISE and losing the look of a notebook, or running the notebook directly and losing the focus of the audience.

Additionally, I had made a similar extension for old jupyter notebooks before when I faced the same dilemma in a previous presentation. Thus, I decided to port it to Jupyter Lab, extend it to support the configuration of Slides, and make it more generic.

For configuring the Slideshow, nbslide uses the same options in the "Cell Toolbar" as RISE. However, the types may have a slightly different behavior:

  • slide : this cell is the beginning of a new slide (same behavior)
  • subslide : this cell is also the beginning of a new slide, but displaying it hides everything up to (and including) its main slide . It is useful for presenting changes on cells, since the default definition of slides displays them all sequentially.
  • fragment : this cell can be part of a slide or a subslide. It is hidden at first glance, but becomes visible once you advance the slide (same behavior as RISE). Note that in our case the behavior is not much different than setting a cell as a new slide . However, a fragment is also hidden for the exihibition of a subslide .
  • skip : this cell is ignored and never displayed during the presentation (same behavior as RISE).
  • notes : currently, nbslide does not have a speaker view, so it is the same as skip .

Additional configurations

In addition to these cell types it is also possible to add tags to cells for additional behaviors:

  • skiprun : prevents code cell from running during the slide display
  • noscroll : prevents the notebook scroll to move to the cell during the slide display

Finally, it is also possible to include additional properties to the "slideshow" metadata in the cell:

  • slide_title : defines the current slide title. By default, it uses the notebook name.
  • slide_suffix : defines the suffix of the title. By default, it reads and updates from Header elements.
  • slide_autosuffix : deactivate (and reactivate) the update of suffixes based on header elements.

The default shortcuts of nbslide are also different than the ones from RISE. We borrow shortcuts from Google presentations/Powerpoint:

  • Ctrl+F5 : Start/Stop presentation in the current slide.
  • Ctrl+Shift+F5 : Start presentation from the first slide.
  • Right Arrow : Move to the next slide. If it is hidden, nbslide executes all of its cells.
  • Left Arrow : Hide current slide and go to the previous one.
  • \ : Display current slide withou trying to execute it. Note that it is possible to use Down and Up arrows to navigate normally on the cells of the notebook, including the ones that are hidden.

Requirements

  • JupyterLab >= 3.0

To install the extension, execute:

To remove the extension, execute:

Contributing

Feel free to submit pull requests and open issues.

Development install

Note: You will need NodeJS to build the extension package.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm run build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

Development uninstall

In development mode, you will also need to remove the symlink created by jupyter labextension develop command. To find its location, you can run jupyter labextension list to figure out where the labextensions folder is located. Then you can remove the symlink named nbslide within that folder.

  • TypeScript 80.3%
  • Python 14.2%
  • JavaScript 5.0%

DZone

  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
  • Manage My Drafts

Open Source Migration Practices and Patterns : Explore key traits of migrating open-source software and its impact on software development.

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

MongoDB: Learn the fundamentals of working with the document-oriented NoSQL database; you'll find step-by-step guidance — even sample code!

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

  • Norm of a One-Dimensional Tensor in Python Libraries
  • Improving Sentiment Score Accuracy With FinBERT and Embracing SOLID Principles
  • Apache Flink
  • How To Use Amazon SageMaker for Machine Learning
  • How To Get Started With New Pattern Matching in Java 21
  • Succinct SP1: The Latest Tooling for Zero-Knowledge Proofs
  • The Evolution of Conversational AI: From Chatbots to Coherent Conversations With GenAI and LLMs
  • Node-RED Unleashed: Transforming Industrial IoT Development and Industry Collaboration With Hitachi

Creating Presentations With Jupyter Notebook

When you build a presentation using jupyter notebook, you'll be able to run code live from your slides..

Mike Driscoll user avatar

Join the DZone community and get the full member experience.

Jupyter Notebook can be turned into a slide presentation that is kind of like using Microsoft PowerPoint, except that you can run the slide's code live! It's really neat how well it works. The only con in my book is that there isn't a lot of theming that can be applied to your slides, so they do end up looking a bit plain.

In this article, we will look at two methods of creating a slideshow out of your Jupyter Notebook. The first method is by using Jupyter Notebook's built-in slideshow capabilities. The second is by using a plug-in called RISE .

Let's get started!

The first thing we need to do is to create a new Notebook. Once you have that done and running, let's create three cells so that we can have three slides. Your Notebook should now look like the following:

Image title

An empty notebook with 3 cells

Now let's turn on the "slideshow" tools. Go to the View menu and then click on the Cell Toolbar menu option. You will find a sub-menu in there that is called Slideshow . Choose that. Now your Notebook's cell should look like this:

Image title

An empty slideshow

There are now little comboboxes on the top right of each cell. These widgets give you the following options:

You can just create a series of Slides if you like, but you can make the slideshow a bit more interesting by adding Sub-Slides and Fragments. Sub-slides are just slides that are below the previous one while Fragments are basically fragments within the previous slide. As an aside, I have actually never used Fragments myself. Anyway you can also set a slide to Skip, which just allows you to skip a slide or Notes, which are just speaker notes.

Let's add some text to our first cell. We will add the text "# Hello Slideshow" to it and set the cell type to Markdown. Note the pound sign at the beginning of the text. This will cause the text to be a heading.

In cell two, we can add a simple function. Let's use the following code:

For the last cell, we will add the following text:

Make sure you set that to be a Markdown cell as well. This is what my cells ended up looking like when I was done:

Image title

Getting the slideshow ready

To make things simple, just set each of the cell's individual comboboxes to Slide .

Now we just need to turn it into an actual slideshow. To do that, you will need save your Notebook and shut down the Jupyter Notebook server. Next you will need to run the following command:

Image title

Running the slideshow

To navigate your slideshow, you can use your left and right arrow keys or you can use spacebar to go forward and shift_spacebar to go back. This creates a pretty nice and simple slideshow, but it doesn't allow you to run the cells. For that, we will need to use the RISE plugin!

Getting Started With RISE

Reveal.js - Jupyter/IPython Slideshow Extension (RISE) is a plugin that uses *reveal.js* to make the slideshow run live. What that means is that you will now be able to run your code in the slideshow without exiting the slideshow. The first item that we need to learn about is how to get RISE installed.

Installing rise with conda

If you happen to be an Anaconda user, then this is the method you would use to install RISE:

This is the easiest method of installing RISE. However most people still use regular CPython, so next we will learn how to use pip!

Installing rise with pip

You can use Python's pip installer tool to install RISE like this:

You can also do `python -m pip install RISE` if you want to. Once the package is installed, you have a second step of installing the JS and CSS in the proper places, which requires you to run the following command:

If you somehow get a version of RISE that is older than 5.3.0, then you would also need to enable the RISE extension in Jupyter. However, I recommend just using the latest version so you don't have to worry about that.

Using RISE for a SlideShow

Now that we have RISE installed and enabled, let's re-open the Jupyter Notebook we created earlier. Your Notebook should now look like this:

Image title

Adding RISE

You will notice that I circled a new button that was added by RISE to your Notebook. If you mouse over that button you will see that it has a tooltip that appears that says "Enter/Exit RISE Slideshow." Click it and you should see a slideshow that looks a lot like the previous one. The difference here is that you can actually edit and run all the cells while in the slideshow. Just double-click on the first slide and you should see it transform to the following:

Image title

Running with RISE

After you are done editing, press SHIFT+ENTER to run the cell. Here are the primary shortcuts you will need to run the slideshow effectively:

  • SPACEBAR - Goes forward a slide in the slideshow
  • SHIFT+SPACEBAR - Goes back a slide in the slideshow
  • SHIFT+ENTER - Runs the cell on the current slide
  • DOUBLE-CLICK - To edit a Markdown cell

You can view all the Keyboard shortcuts by going to the Help menu when not in Slideshow mode and clicking the Keyboard Shortcuts option. Most — if not all — of these shortcuts should work inside a RISE slideshow.

If you want to start the slideshow on a specific cell, just select that cell and then press the Enter Slideshow button.

RISE also works with Notebook widgets. Try creating a new cell with the following code:

Now start the slideshow on that cell and try running the cell (SHIFT+ENTER). You should see something like this:

Image title

Using a widget in RISE

You can use RISE to add neat widgets, graphs and other interactive elements to your slideshow that you can edit live to demonstrate concepts to your attendees. It's really quite fun and I have used RISE personally for presenting intermediate-level material in Python to engineers.

RISE also has several different themes that you can apply as well as minimal support for slide transitions. See the documentation for full information.

Wrapping Up

In this chapter we learned about two good methods for creating presentations out of our Jupyter Notebooks. You can use Jupyter directly via their nbconvert tooling to generate a slideshow from the cells in your Notebook. This is nice to have, but I personally like RISE better. It makes the presentations so much more interactive and fun. I highly recommend it. You will find that using Jupyter Notebook for your presentations will make the slides that much more engaging and it is so nice to be able to fix slides during the presentation too!

Related Reading

  • Presenting code using  Jupyter Notebook
  • The RISE  Github page
  • Jupyter nbconvert  Usage
  • How to build interactive presentations with  Jupyter Notebook and Reveal JS

Published at DZone with permission of Mike Driscoll , DZone MVB . See the original article here.

Opinions expressed by DZone contributors are their own.

Partner Resources

  • About DZone
  • Send feedback
  • Community research
  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone
  • Terms of Service
  • Privacy Policy
  • 3343 Perimeter Hill Drive
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

19th Edition of Global Conference on Catalysis, Chemical Engineering & Technology

  • Victor Mukhin

Victor Mukhin, Speaker at Chemical Engineering Conferences

Victor M. Mukhin was born in 1946 in the town of Orsk, Russia. In 1970 he graduated the Technological Institute in Leningrad. Victor M. Mukhin was directed to work to the scientific-industrial organization "Neorganika" (Elektrostal, Moscow region) where he is working during 47 years, at present as the head of the laboratory of carbon sorbents.     Victor M. Mukhin defended a Ph. D. thesis and a doctoral thesis at the Mendeleev University of Chemical Technology of Russia (in 1979 and 1997 accordingly). Professor of Mendeleev University of Chemical Technology of Russia. Scientific interests: production, investigation and application of active carbons, technological and ecological carbon-adsorptive processes, environmental protection, production of ecologically clean food.   

Title : Active carbons as nanoporous materials for solving of environmental problems

Quick links.

  • Conference Brochure
  • Tentative Program

Watsapp

  • Exchange rates
  • Change City

AVANGARD in Elektrostal, Russia

Avangard offices.

Offices of

  • Show the bank offices on map

Electrostal History and Art Museum

jupyter lab presentation

Most Recent: Reviews ordered by most recent publish date in descending order.

Detailed Reviews: Reviews ordered by recency and descriptiveness of user-identified themes such as wait time, length of visit, general tips, and location information.

Andrey M

Electrostal History and Art Museum - All You Need to Know BEFORE You Go (2024)

  • (0.19 mi) Elektrostal Hotel
  • (1.21 mi) Yakor Hotel
  • (1.27 mi) Mini Hotel Banifatsiy
  • (1.18 mi) Elemash
  • (1.36 mi) Hotel Djaz
  • (0.07 mi) Prima Bolshogo
  • (0.13 mi) Makecoffee
  • (0.25 mi) Amsterdam Moments
  • (0.25 mi) Pechka
  • (0.26 mi) Mazhor

IMAGES

  1. Jupyter-notebook (lab) : présentation

    jupyter lab presentation

  2. Jupyter Notebook

    jupyter lab presentation

  3. How to Create Presentation Slides from Jupyter Notebooks

    jupyter lab presentation

  4. Overview

    jupyter lab presentation

  5. What is Jupyter Notebook? Data analysis made easier

    jupyter lab presentation

  6. How to Create Presentation Slides in Jupyter

    jupyter lab presentation

VIDEO

  1. Session 8 -- Pandas & Jupyter/Lab

  2. Efficient Data Cleaning Techniques in Jupyter lab

  3. ISP560

  4. Jupyter lab login and case code running

  5. Use Jupyter Lab and Jupyter Notebooks

  6. Jupyter Lab. #jupyternotebook #jupyterlab #python #programacion #datascience

COMMENTS

  1. 5 Slides for Tips on Presentation Mode in Jupyter Notebook

    This is an alternative to copy-and-pasting screen captures into other presentation software. The first step is to enable the Slideshow option in the View > Cell Toolbar options. Just click on the Slideshow option and continue reading. Enable Slideshow. Each cell in the Jupyter Notebook will now have a Slide Type option in the upper-right corner.

  2. Create Presentation from Jupyter Notebook

    You can create a presentation directly from Jupyter Notebook. The presentation slides can be constructed from single, multi-code or Markdown cells. The cell's code can be hidden in the presentation (to not scare nontechnical viewers). The final slides can be shared as a website or converted to a PDF file.

  3. python

    Just complete your notebook and then configure each cell using the "Notebook Tools" tab on the far left (as shown in screenshot). Then save and close the notebook and run below command to output the slides. Open the terminal and navigate to the recently saved .ipynb and run. jupyter nbconvert Untitled2.ipynb --to slides. For slides or say.

  4. Creating Presentations with Jupyter Notebook

    It makes the presentations so much more interactive and fun. I highly recommend it. You will find that using Jupyter Notebook for your presentations will make the slides that much more engaging and it is so nice to be able to fix slides during the presentation too! Related Reading. Presenting code using Jupyter Notebook; The RISE Github page

  5. Create a slide deck using Jupyter Notebooks

    Jupyter's "nbconvert" to convert the notebook to Markdown. Pandoc to convert the Markdown to LaTeX while interpolating the raw_attribute bits. Beamer to convert the Pandoc output to a PDF slide-deck. Beamer's beamerarticle mode. All combined with a little bit of duct-tape, in the form of a UNIX shell script, to produce slide-deck creation software.

  6. Present Your Data Science Projects with Jupyter Notebook Slides!

    Making presentation slides for technical lectures, product live-demo's and sharing analysis is one of those boring tasks that has high return compared to investment. A good presentation slide can…

  7. Using a Jupyter notebook to make presentation slides

    Choose a slide type in the drop down menu of the cell itself (slide, sub-slide, fragment, skip or notes). Save the notebook. In the terminal, run jupyter nbconvert *.ipynb --to slides. Open the resulting .html file in a browser and use the arrow keys to navigate. The same week that I'm giving this talk, I'm also presenting the H0 review ...

  8. How to create data-driven presentations with jupyter notebooks, reveal

    Start a Jupyter Notebook/Jupyter Lab and add content. Step 6. Now that you have set up a github repo and you have added that repo as a submodule to your computer or instance, let's start building the contents of the slide deck. ... Let's create a simple five slide presentation in jupyter notebook. The syntax is simple and we will create ...

  9. Create interactive slides with Python in 8 Jupyter Notebook cells

    Creating presentations in Jupyter Notebook is a great alternative to manually updating slides in other presentation creation software. If your data changes, you just re-execute the cell and slide chart is updated. Jupyter Notebook is using Reveal.js (opens in a new tab) for creating slides from cells. The standard approach is to write slides ...

  10. Creating a Presentation with Jupyter Notebook and RISE (Video)

    Creating a Presentation with Jupyter Notebook and RISE (Video) / Python / By Mike / July 21, 2020 / jupyter, Python. In this tutorial, you will learn how to use Jupyter Notebooks to create slide show presentations. This allows you to run and edit live code in your slides. Creating a Presentation with Jupyter Notebook and RISE.

  11. Creating Interactive Slideshows in Jupyter Notebooks

    Once you're in the new fresh Notebook, you will need to enable the slideshow. For doing this, follow the following steps given below: 1. Click on the "View" tab in the Jupyter Notebook. 2. A dropdown menu will appear. Hover and select over the "Cell Toolbar" option. 3. Another dropdown appears.

  12. Turn your Jupyter Notebook into interactive Presentation Slides using

    After configured each cell in Jupyter Notebook using Anaconda, you can now follow the steps in the previous section "Convert ipynb file to HTML file" to turn your Jupyter Notebook into interactive HTML Presentation Slides. The generated output is a single HTML file, making it incredibly convenient to share and save on a USB drive.

  13. How to Create Presentations Using RISE in Jupyter Notebook

    RISE is a Jupyter Notebook extension that allows you to easily create reveal.js-based presentations from Jupyter Notebook. RISE is a relatively powerful tool with a lot of in-built functionality, which is also simple enough to be used by beginners. That being said, ...

  14. Presenting Code Using Jupyter Notebook Slides

    In order to open this notebook as a slideshow I need to run a command in Terminal: jupyter nbconvert Jupyter\ Slides.ipynb --to slides --post serve. 'Jupyter\ Slides.ipynb' was just the name ...

  15. Presenting with Jupyter Notebooks :: Scott Jeen

    The best way to walk through this tutorial is using the accompanying Jupyter Notebook: [Jupyter Notebook] - In the last year I've started presenting work using Jupyter Notebooks, rebelling against the Bill Gates'-driven status-quo. Here I'll explain how to do it. It's not difficult, but in my opinion makes presentations look slicker, whilst allowing you to run code live in a presentation ...

  16. JupyterLab Documentation

    JupyterLab is a highly extensible, feature-rich notebook authoring application and editing environment, and is a part of Project Jupyter, a large umbrella project centered around the goal of providing tools (and standards) for interactive computing with computational notebooks. A computational notebook is a shareable document that combines ...

  17. nbslide · PyPI

    nbslide. Slideshow extension for JupyterLab. This extension adds a presentation mode for Jupyter Lab that hides cells during a presentation to help the audience focus on the part that matters. In comparison to RISE, nbslide is a simpler extension that keeps the notebook look and feel and executes cells automatically during the presentation mode.

  18. GitHub

    nbslide. Slideshow extension for JupyterLab. This extension adds a presentation mode for Jupyter Lab that hides cells during a presentation to help the audience focus on the part that matters. In comparison to RISE, nbslide is a simpler extension that keeps the notebook look and feel and executes cells automatically during the presentation mode.

  19. Active carbons as nanoporous materials for solving of environmental

    Biography: Victor M. Mukhin was born in 1946 in the town of Orsk, Russia. In 1970 he graduated the Technological Institute in Leningrad. Victor M. Mukhin was directed to work to the scientific-industrial organization "Neorganika" (Elektrostal, Moscow region) where he is working during 47 years, at present as the head of the laboratory of carbon sorbents.

  20. Creating Presentations With Jupyter Notebook

    Next you will need to run the following command: 1. 1. jupyter nbconvert slideshow.ipynb --to slides --post serve. Running the slideshow. To navigate your slideshow, you can use your left and ...

  21. Victor Mukhin

    Victor M. Mukhin was born in 1946 in the town of Orsk, Russia. In 1970 he graduated the Technological Institute in Leningrad. Victor M. Mukhin was directed to work to the scientific-industrial organization "Neorganika" (Elektrostal, Moscow region) where he is working during 47 years, at present as the head of the laboratory of carbon sorbents.

  22. "AVANGARD" JSB in Elektrostal, addresses, phones and operation time of

    1. Address: Elektrostal, Lenina Avenue, 1V, Avenue» Phones: +7 (495) 234-23-24, +7 (495) 234-98-98, +7 (495) 737-73-73 (add. 08972) Operation time:

  23. Electrostal History and Art Museum

    Most Recent: Reviews ordered by most recent publish date in descending order. Detailed Reviews: Reviews ordered by recency and descriptiveness of user-identified themes such as wait time, length of visit, general tips, and location information.