Skip to content
Jason Grout edited this page Apr 27, 2023 · 22 revisions

Jupyter Widgets is a system for providing interactive JavaScript controls for objects in a Jupyter kernel.

Here are some helpful resources about Jupyter widgets and where they are supported. These unofficial lists are maintained by the community at large in hopes they will be helpful. Listing here does not imply endorsement by Project Jupyter. These lists are certainly not comprehensive. Feel free to edit this page to include or update relevant information.

Custom Jupyter Widgets

Beyond the basic form controls (sliders, checkboxes, text inputs, date/color pickers, etc.) and containers (tabs, horizontal/vertical boxes, grids) provided by the core ipywidgets project, there are many projects providing custom interactive widgets. Here we list a few. In addition to the projects below, you may also find custom Jupyter Widgets in the jupyter-widgets GitHub topic.

Name Language Description
bqplot Python Python plotting library using d3js
clustergrammer2 Python "Dimensionality-increasing" data visualization tool and interactive WebGL Jupyter widget built for single-cell data.
glue-jupyter Python Glue front-end for multi-dimensional linked-data exploration
idom-jupyter Python A client for IDOM
ipycanvas Python An HTML Canvas Widget for displaying and interacting with 2d graphics
ipycytoscape Python Visualize node-edge graphs with Cytoscape
ipydagred3 Python drawing directed acyclic graphs using dagre-d3
ipydatagrid Python Fast Datagrid widget
ipydatawidgets Python A set of widgets to help facilitate reuse of large datasets across widgets
ipydatetime Python Date/time pickers for ipywidgets 7 only (these widgets are included in ipywidgets 8 core widgets)
ipyevents Python Capture and interact with DOM Events in Python
ipyfilechooser Python A file browser widget yielding the path and filename of the chosen file
ipyflex Python WYSIWYG layout editor for Jupyter Widgets
ipygany Python Scientific Visualization in Jupyter
ipyleaflet Python Geographic maps using leaflet
ipymaterialui Python Jupyter Widgets based on React Material UI components
ipympl Python The Maptlotlib interactive backend
ipyregulartable Python High performance, editable, stylable datagrids
ipysegment Python manual image segmentation
ipysheet Python Jupyter handsontable integration
ipytone Python Interactive Audio in Jupyter
ipytree Python A Tree Widget using jsTree
ipyvolume Python 3D plotting in Jupyter
ipyvue Python Jupyter widgets base for Vue libraries
ipyvuetify Python Jupyter widgets based on vuetify UI components which implement Google's Material Design Spec with the Vue.js framework
ipywebrtc Python Create and record/stream a variety of media streams, such as videos, images, your own webcam, etc.
itkwidgets Python Visualize images, point sets, and meshes in 2D and 3D
jdaviz Python Astronomical data analysis visualization tools
jupyter_bokeh Python An extension for rendering Bokeh content in JupyterLab notebooks
jupyter-innotater Python Annotate data including image bounding boxes inline
jupyter-jsmol Python A JSmol viewer widget for 3d chemical structures
jupyter-scatter Python Interactive 2D scatter plot widget scaling to millions of points
kepler.gl Python Geospatial analysis tool for large-scale data sets.
lineup_widget Python Create, visualize and explore rankings of items based on a set of heterogeneous attributes using LineUp.js
mito Python A spreadsheet that generates Pandas code for every edit
mpl-interactions Python Helpful ways to interact with Matplotlib plots.
panel Python A high-level app and dashboarding solution for Python
psplay Python Interactive power spectrum code
pythreejs Python 3D library using three.js
pyvipr Python dynamic and static visualizations of systems biology models written in PySB, BNGL, and SBML
pywwt Python Python interface to the AAS WorldWide Telescope
qsl Python A quick and simple tool for labeling images, videos and time series data.
react-ipywidgets Python A way to write reusable components in a React-like way, to make Python-based UI's using the ipywidgets ecosystem (ipywidgets, ipyvolume, bqplot, threejs, leaflet, ipyvuetify, ...)
trident-chemwidgets Python Interact with molecular datasets
VegaFusion Python Serverside acceleration for the Vega visualization grammar
widget-periodictable Python Select chemical elements from the periodic table.
xcanvas C++ A Canvas Widget
xwidgets C++ The C++ counterpart for ipywidgets
fastplotlib Python A fast plotting library built using the pygfx render engine utilizing Vulkan via WGPU
pygfx Python A python render engine targeting Vulkan/Metal/DX12.
wgpu Python A Python implementation of WebGPU - the next generation GPU API.
jupyter_rfb Python Remote Frame Buffer for Jupyter

Frontends that support Jupyter widgets

Name Package to install Core widget support Custom widget support Examples Notes
JupyterLab jupyterlab-widgets (ipywidgets installs this automatically)
Jupyter Notebook widgetsnbextension (ipywidgets installs this automatically)
JupyterLite none Examples
VS Code none
Google Colab none Example
CoCalc none partial
Databricks none partial Examples
JetBrains Datalore none none

Kernels that support Jupyter Widgets

Name Language Package to install Core widget support Custom widget support Examples Notes
IPython/ipykernel Python ipywidgets
xeus-python Python ipywidgets
xeus-cling C++ xwidgets