SciProg Workshop Material: Introducing Interactivity into Jupyter Notebooks

Introducing Interactivity into Jupyter Notebooks

Workshop facilitator: Laura Gutierrez Funderburk | Department of Mathematics | Simon Fraser University
Workshop date: October 9 2018


In this workshop we will explore the use of Jupyter Widgets and how they allow developers to add an interactive element to Jupyter notebooks.

Getting Started


If you have an SFU login account, you can skip installing Python and simply access one of SFU’s Jupyter servers


Ensure you have installed Python on your local computer. Throughout these exercises, I will be using Python 3.6. One of the easiest ways to install Python on your local computer is by downloading and installing Anaconda. I strongly recommend installing Anaconda as it includes Jupyter Notebooks, Matplotlib and other packages that will be used throughout this workshop.


Installing Anaconda

Installing Jupyter


Jupyter Notebooks are a powerful tool to program in Python/R and share information. The key feature we will explore in this notebook is the flexibility that Jupyter allows to explore code for both programmers and non-programmers. In this series of notebooks we will explore that versatility and allow programmers to learn about how they can use Python and Jupyter widgets and magics to make their notebooks more user friendly and add an element of interactivity.

Workshop Structure

In this section I will provide a short description of each exercise.


What are widgets and why are they useful.

Exercise 0 Call widgets

How to call widgets

Exercise 1 Interact and Interact Manual to connect Functions to Widgets

How to connect widgets and functions

Exercise 2 Jupyter Magics

Introducing HTML and Javascript into a Python notebook

The material in this workshop was built using


I thank Dr. Cedric Chauve for his encouragement and involvement in my development. This workshop was inspired on the basis of my learning experiences with him as a Callysto Developer during Summer 2018. I also ackowledge and thank Callysto Developers Howell Tan and Jenifer Pham, whom I learned with many of the concepts shared throughout this workshop.