class_docstr: A KernelClient with blocking APIs
  
  ``get_[channel]_msg()`` methods wait for and return messages on channels,
  raising :exc:`queue.Empty` if no message arrives within ``timeout`` seconds.
class_docstr_tok: ["A","KernelClient","with","blocking","APIs","``","get_","[","channel","]","_msg","(",")","``","methods","wait","for","and","return","messages","on","channels",",","raising",":","exc",":","`","queue.Empty","`","if","no","message","arrives","within","``","timeout","``","seconds","."]
docstr: Output hook when running inside an IPython kernel
  
  adds rich output support.
docstr_tok: ["Output","hook","when","running","inside","an","IPython","kernel","adds","rich","output","support","."]
code: def _output_hook_kernel(self, session, socket, parent_header, msg):
      """Output hook when running inside an IPython kernel
  
      adds rich output support.
      """
      msg_type = msg["header"]["msg_type"]
      if msg_type in ("display_data", "execute_result", "error"):
          session.send(
              socket, msg_type, msg["content"], parent=parent_header
          )
      else:
          self._output_hook_default(msg)
  
file_path: catboost/contrib/python/jupyter-client/py2/jupyter_client/blocking/client.py
imports: from __future__ import print_function
  from functools import partial
  from getpass import getpass
  import sys
  import time
  import zmq
  from traitlets import Type
  from jupyter_client.channels import HBChannel
  from jupyter_client.client import KernelClient
  from .channels import ZMQSocketChannel
label_desc: Use image node_id 5 for calling the BlockingKernelClient obj's underlying member method code with example usage: obj._output_hook_kernel(session, socket, parent_header, msg) without return types