class_docstr: Default CommManager singleton implementation for Comms in the Kernel
class_docstr_tok: ["Default","CommManager","singleton","implementation","for","Comms","in","the","Kernel"]
docstr: Get a comm with a particular id
  
  Returns the comm if found, otherwise None.
  
  This will not raise an error,
  it will log messages if the comm cannot be found.
docstr_tok: ["Get","a","comm","with","a","particular","id","Returns","the","comm","if","found",",","otherwise","None",".","This","will","not","raise","an","error",",","it","will","log","messages","if","the","comm","can","not","be","found","."]
code: def get_comm(self, comm_id: str) -> BaseComm | None:
      """Get a comm with a particular id
  
      Returns the comm if found, otherwise None.
  
      This will not raise an error,
      it will log messages if the comm cannot be found.
      """
      try:
          return self.comms[comm_id]
      except KeyError:
          logger.warning("No such comm: %s", comm_id)
          if logger.isEnabledFor(logging.DEBUG):
              # don't create the list of keys if debug messages aren't enabled
              logger.debug("Current comms: %s", list(self.comms.keys()))
          return None
  
imports: from __future__ import annotations
  import contextlib
  import logging
  import typing
  import uuid
  from traitlets.utils.importstring import import_item
  import comm
label_desc: Use image node_id 6 for calling the CommManager obj's underlying member method code with example usage: obj.get_comm(comm_id) and returns: self, None