1import importlib.abc 2import types 3from typing import Any, Callable, List, Optional, Sequence, Tuple 4 5# ModuleSpec is exported from this module, but for circular import 6# reasons exists in its own stub file (with Loader and ModuleType). 7from _importlib_modulespec import ModuleSpec as ModuleSpec # Exported 8 9class BuiltinImporter(importlib.abc.MetaPathFinder, 10 importlib.abc.InspectLoader): 11 # MetaPathFinder 12 @classmethod 13 def find_module( 14 cls, fullname: str, 15 path: Optional[Sequence[importlib.abc._Path]] 16 ) -> Optional[importlib.abc.Loader]: 17 ... 18 @classmethod 19 def find_spec(cls, fullname: str, 20 path: Optional[Sequence[importlib.abc._Path]], 21 target: Optional[types.ModuleType] = ...) -> Optional[ModuleSpec]: 22 ... 23 # InspectLoader 24 @classmethod 25 def is_package(cls, fullname: str) -> bool: ... 26 @classmethod 27 def load_module(cls, fullname: str) -> types.ModuleType: ... 28 @classmethod 29 def get_code(cls, fullname: str) -> None: ... 30 @classmethod 31 def get_source(cls, fullname: str) -> None: ... 32 # Loader 33 @staticmethod 34 def module_repr(module: types.ModuleType) -> str: ... 35 @classmethod 36 def create_module(cls, spec: ModuleSpec) -> Optional[types.ModuleType]: ... 37 @classmethod 38 def exec_module(cls, module: types.ModuleType) -> None: ... 39 40class FrozenImporter(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader): 41 # MetaPathFinder 42 @classmethod 43 def find_module( 44 cls, fullname: str, 45 path: Optional[Sequence[importlib.abc._Path]] 46 ) -> Optional[importlib.abc.Loader]: 47 ... 48 @classmethod 49 def find_spec(cls, fullname: str, 50 path: Optional[Sequence[importlib.abc._Path]], 51 target: Optional[types.ModuleType] = ...) -> Optional[ModuleSpec]: 52 ... 53 # InspectLoader 54 @classmethod 55 def is_package(cls, fullname: str) -> bool: ... 56 @classmethod 57 def load_module(cls, fullname: str) -> types.ModuleType: ... 58 @classmethod 59 def get_code(cls, fullname: str) -> None: ... 60 @classmethod 61 def get_source(cls, fullname: str) -> None: ... 62 # Loader 63 @staticmethod 64 def module_repr(module: types.ModuleType) -> str: ... 65 @classmethod 66 def create_module(cls, spec: ModuleSpec) -> Optional[types.ModuleType]: 67 ... 68 @staticmethod 69 def exec_module(module: types.ModuleType) -> None: ... 70 71class WindowsRegistryFinder(importlib.abc.MetaPathFinder): 72 @classmethod 73 def find_module( 74 cls, fullname: str, 75 path: Optional[Sequence[importlib.abc._Path]] 76 ) -> Optional[importlib.abc.Loader]: 77 ... 78 @classmethod 79 def find_spec(cls, fullname: str, 80 path: Optional[Sequence[importlib.abc._Path]], 81 target: Optional[types.ModuleType] = ...) -> Optional[ModuleSpec]: 82 ... 83 84class PathFinder(importlib.abc.MetaPathFinder): ... 85 86SOURCE_SUFFIXES: List[str] 87DEBUG_BYTECODE_SUFFIXES: List[str] 88OPTIMIZED_BYTECODE_SUFFIXES: List[str] 89BYTECODE_SUFFIXES: List[str] 90EXTENSION_SUFFIXES: List[str] 91 92def all_suffixes() -> List[str]: ... 93 94class FileFinder(importlib.abc.PathEntryFinder): 95 path: str 96 def __init__( 97 self, path: str, 98 *loader_details: Tuple[importlib.abc.Loader, List[str]] 99 ) -> None: ... 100 @classmethod 101 def path_hook( 102 cls, *loader_details: Tuple[importlib.abc.Loader, List[str]] 103 ) -> Callable[[str], importlib.abc.PathEntryFinder]: ... 104 105class SourceFileLoader(importlib.abc.FileLoader, 106 importlib.abc.SourceLoader): 107 ... 108 109class SourcelessFileLoader(importlib.abc.FileLoader, 110 importlib.abc.SourceLoader): 111 ... 112 113class ExtensionFileLoader(importlib.abc.ExecutionLoader): 114 def get_filename(self, fullname: str) -> importlib.abc._Path: ... 115 def get_source(self, fullname: str) -> None: ... 116