class_docstr: Adaptor to provide IPython completions to prompt_toolkit
code: def __init__(self, ipy_completer=None, shell=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
  
imports: import unicodedata
  from wcwidth import wcwidth
  from IPython.core.completer import provisionalcompleter, cursor_to_position, _deduplicate_completions
  from prompt_toolkit.completion import Completer, Completion
  from prompt_toolkit.lexers import Lexer
  from prompt_toolkit.lexers import PygmentsLexer
  from prompt_toolkit.patch_stdout import patch_stdout
  import pygments.lexers
  import os
  import sys
  import traceback
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)