docs: def get_imports(filename, source=None):
    """
    Returns a list of #ImportInfo tuples for all module imports in the specified
    Python source file or the *source* string.
    """
  
    if source is None:
      with open(filename, 'rb') as fp:
        source = fp.read()
  
    module = ast.parse(source, filename)
    result = []
  
    for node in _find_nodes(module, lambda x: isinstance(x, ast.Import)):
      for alias in node.names:
        result.append(ImportInfo(alias.name, filename, node.lineno))
    for node in _find_nodes(module, lambda x: isinstance(x, ast.ImportFrom)):
      import_name = '.' * node.level + (node.module or '')
      result.append(ImportInfo(import_name, filename, node.lineno))
  
    result.sort(key=lambda x: x.lineno)
    return result