Skip to content

comm

Classes:

  • Comm

    An implementation of comm.BaseComms for async-kernel (on pypi).

Comm

Bases: HasInterface, BaseComm

An implementation of comm.BaseComms for async-kernel (on pypi).

Methods:

Source code in src/async_kernel/comm.py
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Comm(HasInterface, BaseComm):
    """
    An implementation of `comm.BaseComms` for async-kernel  ([on pypi](https://pypi.org/project/comm/)).
    """

    @override
    def publish_msg(
        self,
        msg_type: str,
        data: MaybeDict = None,
        metadata: MaybeDict = None,
        buffers: BuffersType = None,
        **keys,
    ) -> None:
        """Helper for sending a comm message on IOPub."""
        content = {"data": {} if data is None else data, "comm_id": self.comm_id} | keys
        if parent := self.parent:
            parent.iopub_send(
                msg_or_type=msg_type,
                content=content,
                metadata=metadata,
                parent=None,
                ident=self.topic,
                buffers=buffers,
            )

    @override
    def handle_msg(self, msg: comm.base_comm.MessageType) -> None:
        """Handle an comm_msg message"""
        if self._msg_callback:
            self._msg_callback(msg)

publish_msg

publish_msg(
    msg_type: str,
    data: MaybeDict = None,
    metadata: MaybeDict = None,
    buffers: BuffersType = None,
    **keys,
) -> None

Helper for sending a comm message on IOPub.

Source code in src/async_kernel/comm.py
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@override
def publish_msg(
    self,
    msg_type: str,
    data: MaybeDict = None,
    metadata: MaybeDict = None,
    buffers: BuffersType = None,
    **keys,
) -> None:
    """Helper for sending a comm message on IOPub."""
    content = {"data": {} if data is None else data, "comm_id": self.comm_id} | keys
    if parent := self.parent:
        parent.iopub_send(
            msg_or_type=msg_type,
            content=content,
            metadata=metadata,
            parent=None,
            ident=self.topic,
            buffers=buffers,
        )

handle_msg

handle_msg(msg: MessageType) -> None

Handle an comm_msg message

Source code in src/async_kernel/comm.py
47
48
49
50
51
@override
def handle_msg(self, msg: comm.base_comm.MessageType) -> None:
    """Handle an comm_msg message"""
    if self._msg_callback:
        self._msg_callback(msg)