From 5a5138aa1ea57c8b3e5475154d90d08108e2b282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Val=C3=A9rian=20Rousset?= Date: Thu, 4 Aug 2016 00:40:37 +0200 Subject: [PATCH] Add stubs for pkgutils (#431) * py3 done (py2 pass empty) * remove dangling importlib * importlib.abc only exists in py3 --- stdlib/2and3/pkgutil.pyi | 31 +++++++++++++++++++++++++++++++ stdlib/3/importlib.pyi | 9 --------- 2 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 stdlib/2and3/pkgutil.pyi delete mode 100644 stdlib/3/importlib.pyi diff --git a/stdlib/2and3/pkgutil.pyi b/stdlib/2and3/pkgutil.pyi new file mode 100644 index 000000000..d7767eb45 --- /dev/null +++ b/stdlib/2and3/pkgutil.pyi @@ -0,0 +1,31 @@ +# Stubs for pkgutil + +from typing import Any, Callable, Generator, IO, Iterable, Optional, Tuple +import sys + +if sys.version_info >= (3,): + from importlib.abc import Loader +else: + Loader = Any + +_YMFNI = Generator[Tuple[Any, str, bool], None, None] + + +def extend_path(path: Iterable[str], name: str) -> Iterable[str]: ... + +class ImpImporter: + def __init__(self, dirname: Optional[str] = ...) -> None: ... + +class ImpLoader: + def __init__(self, fullname: str, file: IO[str], filename: str, + etc: Tuple[str, str, int]) -> None: ... + +def find_loader(fullname: str) -> Loader: ... +def get_importer(path_item: str) -> Any: ... # TODO precise type +def get_loader(module_or_name: str) -> Loader: ... +def iter_importers(fullname: str = ...) -> Generator[Any, None, None]: ... # TODO precise type +def iter_modules(path: Optional[str] = ..., + prefix: str = ...) -> _YMFNI: ... # TODO precise type +def walk_packages(path: Optional[str] = ..., prefix: str = ..., + onerror: Optional[Callable[[str], None]] = ...) -> _YMFNI: ... +def get_data(package: str, resource: str) -> bytes: ... diff --git a/stdlib/3/importlib.pyi b/stdlib/3/importlib.pyi deleted file mode 100644 index 12cc79e6c..000000000 --- a/stdlib/3/importlib.pyi +++ /dev/null @@ -1,9 +0,0 @@ -# Stubs for importlib - -# NOTE: These are incomplete! - -from typing import Any - -# TODO more precise type? -def import_module(name: str, package: str = ...) -> Any: ... -def invalidate_caches() -> None: ...