class_docstr: Adaptor to provide IPython completions to prompt_toolkit
class_docstr_tok: ["Adaptor","to","provide","IPython","completions","to","prompt_toolkit"]
code: def __init__(self, ipy_completer=None, shell=None, patch_stdout=None):
      if shell is None and ipy_completer is None:
          raise TypeError(
              "Please pass shell=an InteractiveShell instance."
          )
      self._ipy_completer = ipy_completer
      self.shell = shell
      if patch_stdout is None:
          raise TypeError("Please pass patch_stdout")
      self.patch_stdout = patch_stdout
  
file_path: catboost/contrib/python/ipython/py2/IPython/terminal/ptutils.py
imports: import unicodedata
  from wcwidth import wcwidth
  from IPython.utils.py3compat import PY3
  from IPython.core.completer import IPCompleter
  from prompt_toolkit.completion import Completer, Completion
  from prompt_toolkit.layout.lexers import Lexer
  from prompt_toolkit.layout.lexers import PygmentsLexer
  import pygments.lexers
label_desc: Use image node_id 1 to create a new IPythonPTCompleter object from inherited base classes: Completer with example: obj = IPythonPTCompleter(ipy_completer, shell, patch_stdout)