Shiny App in Python? Bokeh + Jupyter notebook

Cheuk Ting Ho (~Cheukting)




Data scientist love building Shiny apps. It lets you create an interactive dashboard without the complexity of handling javascript or HTML. It also integrates well with other tools for data science as well. If you code in Python and you love Jupyter notebook, I will teach you how to make a “Shiny app” in Jupyter notebook with Python using Bokeh.

This tutorial will consist of theoretical sessions that are mainly presentation and live coding demo, and practical session which students can work on their own. If technology allows, students are encouraged in groups to finish a mini-project.

Before actually the start of the tutorial, we will send about 10 mins for the tech check. This is to make sure that students have the required libraries installed. In the first part, it will be focused on Bokeh. Assuming students does not have previous experience with Bokeh, we will go through how to make basics plots with Bokeh. Students, even those with some previous experience with Bokeh, can get themselves familiar with the tool. This part will be around 55 minutes.

In the second part, we will dive into the interactivities in Bokeh. We will go through the widgets, the CustomJS js_link and js_on_change in Bokeh. In this part, students will build a solid foundation of understanding how different objects in Bokeh can be interacting with each other. Here, students will understand how to get a user’s input from the widgets, using the js_link or js_on_change to manipulate the experience of the plots, hence create the interactivity. This part will be around 55 minutes.

In the third part, students can pick 1 out of 3 predesigned hands-on projects to work on. In this part, if the technical setting is allowed, students are encouraged to form groups and work together so they can learn from each other. If time allows, we will have a brief show and tell session for anyone that wants to share their work. This part will be around 1 hour.


This tutorial is for anyone who is interested in making an interactive dashboard in Jupyter notebook. Students are expected to be able to code in basic Python and basic Javascript in Jupyter notebook environment.

Speaker Info:

After spending 5 years researching theoretical physics at Hong Kong University of Science and Technology, Cheuk has transferred her analytical and logical skills in natural science and built a career in data science. Cheuk has been a Data Scientist in one of the biggest worldwide wholesalers in the travel business; an AWS partnered consultancy which delivers machine learning model; a startup aiming to revolutionise revenue management with data science and; a global bank using machine learning to investigating financial crime. Now Cheuk is working in a team of developers building a revolutionary graph database - TerminusDB.

Cheuk constantly contributes to the community by giving AI and deep learning workshops and organize sprints for open source projects, at the same time contribute to open source projects including Pandas, Keras, Scikit-learn, Dateutil and maintaining her open-source library - PicknMix. Cheuk has also been a guest speaker at Universities and various conferences. Believing in gender equality, Cheuk is currently a co-organizer of AI Club for Gender Minorities to support Tech Diversity and Inclusion. On top of speaking at conferences, Cheuk has joined the organizing team of EuroPython and PyData Global.

Speaker Links:

Everything can be found on my website:

Section: Data Science, Machine Learning and AI
Type: Workshop
Target Audience: Intermediate
Last Updated: