ipywidgets

Interactive Widgets for the Jupyter Notebook

Github stars Tracking Chart

ipywidgets: Interactive HTML Widgets

Version
Build Status
Documentation Status
Join the chat at https://gitter.im/ipython/ipywidgets
Binder

ipywidgets are interactive HTML widgets
for Jupyter notebooks and the IPython kernel.

Notebooks come alive when interactive widgets are used. Users gain control of
their data and can visualize changes in the data.

Learning becomes an immersive, fun experience. Researchers can easily see
how changing inputs to a model impact the results. We hope you will add
ipywidgets to your notebooks, and we're here to help you get started.

Core Interactive Widgets

A demonstration notebook provides an overview of the core interactive widgets, including:

  • sliders
  • progress bars
  • text boxes
  • toggle buttons and checkboxes
  • display areas
  • and more

Jupyter Interactive Widgets as a Framework

Besides the widgets already provided with the library, the framework can be
extended with custom widget libraries.

A template project is available in the form of a cookie cutter here.

This project is meant to help custom widget authors get started with the
packaging and the distribution of Jupyter interactive widgets.

It produces a project for a Jupyter interactive widget library following the
current best practices for using interactive widgets. An implementation for a
placeholder "Hello World" widget is provided.

Popular widget libraries such as
bqplot,
pythreejs and
ipyleaflet

follow exactly the same template and directory structure. They can serve as
more advanced examples of usage of the Jupyter widget infrastructure.

For detailed information, please refer to the ipywidgets documentation.

More advanced examples

Examples of custom widget libraries built upon ipywidgets are

  • bqplot a 2d data visualization library
    enabling custom user interactions.
  • pythreejs a Jupyter - Three.js wrapper,
    bringing Three.js to the notebook.
  • ipyleaflet a leaflet widget for Jupyter.

Install

Install the current version of ipywidgets using pip or conda.

  • With pip:
pip install ipywidgets
jupyter nbextension enable --py --sys-prefix widgetsnbextension  # can be skipped for notebook version 5.3 and above
  • With conda:
conda install -c conda-forge ipywidgets

See the Installation section of the documentation for additional details.

Installing from git

If you want to install ipywidgets from git, you will need the
yarn package manager version 1.2.1 or later
.
Installing from git is more complicated and requires a developer install, see the developer install instructions.

To install the latest master version from the root directory of the source
code, run dev-install.sh. To only build the Python package enter pip install -e ..

Compatibility, ipywidgets version, Required notebook version, -------------------, -------------------------, master, 4.4, 5.x, 4.2, 4.1.x, 4.1, 4.0.x, 4.0, Change log

Usage

See the examples section of the documentation. The widgets are being used in a variety of ways; some uses can be seen in these notebooks:

Contributing to ipywidgets

License

We use a shared copyright model that enables all contributors to maintain the
copyright on their contributions.

See the LICENSE file in this repository for details.

Project Jupyter resources

Main metrics

Overview
Name With Ownerjupyter-widgets/ipywidgets
Primary LanguageTypeScript
Program languagePython (Language Count: 7)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2015-04-17 20:29:25
Pushed At2025-05-05 12:43:44
Last Commit At
Release Count1253
Last Release Name8.1.7 (Posted on )
First Release Name4.0.0 (Posted on 2015-08-03 13:55:56)
用户参与
Stargazers Count3.2k
Watchers Count78
Fork Count0.9k
Commits Count7.9k
Has Issues Enabled
Issues Count2058
Issue Open Count708
Pull Requests Count1645
Pull Requests Open Count67
Pull Requests Close Count219
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private