Skip to content
This repository has been archived by the owner on Oct 26, 2019. It is now read-only.

Widget Support

Peter Parente edited this page Nov 14, 2016 · 1 revision

This page is a work in progress

There is a large and growing set of libraries that add interactive JavaScript elements to notebook documents. Roughly speaking, these libraries fall into two categories with respect to how they accomplish the feat:

  1. By sending chunks of JavaScript from the kernel to the browser when the user runs code in the notebook. Plotly and bokeh take this approach.
  2. By requiring that a user install some or all of the JavaScript required as a notebook extension ahead of using the library. ipywidgets and declarative widgets are examples.

Of course, reality is messier than this simple categorization. Libraries in the first bucket do tend to make assumptions about the notebook environment, even if they don't require notebook extensions (e.g., they JS globals provided by the class Jupyter Notebook server). Likewise, libraries in the second bucket do sometimes emit bits of JavaScript from library calls in addition to whatever their extensions provide up front. That said, the classification is a useful model for understanding how certain libraries might work in the notebook server but fail to work in the dashboard server.

TODO: which tend to work well in dashboard server today, what action to take if a library doesn't work

Clone this wiki locally