class_docstr: Abstract base class for loading source code (and optionally any
  corresponding bytecode).
  
  To support loading from source code, the abstractmethods inherited from
  ResourceLoader and ExecutionLoader need to be implemented. To also support
  loading from bytecode, the optional methods specified directly by this ABC
  is required.
  
  Inherited abstractmethods not implemented in this ABC:
  
      * ResourceLoader.get_data
      * ExecutionLoader.get_filename
docstr: Return a metadata dict for the source pointed to by the path (str).
  Possible keys:
  - 'mtime' (mandatory) is the numeric timestamp of last source
    code modification;
  - 'size' (optional) is the size in bytes of the source code.
docstr_tok: ["Return","a","metadata","dict","for","the","source","pointed","to","by","the","path","(","str",")",".","Possible","keys",":","-","'mtime","'","(","mandatory",")","is","the","numeric","timestamp","of","last","source","code","modification",";","-","'size","'","(","optional",")","is","the","size","in","bytes","of","the","source","code","."]
code: def path_stats(self, path):
      """Return a metadata dict for the source pointed to by the path (str).
      Possible keys:
      - 'mtime' (mandatory) is the numeric timestamp of last source
        code modification;
      - 'size' (optional) is the size in bytes of the source code.
      """
      if self.path_mtime.__func__ is SourceLoader.path_mtime:
          raise OSError
      return {"mtime": self.path_mtime(path)}
  
imports: from .None import _bootstrap_external
  from .None import machinery
  from ._abc import Loader
  import abc
  import warnings
  from .resources import abc
label_desc: Use image node_id 2 for calling the SourceLoader obj's underlying member method code with example usage: obj.path_stats(path) and returns: dict