ipympl
Matplotlib Jupyter Extension
Decision gist · record as of 2026-08-14
Yes. ipympl is actively maintained, has no known vulnerabilities, carries a permissive BSD license, and solves a real problem for Jupyter users who want interactive matplotlib plots. Install friction is low and dependencies are standard. Recommended for any Jupyter-based data analysis or visualization workflow.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires JupyterLab >= 3 for full support; JupyterLab 2 requires manual extension installation.
- Requires matplotlib >= 3.5.0 for ipympl 0.10.0.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
permissive license (permissive) — BSD 3-Clause permissive license allows unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
last release 2026-01-21 (205 days) · last repo commit 2026-07-31 · 1,656 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,245,333 downloads/mo, #3,191 on PyPI
Alternatives
Verify before relying
pip install ipympl
# In a Jupyter notebook cell:
%matplotlib ipympl
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 4, 9])
plt.show()- Whether the interactive widget canvas can be embedded in custom Jupyter widget layouts as described
- Performance characteristics when rendering large or complex plots in notebook environments
What it is and what it does
ipympl is a Jupyter extension that brings matplotlib's interactive plotting capabilities into Jupyter notebooks and JupyterLab. It works by registering itself as a matplotlib backend that renders plots as Jupyter interactive widgets instead of static images. When you use the `%matplotlib ipympl` magic command, subsequent matplotlib plots become interactive—you can pan, zoom, and interact with them directly in the notebook.
The package depends on ipython, ipywidgets, matplotlib, numpy, pillow, and traitlets. It's designed for scientific and data analysis workflows where interactive exploration of plots is valuable. The figure canvas is a proper Jupyter widget, meaning it can be positioned within interactive widget layouts alongside other controls, enabling integrated interactive dashboards within notebooks.
Use it for
- Exploratory data analysis in Jupyter notebooks where interactive pan/zoom of plots improves investigation workflow
- Building interactive dashboards combining matplotlib plots with Jupyter widgets for parameter adjustment
- Scientific research notebooks requiring interactive visualization of computational results
- Educational notebooks where students can interact with plots to understand data relationships
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
ipympl is actively maintained, has no known vulnerabilities, carries a permissive BSD license, and solves a real problem for Jupyter users who want interactive matplotlib plots. Install friction is low and dependencies are standard. Recommended for any Jupyter-based data analysis or visualization workflow.
Install
ipympl on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent commit history and is part of the matplotlib project ecosystem. Runtime dependencies are all standard scientific Python libraries.
Requires JupyterLab >= 3 for full support; JupyterLab 2 requires manual extension installation. Requires matplotlib >= 3.5.0 for ipympl 0.10.0.
License in practice
BSD 3-Clause permissive license allows unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install ipympl
# In a Jupyter notebook cell:
%matplotlib ipympl
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [1, 4, 9])
plt.show()
Verify before relying
- Whether the interactive widget canvas can be embedded in custom Jupyter widget layouts as described
- Performance characteristics when rendering large or complex plots in notebook environments
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesipythonipywidgetsmatplotlibnumpypillowtraitlets |
| Maintenance | Actively maintained 205 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,245,333 / month, #3,191 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaFramework :: IPythonFramework :: JupyterFramework :: Jupyter :: JupyterLabFramework :: Jupyter :: JupyterLab :: 3Framework :: Jupyter :: JupyterLab :: 4Framework :: Jupyter :: JupyterLab :: ExtensionsFramework :: Jupyter :: JupyterLab :: Extensions :: PrebuiltIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Multimedia :: Graphics |
Evidence: ipympl-0.10.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “interactive matplotlib jupyter”
- ipymplipympl enables interactive matplotlib plots in Jupyter notebooks and…
- matplotlib-inlineEnables matplotlib figures to display inline directly within Jupyter…
- matplotlibmatplotlib creates static, animated, and interactive visualizations…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also ipylab · ipytree · jupyter_bokeh · pythreejs · jupyterlab-widgets · ipysigma · ipyparallel · ipyvue · ipydatawidgets