A custom widget for returning mouse and keyboard events to Python
Project Links
Meta
Author: Matt Craig
Requires Python: >=3.9
Classifiers
Framework
- Jupyter
Intended Audience
- Developers
- Science/Research
License
- OSI Approved :: BSD License
Programming Language
- Python
- Python :: 3
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
ipyevents
Browsers events for your jupyter widgets
ipyevents provides a custom widget for returning mouse and keyboard events to Python. Use it to:
- add keyboard shortcuts to an existing widget;
- react to the user clicking on an image;
- add callbacks on arbitrary mouse and keyboard events.
See this demo notebook for documentation.
Special thanks to the contributors to ipyevents!
Try it on binder:
Documentation
Installation
To install using conda:
$ conda install -c conda-forge ipyevents
To install use pip:
$ pip install ipyevents
Using with JupyterLab (whether you installed with conda or pip):
- The stable releases of ipyevents (
2.0.0and higher) are only built for JupyterLab 3 and up. - The last release that is built for JupyterLab 2 is 0.9.0. See the README for that version for installation instructions.
$ jupyter labextension install @jupyter-widgets/jupyterlab-manager ipyevents
For a development installation (requires npm),
$ git clone https://github.com/mwcraig/ipyevents.git
$ cd ipyevents
$ pip install -e .
$ jupyter nbextension install --py --symlink --sys-prefix ipyevents
$ jupyter nbextension enable --py --sys-prefix ipyevents
For Jupyter Lab also do this:
$ npm install
$ npm run build
$ jupyter labextension install
2.0.4
Sep 15, 2025
2.0.3
Sep 12, 2025
2.0.2
Aug 21, 2023
2.0.1
Jul 15, 2021
2.0.0
Jul 15, 2021
0.9.0
Jul 14, 2021
0.8.2
Feb 18, 2021
0.8.1
Oct 18, 2020
0.8.0
Jul 08, 2020
0.7.1
Apr 02, 2020
0.7.0
Oct 05, 2019
0.6.3
Jul 29, 2019
0.6.2
Jul 18, 2019
0.6.1
Jul 09, 2019
0.6.0
Jul 09, 2019
0.5.0
Apr 27, 2019
0.4.1
Feb 25, 2019
0.4.0
Jan 01, 2019
0.3.2
Nov 20, 2018
0.3.1
Jun 29, 2018
0.3.0
May 01, 2018
0.2.0
Jan 25, 2018
0.0.1
Oct 29, 2017