class_docstr: Class for communicating between a Frontend and a Kernel
class_docstr_tok: ["Class","for","communicating","between","a","Frontend","and","a","Kernel"]
docstr: Open the frontend-side version of this comm
docstr_tok: ["Open","the","frontend-side","version","of","this","comm"]
code: def open(self, data=None, metadata=None, buffers=None):
      """Open the frontend-side version of this comm"""
      if data is None:
          data = self._open_data
      comm_manager = getattr(self.kernel, "comm_manager", None)
      if comm_manager is None:
          raise RuntimeError(
              "Comms cannot be opened without a kernel "
              "and a comm_manager attached to that kernel."
          )
  
      comm_manager.register_comm(self)
      try:
          self._publish_msg(
              "comm_open",
              data=data,
              metadata=metadata,
              buffers=buffers,
              target_name=self.target_name,
              target_module=self.target_module,
          )
          self._closed = False
      except:
          comm_manager.unregister_comm(self)
          raise
  
file_path: catboost/contrib/python/ipykernel/py2/ipykernel/comm/comm.py
imports: import uuid
  from traitlets.config import LoggingConfigurable
  from ipykernel.kernelbase import Kernel
  from ipykernel.jsonutil import json_clean
  from traitlets import Instance, Unicode, Bytes, Bool, Dict, Any, default
label_desc: Use image node_id 7 for calling the Comm obj's underlying member method code with example usage: obj.open(data, metadata, buffers) without return types