skillfed

pyviz-comms

A JupyterLab extension for rendering HoloViz content.

pyviz-comms v3.0.6 2.3M downloads/30d#3,121 on PyPI37
Permissive license BSD 3-Clause License Copyright (c) 2023, Philipp Rudiger All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the… (full text in the JSON record) Active released

What it is and what it does

pyviz_comms is a communication bridge for Jupyter environments that allows Python code running in the kernel to exchange messages with JavaScript code in the browser frontend. It abstracts away the complexity of Jupyter's comm protocol, providing a simple API for bidirectional messaging. The package is designed primarily to support HoloViz visualization tools (like HoloViews, Panel, and Datashader) in rendering interactive plots and dashboards, though it can be used by any tool that needs kernel-frontend communication.

The package consists of a Python component and an optional JupyterLab extension. For JupyterLab 3.0 and later, the extension is automatically included when you install the Python package via pip or conda. The package supports modern Python versions (3.8 through 3.11) and is actively maintained with a stable, production-ready status.

Use it for:

  • Building interactive HoloViz visualizations that respond to user input in Jupyter notebooks and JupyterLab.
  • Enabling real-time communication between Python analysis code and browser-based UI components in Panel dashboards.
  • Creating custom Jupyter extensions that need to exchange data between kernel and frontend without writing low-level comm protocol code.
  • Supporting collaborative visualization tools where Python computations drive live JavaScript rendering.
  • Integrating third-party JavaScript libraries with Python-based Jupyter workflows via message passing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides bidirectional communication between Python and JavaScript in Jupyter notebooks and JupyterLab, enabling HoloViz tools to send and receive messages across the kernel-frontend boundary.

Yes. Install if you're building or using HoloViz tools in Jupyter, or if you need a straightforward way to add bidirectional Python-JavaScript communication to a Jupyter extension. The package is low-friction, actively maintained, permissively licensed, and has no known vulnerabilities. It's a stable dependency for interactive visualization workflows.

Install

pyviz-comms on PyPI

pip

pip install pyviz-comms

uv

uv add pyviz-comms

poetry

poetry add pyviz-comms

Installing pyviz-comms

Before you install

Low friction: pure Python wheel with a single dependency (param). Actively maintained with recent commits and stable status. Automatically bundled with JupyterLab 3.0+.

License in practice

BSD 3-Clause License permits commercial and private use with minimal restrictions; you must retain copyright notice and disclaimer in distributions.

Quickstart

pip install pyviz_comms

from pyviz_comms import Comm
comm = Comm(target_name='my_target')

JupyterLab 3.0+ includes the extension automatically; older JupyterLab versions require separate manual extension installation.

Verify before relying

  • Whether the package works with non-Jupyter Python environments or is strictly Jupyter-dependent.
  • Performance characteristics or message throughput limits for high-frequency communication scenarios.
  • Specific HoloViz tool version requirements beyond the general compatibility table provided.

Package facts

License BSD 3-Clause License Copyright (c) 2023, Philipp Rudiger All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — param
Maintenance actively maintained — 420 days since the last release
Last repo commit
First released
Downloads 2,343,283/month — #3,121 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyviz_comms-3.0.6-py3-none-any.whl

Development Status :: 5 - Production/StableFramework :: JupyterFramework :: Jupyter :: JupyterLabFramework :: Jupyter :: JupyterLab :: 4Framework :: Jupyter :: JupyterLab :: ExtensionsFramework :: Jupyter :: JupyterLab :: Extensions :: PrebuiltIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development :: Libraries

Tags

jupyter python javascript communicationjupyterlab extension holovizbidirectional comms jupyterholoviz interactive visualizationjupyter kernel frontend messagingjupyterlab pyviz extensioninteractive notebook communication
jupyter-extensionholoviz-ecosysteminteractive-viz

More Libraries packages