Skip to main content

Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc.

Project description

Comm

It provides a way to register a Kernel Comm implementation, as per the Jupyter kernel protocol. It also provides a base Comm implementation and a default CommManager that can be used.

Register a comm implementation in the kernel:

Case 1: Using the default CommManager and the BaseComm implementations

We provide default implementations for usage in IPython:

import comm


class MyCustomComm(comm.base_comm.BaseComm):
    def publish_msg(self, msg_type, data=None, metadata=None, buffers=None, **keys):
        # TODO implement the logic for sending comm messages through the iopub channel
        pass


comm.create_comm = MyCustomComm

This is typically what ipykernel and JupyterLite's pyolite kernel will do.

Case 2: Providing your own comm manager creation implementation

import comm

comm.create_comm = custom_create_comm
comm.get_comm_manager = custom_comm_manager_getter

This is typically what xeus-python does (it has its own manager implementation using xeus's C++ messaging logic).

Comm users

Libraries like ipywidgets can then use the comms implementation that has been registered by the kernel:

from comm import create_comm, get_comm_manager

# Create a comm
comm_manager = get_comm_manager()
comm = create_comm()

comm_manager.register_comm(comm)

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

comm-0.2.2.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

comm-0.2.2-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file comm-0.2.2.tar.gz.

File metadata

  • Download URL: comm-0.2.2.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for comm-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e
MD5 b9ccfdbe0a7bdad9d18c82d43232ec8d
BLAKE2b-256 e9a8fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86

See more details on using hashes here.

File details

Details for the file comm-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: comm-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for comm-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3
MD5 8b190bc2bbb5216c9baeee6784edc498
BLAKE2b-256 e67549e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538

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