Skip to main content

IPyWidget wrappers to support rendering widgets on top of other widgets

Project description

IPyOverlay

Code style: black PyPI version License

IPyOverlay is a library of IPyWidget "wrapper components" that support rendering widgets on top of other widgets with arbitrary/controllable positioning. This allows interfaces with overlay elements, e.g. pop-up windows, custom context menus, etc.

The intent is to provide the mechanisms necessary to implement more complex details-on-demand functionality (one part of the visual information-seeking mantra published in The Eyes Have it: A Task by Data Type Taxonomy for Information Visualizations), for dashboards and visualizations that allow a user to hone in and get more in-depth information or additional plots when requested.

Installation

IPyOverlay can be installed via pip with:

pip install ipyoverlay

Documentation

User guide and API documentation can be found at https://ornl.github.io/ipyoverlay

Screenshots

Demo GIF of interacting with a plot with ipyoverlay A GIF demoing interaction with an ipympl Matplotlib figure. In the demo, Clicking a cluster opens a pop-up window with a new figure.

Figures rendered on top of other figures The background Matplotlib figure shown is rendered as an interactive ipympl widget and wrapped in IPyOverlay’s OverlayContainer, and shows a UMAP of clustered embeddings. Clicking a cluster or right-clicking and selecting an exhibit creates a click-and-draggable pop-up window containing a new visualization that plots more details for the selected cluster. Optionally, each pop-up window can show a line connecting the window to the center of the cluster it is associated with in the underlying figure.

Right click context menu Custom actions can be added as A right-click menu to any widget. This menu is specific to this Matplotlib UMAP and allows users to choose whether to open a violin or distribution plot for the hovered cluster.

Overlay widgets can span larger areas in the notebook If multiple separate “background” widgets (Matplotlib UMAP on the left and Plotly map on the right) are wrapped in an OverlayContainer, overlay widgets can be displayed and dragged over all of them.

Citation

To cite usage of IPyOverlay, you can use the following bibtex:

@misc{doecode_127817,
    title = {IPyOverlay},
    author = {Martindale, Nathan and Smith, Jacob and Linville, Lisa and Hite, Jason and Adams, Mark and Stewart, Scott},
    abstractNote = {IPyOverlay is a Python library that provides several IPyWidget components for use within the Jupyter software ecosystem. These components add novel UI capabilities to enable details-on-demand interaction paradigms by providing the ability to render widgets on top of other widgets with arbitrary and controllable positioning. This capability enables adding click-and-draggable overlay windows containing other widgets, right-click context menus, and more complex tooltip functionality.},
    doi = {10.11578/dc.20240530.1},
    url = {https://doi.org/10.11578/dc.20240530.1},
    howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20240530.1}},
    year = {2024},
    month = {may}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipyoverlay-0.2.0.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

ipyoverlay-0.2.0-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file ipyoverlay-0.2.0.tar.gz.

File metadata

  • Download URL: ipyoverlay-0.2.0.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for ipyoverlay-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1745c54ff82e372a21d45f9efd4f678c908c113ccd4e019ae83adeab4bf18ac5
MD5 1909c0885a75fb9cce385ca2e440bb3b
BLAKE2b-256 a65e63f0332c9b92586edf1a745f1baf669fbd6658e47c062e4e81abdfbdd488

See more details on using hashes here.

File details

Details for the file ipyoverlay-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ipyoverlay-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for ipyoverlay-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86f56ed574a523396ab8abf8daa3de0705266d500f8f6c18f8811e41f1220c84
MD5 0662ae57b80245e20c6971a46212c4b2
BLAKE2b-256 9db52744599a0bb641b98d767768c217a6e94a200b439811291be9b566db4920

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page