Hide code in Jupyter Notebook Presentation Creating a Jupyter Notebook presentation is a great way to share your data-rich results. All your plots and results are already in slides. There is no need to copy results between Jupyter Notebook and software for presentation manually. The slideshow is a preferred way to share results with non-technical stakeholders. The code in the slides might scare them. How to hide code in a presentation generated from Jupyter Notebook? We will show you 3 approaches to hiding code in the slides.

Use nbconvert

The nbconvert command line tool can be used to convert Jupyter Notebook to presentation slides. It has an option --no-input to hide the input code. The command to convert Jupyter Notebook to the presentation:

jupyter nbconvert --to slides --no-input my-notebook.ipynb

The above command will produce a my-notebook.slides.html file with a Reveal.js presentation.

If you would like to serve the presentation locally without the code, use:

jupyter nbconvert --to slides --no-input --post serve my-notebook.ipynb

Hide-code extension

There is a hide_code extension. It can be used to hide code in cells selectively. The nice thing about the extension is that it works with the nbconvert and a RISE extension for slide development.

Installation steps in the virtual environment (added --user parameter):

pip install hide_code
jupyter nbextension install --py --user hide_code
jupyter nbextension enable --py --user hide_code
jupyter serverextension enable --py --user hide_code

Please switch on the Hide code extension in the cell by clicking View->Cell Toolbar->Hide Code. Each cell will have a toolbar where you can click a checkbox to show or not a cell in the output notebook.

Enable hide_code extension

The hide_code extension can be used with a nbconvert tool with a hide_code_slides argument passed:

jupyter nbconvert --to hide_code_slides my-notebook.ipynb

Hide code in Mercury

The Mercury open-source framework can be used to create parameterized presentations. It uses the YAML header to add interactive widgets to the notebook. There is a show-code parameter, which decides about displaying the code.

The example YAML header:

---
title: Parametrized Presentation 📊
description: Presentation with widgets
output: slides
show-code: False    

# the rest of parameters ...
---

The YAML header is added in the first cell of the notebook. The Mercury serves the notebook as a web application. The output can be a web application, dashboard, report, or presentation.

An example of the parameterized presentation created with Jupyter Notebook and Mercury:

Presentation in Mercury

Summary

Not everyone is a code lover. Developers using Jupyter Notebook to create slides need to hide the code in the presentation. Slides with hidden code don’t scare non-technical users and still have all plots and results. The Jupyter Notebook with code and results can be committed to a code repository, where tech-savvy users can view them.


Convert Python Notebooks to Web Apps

We are working on open-source framework Mercury for converting Jupyter Notebooks to interactive Web Applications.



MLJAR Robot

Articles you might find interesing

  1. 8 surprising ways how to use Jupyter Notebook
  2. Create a dashboard in Python with Jupyter Notebook
  3. Build Computer Vision Web App with Python
  4. Develop NLP Web App from Python Notebook
  5. Build dashboard in Python with updates and email notifications
  6. Share Jupyter Notebook with non-technical users

Robots Integration

Join our newsletter

Subscribe to our newsletter to receive product updates