code: def parse_variables_from_docs(instances):
      """
      Parse documentation with NumPy style and returns all
      extracted information.
  
      Parameters
      ----------
      instances : list
          List of objects that has documentations.
  
      Returns
      -------
      dict
          Variables parsed from the documentations.
      """
      variables = {}
      # Note: We do not include 'Examples' section because it
      # includes class/function name which will be useless when
      # we inherit documentation for the new object.
      doc_sections = [
          "Warns",
          "Returns",
          "Yields",
          "Raises",
          "See Also",
          "Parameters",
          "Attributes",
          "Methods",
          "Notes",
      ]
  
      if not instances:
          return variables
  
      for instance in instances:
          parent_docs = instance.__doc__
  
          if parent_docs is None:
              continue
  
          parent_variables = AttributeKeyDict()
          parent_variables.update(iter_doc_parameters(parent_docs))
          parent_variables.update(iter_doc_methods(parent_docs))
  
          for section_name in doc_sections:
              full_section = parse_full_section(
                  section_name, parent_docs
              )
  
              if full_section is not None:
                  parent_variables[section_name] = full_section
  
          parent_name = instance.__name__
          variables[parent_name] = parent_variables
  
      return variables
  
imports: import re
  from inspect import isfunction
  from abc import ABCMeta
  from six import with_metaclass
  from neupy.utils import AttributeKeyDict
label_desc: Use image node_id 5 for calling a global function with example usage: parse_variables_from_docs(instances) and returns: variables, variables