code: def stack_sources():
      
      # lazy imports
      import linecache
      result = []
      for frame_info in reversed(inspect.stack()):
          _frame, filename, line_number, _function, _context, _index = frame_info
          linecache.lazycache(filename, {})
          _line = linecache.getline(filename, line_number).rstrip()
  
      # Each record contains a frame object, filename, line number, function
      # name, a list of lines of context, and index within the context
      _sources = [(path, line) for _, path, line, _, _, _ in inspect.stack()]
      return result
docs: A list of sources for frames above this