class_docstr: :py:func:`parso.load_grammar` returns instances of this class.
  
  Creating custom none-python grammars by calling this is not supported, yet.
class_docstr_tok: [":","py",":","func",":","`","parso.load_grammar","`","returns","instances","of","this","class",".","Creating","custom","none-python","grammars","by","calling","this","is","not","supported",",","yet","."]
docstr: If you want to parse a Python file you want to start here, most likely.
  
  If you need finer grained control over the parsed instance, there will be
  other ways to access it.
  
  :param str code: A unicode or bytes string. When it's not possible to
      decode bytes to a string, returns a
      :py:class:`UnicodeDecodeError`.
  :param bool error_recovery: If enabled, any code will be returned. If
      it is invalid, it will be returned as an error node. If disabled,
      you will get a ParseError when encountering syntax errors in your
      code.
  :param str start_symbol: The grammar rule (nonterminal) that you want
      to parse. Only allowed to be used when error_recovery is False.
  :param str path: The path to the file you want to open. Only needed for caching.
  :param bool cache: Keeps a copy of the parser tree in RAM and on disk
      if a path is given. Returns the cached trees if the corresponding
      files on disk have not changed. Note that this stores pickle files
      on your file system (e.g. for Linux in ``~/.cache/parso/``).
  :param bool diff_cache: Diffs the cached python module against the new
      code and tries to parse only the parts that have changed. Returns
      the same (changed) module that is found in cache. Using this option
      requires you to not do anything anymore with the cached modules
      under that path, because the contents of it might change. This
      option is still somewhat experimental. If you want stability,
      please don't use it.
  :param bool cache_path: If given saves the parso cache in this
      directory. If not given, defaults to the default cache places on
      each platform.
  
  :return: A subclass of :py:class:`parso.tree.NodeOrLeaf`. Typically a
      :py:class:`parso.python.tree.Module`.
docstr_tok: ["If","you","want","to","parse","a","Python","file","you","want","to","start","here",",","most","likely",".","If","you","need","finer","grained","control","over","the","parsed","instance",",","there","will","be","other","ways","to","access","it",".",":","param","str","code",":","A","unicode","or","bytes","string",".","When","it","'s","not","possible","to","decode","bytes","to","a","string",",","returns","a",":","py",":","class",":","`","UnicodeDecodeError","`",".",":","param","bool","error_recovery",":","If","enabled",",","any","code","will","be","returned",".","If","it","is","invalid",",","it","will","be","returned","as","an","error","node",".","If","disabled",",","you","will","get","a","ParseError","when","encountering","syntax","errors","in","your","code",".",":","param","str","start_symbol",":","The","grammar","rule","(","nonterminal",")","that","you","want","to","parse",".","Only","allowed","to","be","used","when","error_recovery","is","False",".",":","param","str","path",":","The","path","to","the","file","you","want","to","open",".","Only","needed","for","caching",".",":","param","bool","cache",":","Keeps","a","copy","of","the","parser","tree","in","RAM","and","on","disk","if","a","path","is","given",".","Returns","the","cached","trees","if","the","corresponding","files","on","disk","have","not","changed",".","Note","that","this","stores","pickle","files","on","your","file","system","(","e.g",".","for","Linux","in","``","~\/.cache\/parso\/","``",")",".",":","param","bool","diff_cache",":","Diffs","the","cached","python","module","against","the","new","code","and","tries","to","parse","only","the","parts","that","have","changed",".","Returns","the","same","(","changed",")","module","that","is","found","in","cache",".","Using","this","option","requires","you","to","not","do","anything","anymore","with","the","cached","modules","under","that","path",",","because","the","contents","of","it","might","change",".","This","option","is","still","somewhat","experimental",".","If","you","want","stability",",","please","do","n't","use","it",".",":","param","bool","cache_path",":","If","given","saves","the","parso","cache","in","this","directory",".","If","not","given",",","defaults","to","the","default","cache","places","on","each","platform",".",":","return",":","A","subclass","of",":","py",":","class",":","`","parso.tree.NodeOrLeaf","`",".","Typically","a",":","py",":","class",":","`","parso.python.tree.Module","`","."]
code: def parse(self, code=None, **kwargs):
      """
      If you want to parse a Python file you want to start here, most likely.
  
      If you need finer grained control over the parsed instance, there will be
      other ways to access it.
  
      :param str code: A unicode or bytes string. When it's not possible to
          decode bytes to a string, returns a
          :py:class:`UnicodeDecodeError`.
      :param bool error_recovery: If enabled, any code will be returned. If
          it is invalid, it will be returned as an error node. If disabled,
          you will get a ParseError when encountering syntax errors in your
          code.
      :param str start_symbol: The grammar rule (nonterminal) that you want
          to parse. Only allowed to be used when error_recovery is False.
      :param str path: The path to the file you want to open. Only needed for caching.
      :param bool cache: Keeps a copy of the parser tree in RAM and on disk
          if a path is given. Returns the cached trees if the corresponding
          files on disk have not changed. Note that this stores pickle files
          on your file system (e.g. for Linux in ``~/.cache/parso/``).
      :param bool diff_cache: Diffs the cached python module against the new
          code and tries to parse only the parts that have changed. Returns
          the same (changed) module that is found in cache. Using this option
          requires you to not do anything anymore with the cached modules
          under that path, because the contents of it might change. This
          option is still somewhat experimental. If you want stability,
          please don't use it.
      :param bool cache_path: If given saves the parso cache in this
          directory. If not given, defaults to the default cache places on
          each platform.
  
      :return: A subclass of :py:class:`parso.tree.NodeOrLeaf`. Typically a
          :py:class:`parso.python.tree.Module`.
      """
      if "start_pos" in kwargs:
          raise TypeError("parse() got an unexpected keyword argument.")
      return self._parse(code=code, **kwargs)
  
imports: import hashlib
  import os
  import sys
  import pkgutil
  from parso._compatibility import FileNotFoundError, is_pypy
  from parso.pgen2 import generate_grammar
  from parso.utils import split_lines, python_bytes_to_unicode, parse_version_string
  from parso.python.diff import DiffParser
  from parso.python.tokenize import tokenize_lines, tokenize
  from parso.python.token import PythonTokenTypes
  from parso.cache import parser_cache, load_module, try_to_save_module
  from parso.parser import BaseParser
  from parso.python.parser import Parser
  from parso.python.errors import ErrorFinderConfig
  from parso.python import pep8
  from parso.file_io import FileIO, KnownContentFileIO
  from parso.normalizer import RefactoringNormalizer
label_desc: Use image node_id 2 for calling the Grammar obj's underlying member method code with example usage: obj.parse(code) and returns: self