class_docstr: An input splitter that recognizes all of IPython's special syntax.
docstr: Push one or more lines of IPython input.
  
  This stores the given lines and returns a status code indicating
  whether the code forms a complete Python block or not, after processing
  all input lines for special IPython syntax.
  
  Any exceptions generated in compilation are swallowed, but if an
  exception was produced, the method returns True.
  
  Parameters
  ----------
  lines : string
    One or more lines of Python input.
  
  Returns
  -------
  is_complete : boolean
    True if the current input source (the result of the current input
    plus prior inputs) forms a complete Python execution block.  Note that
    this value is also stored as a private attribute (_is_complete), so it
    can be queried at any time.
code: def push(self, lines):
      """Push one or more lines of IPython input.
  
      This stores the given lines and returns a status code indicating
      whether the code forms a complete Python block or not, after processing
      all input lines for special IPython syntax.
  
      Any exceptions generated in compilation are swallowed, but if an
      exception was produced, the method returns True.
  
      Parameters
      ----------
      lines : string
        One or more lines of Python input.
  
      Returns
      -------
      is_complete : boolean
        True if the current input source (the result of the current input
        plus prior inputs) forms a complete Python execution block.  Note that
        this value is also stored as a private attribute (_is_complete), so it
        can be queried at any time.
      """
  
      # We must ensure all input is pure unicode
      lines = cast_unicode(lines, self.encoding)
      # ''.splitlines() --> [], but we need to push the empty line to transformers
      lines_list = lines.splitlines()
      if not lines_list:
          lines_list = [""]
  
      # Store raw source before applying any transformations to it.  Note
      # that this must be done *after* the reset() call that would otherwise
      # flush the buffer.
      self._store(lines, self._buffer_raw, "source_raw")
  
      for line in lines_list:
          out = self.push_line(line)
  
      return out
  
imports: import ast
  import codeop
  import re
  import sys
  import warnings
  from IPython.utils.py3compat import cast_unicode
  from IPython.core.inputtransformer import leading_indent, classic_prompt, ipy_prompt, strip_encoding_cookie, cellmagic, assemble_logical_lines, help_end, escaped_commands, assign_from_magic, assign_from_system, assemble_python_lines
  from IPython.core.inputtransformer import ESC_SHELL, ESC_SH_CAP, ESC_HELP, ESC_HELP2, ESC_MAGIC, ESC_MAGIC2, ESC_QUOTE, ESC_QUOTE2, ESC_PAREN, ESC_SEQUENCES
label_desc: Use image node_id 10 for calling the IPythonInputSplitter obj's underlying member method code with example usage: obj.push(lines) and returns: out