class_docstr: Modified Pdb class, does not load readline.
  
  for a standalone version that uses prompt_toolkit, see
  `IPython.terminal.debugger.TerminalPdb` and
  `IPython.terminal.debugger.set_trace()`
  
  
  This debugger can hide and skip frames that are tagged according to some predicates.
  See the `skip_predicates` commands.
class_docstr_tok: ["Modified","Pdb","class",",","does","not","load","readline",".","for","a","standalone","version","that","uses","prompt_toolkit",",","see","`","IPython.terminal.debugger.TerminalPdb","`","and","`","IPython.terminal.debugger.set_trace","(",")","`","This","debugger","can","hide","and","skip","frames","that","are","tagged","according","to","some","predicates",".","See","the","`","skip_predicates","`","commands","."]
docstr: Create a new IPython debugger.
  
  Parameters
  ----------
  completekey : default None
      Passed to pdb.Pdb.
  stdin : default None
      Passed to pdb.Pdb.
  stdout : default None
      Passed to pdb.Pdb.
  context : int
      Number of lines of source code context to show when
      displaying stacktrace information.
  **kwargs
      Passed to pdb.Pdb.
  
  Notes
  -----
  The possibilities are python version dependent, see the python
  docs for more info.
docstr_tok: ["Create","a","new","IPython","debugger",".","Parameters","--","--","--","--","--","completekey",":","default","None","Passed","to","pdb.Pdb",".","stdin",":","default","None","Passed","to","pdb.Pdb",".","stdout",":","default","None","Passed","to","pdb.Pdb",".","context",":","int","Number","of","lines","of","source","code","context","to","show","when","displaying","stacktrace","information",".","*","*","kwargs","Passed","to","pdb.Pdb",".","Notes","--","--","-","The","possibilities","are","python","version","dependent",",","see","the","python","docs","for","more","info","."]
code: def __init__(
      self,
      completekey=None,
      stdin=None,
      stdout=None,
      context=5,
      **kwargs,
  ):
      """Create a new IPython debugger.
  
      Parameters
      ----------
      completekey : default None
          Passed to pdb.Pdb.
      stdin : default None
          Passed to pdb.Pdb.
      stdout : default None
          Passed to pdb.Pdb.
      context : int
          Number of lines of source code context to show when
          displaying stacktrace information.
      **kwargs
          Passed to pdb.Pdb.
  
      Notes
      -----
      The possibilities are python version dependent, see the python
      docs for more info.
      """
  
      # Parent constructor:
      try:
          self.context = int(context)
          if self.context <= 0:
              raise ValueError("Context must be a positive integer")
      except (TypeError, ValueError) as e:
          raise ValueError("Context must be a positive integer") from e
  
      # `kwargs` ensures full compatibility with stdlib's `pdb.Pdb`.
      OldPdb.__init__(self, completekey, stdin, stdout, **kwargs)
  
      # IPython changes...
      self.shell = get_ipython()
  
      if self.shell is None:
          save_main = sys.modules["__main__"]
          # No IPython instance running, we must create one
          from IPython.terminal.interactiveshell import (
              TerminalInteractiveShell,
          )
  
          self.shell = TerminalInteractiveShell.instance()
          # needed by any code which calls __import__("__main__") after
          # the debugger was entered. See also #9941.
          sys.modules["__main__"] = save_main
  
      color_scheme = self.shell.colors
  
      self.aliases = {}
  
      # Create color table: we copy the default one from the traceback
      # module and add a few attributes needed for debugging
      self.color_scheme_table = exception_colors()
  
      # shorthands
      C = coloransi.TermColors
      cst = self.color_scheme_table
  
      cst["NoColor"].colors.prompt = C.NoColor
      cst["NoColor"].colors.breakpoint_enabled = C.NoColor
      cst["NoColor"].colors.breakpoint_disabled = C.NoColor
  
      cst["Linux"].colors.prompt = C.Green
      cst["Linux"].colors.breakpoint_enabled = C.LightRed
      cst["Linux"].colors.breakpoint_disabled = C.Red
  
      cst["LightBG"].colors.prompt = C.Blue
      cst["LightBG"].colors.breakpoint_enabled = C.LightRed
      cst["LightBG"].colors.breakpoint_disabled = C.Red
  
      cst["Neutral"].colors.prompt = C.Blue
      cst["Neutral"].colors.breakpoint_enabled = C.LightRed
      cst["Neutral"].colors.breakpoint_disabled = C.Red
  
      # Add a python parser so we can syntax highlight source while
      # debugging.
      self.parser = PyColorize.Parser(style=color_scheme)
      self.set_colors(color_scheme)
  
      # Set the prompt - the default prompt is '(Pdb)'
      self.prompt = prompt
      self.skip_hidden = True
      self.report_skipped = True
  
      # list of predicates we use to skip frames
      self._predicates = self.default_predicates
  
      if CHAIN_EXCEPTIONS:
          self._chained_exceptions = tuple()
          self._chained_exception_index = 0
  
imports: import inspect
  import linecache
  import sys
  import re
  import os
  from IPython import get_ipython
  from contextlib import contextmanager
  from IPython.utils import PyColorize
  from IPython.utils import coloransi, py3compat
  from IPython.core.excolors import exception_colors
  from pdb import Pdb
label_desc: Use image node_id 1 to create a new Pdb object from inherited base classes: OldPdb with example: obj = Pdb(completekey, stdin, stdout, context)