Deploying Dynamic Dashboards

Share: Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditEmail this to someonePrint this page

You’ve spent some time cleaning and manipulating data in Jupyter Notebook. You even added some interactive widgets to show off your results. Now you need to make this available to others. You could use nbconvert, but then you lose widget interactivity. And distributing the raw notebook file is far too technical for some users. How can we distribute our report in a clean, easy to understand format while allowing for widget and data interactivity?

The Dynamic Dashboards set of projects handles this, allowing you to create a dashboard and deploy to a secure server where users can interact with live data.


dashboard deploy
Deploying dynamic dashboard based on Tour demo from Declarative Widgets

Dynamic Dashboards

Dynamic Dashboards are a set of projects that work in or with the Jupyter Notebook, allowing you to quickly create and deploy a usable dashboard app from your notebook:

  • Dashboards extension: Create a grid-based dashboard within Jupyter Notebook. Show only the cells you want, hiding the ones that contain “plumbing” code.
  • Dashboards Bundler: Package and deploy your finished dashboard and associated resources as a web app.
  • Dashboards Server: Securely serve notebook-based dashboards as standalone web apps.

Try It Yourself

To illustrate the deployment flow, we’ve created a recipe which uses docker-compose to setup and run all of the necessary pieces. Follow the instructions under Try It to get set up (pay attention to the prerequisites).

Here’s how to deploy your own dynamic dashboard (this assumes your Docker is setup at IP

  1. Open the Jupyter Notebook: Create a new notebook or upload an existing one. Create cells as necessary. Execute all of the cells (one-by-one, or using Cell > Run All).
  2. Switch to the Dashboard Layout mode: View > Dashboard Layout. In this view, you can hide cells that you don’t want to show to end users (such as code-only cells), as well as moving/resizing cells in a grid pattern. Click on the More Info link at the top of the page for usage instructions.
  3. Select View > Dashboard Preview to get a quick look at what your finished dashboard will look like.
  4. Once you are ready to deploy, select File > Deploy as > Dashboard on Jupyter Dashboard Server. This will open your new dashboard in a new browser tab, running on the Dashboard Server (
    • If you are asked to login, use the demo for both the login and password.

Dynamic Dashboards runs your code the same as it does in the Notebook, allowing you to quickly create rich, dynamic web apps built around your data. Widget and graphing libraries that you have used in the Notebook (such as Interactive HTML Widgets (ipywidgets) and Matplotlib) work just as well in Dynamic Dashboards. The Tour demo notebook shown above uses another of our projects, the Declarative Widgets library.

Keep in mind that all of these projects are still works-in-progress. Over time, the dashboard generation capabilities will be integrated into Juptyer Notebook and the forth-coming JupyterLab. Give them a spin and let us know what you think. We welcome pull requests and issue reports.

Share: Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditEmail this to someonePrint this page
Javier Pedemonte

Latest posts by Javier Pedemonte (see all)

Javier Pedemonte

Leave a Reply