From 32b37e8922d7e60df90ea6d7cdd451491b46f69b Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 22:16:05 +0200 Subject: [PATCH 01/18] Fix importlib_metadata.metadata typings --- stdlib/importlib/metadata/__init__.pyi | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index f356760aa7bf..cd02f5d04949 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -10,7 +10,7 @@ from pathlib import Path from typing import Any, ClassVar, Iterable, NamedTuple, Pattern, overload if sys.version_info >= (3, 10): - from importlib.metadata._meta import PackageMetadata as PackageMetadata + from importlib.metadata._meta import PackageMetadata def packages_distributions() -> Mapping[str, list[str]]: ... if sys.version_info >= (3, 8): @@ -66,8 +66,14 @@ if sys.version_info >= (3, 8): ) -> Iterable[Distribution]: ... @staticmethod def at(path: StrPath) -> PathDistribution: ... - @property - def metadata(self) -> Message: ... + + if sys.version_info >= (3, 10): + @property + def metadata(self) -> PackageMetadata: ... + else: + @property + def metadata(self) -> Message: ... + @property def version(self) -> str: ... @property @@ -109,7 +115,12 @@ if sys.version_info >= (3, 8): def distributions( *, context: None = ..., name: str | None = ..., path: list[str] = ..., **kwargs: Any ) -> Iterable[Distribution]: ... - def metadata(distribution_name: str) -> Message: ... + + if sys.version_info >= (3, 10): + def metadata(self) -> PackageMetadata: ... + else: + def metadata(self) -> Message: ... + def version(distribution_name: str) -> str: ... def entry_points() -> dict[str, tuple[EntryPoint, ...]]: ... def files(distribution_name: str) -> list[PackagePath] | None: ... From 3f301ecfb84d4d8e16e3d23c00fd4cc5333c25ce Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 22:45:30 +0200 Subject: [PATCH 02/18] Update importlib_metadata.metadata.entry_points() typings --- stdlib/importlib/metadata/__init__.pyi | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index cd02f5d04949..eb50bb5db79f 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -35,6 +35,25 @@ if sys.version_info >= (3, 8): dist: ClassVar[Distribution | None] def matches(self, **params: Any) -> bool: ... # undocumented + if sys.version_info >= (3, 10): + class EntryPoints(list): # use as list is deprecated since 3.10 + def select(self, **params: Any) -> EntryPoints: ... + @property + def names(self) -> set[str]: ... + @property + def groups(self) -> set[str]: ... + + class SelectableGroups(dict): # use as list is deprecated since 3.10 + @classmethod + def load(cls, eps) -> EntryPoints: ... + @property + def _all(self) -> EntryPoints: ... + @property + def groups(self) -> set[str]: ... + @property + def names(self) -> set[str]: ... + def select(self, **params: Any) -> SelectableGroups: ... + class PackagePath(pathlib.PurePosixPath): def read_text(self, encoding: str = ...) -> str: ... def read_binary(self) -> bytes: ... @@ -118,10 +137,11 @@ if sys.version_info >= (3, 8): if sys.version_info >= (3, 10): def metadata(self) -> PackageMetadata: ... + def entry_points -> SelectableGroups: ... else: def metadata(self) -> Message: ... + def entry_points() -> dict[str, tuple[EntryPoint, ...]]: ... def version(distribution_name: str) -> str: ... - def entry_points() -> dict[str, tuple[EntryPoint, ...]]: ... def files(distribution_name: str) -> list[PackagePath] | None: ... def requires(distribution_name: str) -> list[str] | None: ... From 63955417469c72ccb3910e78a1804cbf6fb54eda Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 22:53:13 +0200 Subject: [PATCH 03/18] Fixup method signature --- stdlib/importlib/metadata/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index eb50bb5db79f..db4cec8d7fc2 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -137,7 +137,7 @@ if sys.version_info >= (3, 8): if sys.version_info >= (3, 10): def metadata(self) -> PackageMetadata: ... - def entry_points -> SelectableGroups: ... + def entry_points() -> SelectableGroups: ... else: def metadata(self) -> Message: ... def entry_points() -> dict[str, tuple[EntryPoint, ...]]: ... From 10f183e53d67d60b6d99f7a6d79ac6c39bd48063 Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 23:02:36 +0200 Subject: [PATCH 04/18] Some fixes --- stdlib/importlib/metadata/__init__.pyi | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index db4cec8d7fc2..5572b1a2094c 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -36,18 +36,9 @@ if sys.version_info >= (3, 8): def matches(self, **params: Any) -> bool: ... # undocumented if sys.version_info >= (3, 10): - class EntryPoints(list): # use as list is deprecated since 3.10 - def select(self, **params: Any) -> EntryPoints: ... - @property - def names(self) -> set[str]: ... - @property - def groups(self) -> set[str]: ... - class SelectableGroups(dict): # use as list is deprecated since 3.10 @classmethod - def load(cls, eps) -> EntryPoints: ... - @property - def _all(self) -> EntryPoints: ... + def load(cls, eps) -> SelectableGroups: ... @property def groups(self) -> set[str]: ... @property @@ -89,15 +80,17 @@ if sys.version_info >= (3, 8): if sys.version_info >= (3, 10): @property def metadata(self) -> PackageMetadata: ... + @property + def entry_points(self) -> SelectableGroups: ... else: @property def metadata(self) -> Message: ... + @property + def entry_points(self) -> list[EntryPoint]: ... @property def version(self) -> str: ... @property - def entry_points(self) -> list[EntryPoint]: ... - @property def files(self) -> list[PackagePath] | None: ... @property def requires(self) -> list[str] | None: ... @@ -136,10 +129,10 @@ if sys.version_info >= (3, 8): ) -> Iterable[Distribution]: ... if sys.version_info >= (3, 10): - def metadata(self) -> PackageMetadata: ... + def metadata(distribution_name: str) -> PackageMetadata: ... def entry_points() -> SelectableGroups: ... else: - def metadata(self) -> Message: ... + def metadata(distribution_name: str) -> Message: ... def entry_points() -> dict[str, tuple[EntryPoint, ...]]: ... def version(distribution_name: str) -> str: ... From 200fba5ebd75b84815fc9feb501c09689b830a93 Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 23:06:06 +0200 Subject: [PATCH 05/18] Add missing type hint --- stdlib/importlib/metadata/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 5572b1a2094c..f3882ff2fe29 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -38,7 +38,7 @@ if sys.version_info >= (3, 8): if sys.version_info >= (3, 10): class SelectableGroups(dict): # use as list is deprecated since 3.10 @classmethod - def load(cls, eps) -> SelectableGroups: ... + def load(cls, eps: SelectableGroups) -> SelectableGroups: ... @property def groups(self) -> set[str]: ... @property From 87f2ea75386fcf28dc2e818d8def50ac81a1b67d Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 23:10:08 +0200 Subject: [PATCH 06/18] Add back `EntryPoints` --- stdlib/importlib/metadata/__init__.pyi | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index f3882ff2fe29..08d9a5a926fe 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -36,7 +36,14 @@ if sys.version_info >= (3, 8): def matches(self, **params: Any) -> bool: ... # undocumented if sys.version_info >= (3, 10): - class SelectableGroups(dict): # use as list is deprecated since 3.10 + class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10 + def select(self, **params: Any) -> EntryPoints: ... + @property + def names(self) -> set[str]: ... + @property + def groups(self) -> set[str]: ... + + class SelectableGroups(dict[str, EntryPoints]): # use as list is deprecated since 3.10 @classmethod def load(cls, eps: SelectableGroups) -> SelectableGroups: ... @property From bfc08ce3799c1a6ed43d3981e272d57bfce01d5e Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 23:16:43 +0200 Subject: [PATCH 07/18] Revert incorrect change --- stdlib/importlib/metadata/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 08d9a5a926fe..14ffaa37d83e 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -10,7 +10,7 @@ from pathlib import Path from typing import Any, ClassVar, Iterable, NamedTuple, Pattern, overload if sys.version_info >= (3, 10): - from importlib.metadata._meta import PackageMetadata + from importlib.metadata._meta import PackageMetadata as PackageMetadata def packages_distributions() -> Mapping[str, list[str]]: ... if sys.version_info >= (3, 8): From a10cced8ea144af367f70349c65f475cd81707aa Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Sun, 20 Feb 2022 23:24:15 +0200 Subject: [PATCH 08/18] Improvements --- stdlib/importlib/metadata/__init__.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 14ffaa37d83e..1ef598320ecf 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -88,7 +88,7 @@ if sys.version_info >= (3, 8): @property def metadata(self) -> PackageMetadata: ... @property - def entry_points(self) -> SelectableGroups: ... + def entry_points(self) -> EntryPoints: ... else: @property def metadata(self) -> Message: ... @@ -140,7 +140,7 @@ if sys.version_info >= (3, 8): def entry_points() -> SelectableGroups: ... else: def metadata(distribution_name: str) -> Message: ... - def entry_points() -> dict[str, tuple[EntryPoint, ...]]: ... + def entry_points() -> dict[str, list[EntryPoint]]: ... def version(distribution_name: str) -> str: ... def files(distribution_name: str) -> list[PackagePath] | None: ... From 1f5cd365d2349e027e9e4e2176607caaeb43fd81 Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Mon, 21 Feb 2022 09:10:45 +0200 Subject: [PATCH 09/18] CR improvements --- stdlib/importlib/metadata/__init__.pyi | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 1ef598320ecf..7712c71bf1a9 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -1,7 +1,7 @@ import abc import pathlib import sys -from _typeshed import StrPath +from _typeshed import StrPath, Self from collections.abc import Mapping from email.message import Message from importlib.abc import MetaPathFinder @@ -43,9 +43,9 @@ if sys.version_info >= (3, 8): @property def groups(self) -> set[str]: ... - class SelectableGroups(dict[str, EntryPoints]): # use as list is deprecated since 3.10 + class SelectableGroups(dict[str, EntryPoints]): # use as dict is deprecated since 3.10 @classmethod - def load(cls, eps: SelectableGroups) -> SelectableGroups: ... + def load(cls: type[Self], eps: Iterable[EntryPoint]) -> Self: ... @property def groups(self) -> set[str]: ... @property @@ -137,7 +137,10 @@ if sys.version_info >= (3, 8): if sys.version_info >= (3, 10): def metadata(distribution_name: str) -> PackageMetadata: ... + @overload def entry_points() -> SelectableGroups: ... + @overload + def entry_points(**params: Any) -> EntryPoints: ... else: def metadata(distribution_name: str) -> Message: ... def entry_points() -> dict[str, list[EntryPoint]]: ... From 888abb9820e9a40bfae6676f4b0d82a4e9d4166d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 21 Feb 2022 17:54:15 +0000 Subject: [PATCH 10/18] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/importlib/metadata/__init__.pyi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index ac501ce07fc5..1804ba43f88e 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -1,7 +1,7 @@ import abc import pathlib import sys -from _typeshed import StrPath, Self +from _typeshed import Self, StrPath from collections.abc import Mapping from email.message import Message from importlib.abc import MetaPathFinder @@ -167,6 +167,7 @@ if sys.version_info >= (3, 10): def entry_points() -> SelectableGroups: ... @overload def entry_points(**params: Any) -> EntryPoints: ... + else: def metadata(distribution_name: str) -> Message: ... def entry_points() -> dict[str, list[EntryPoint]]: ... From b7b5a9920a8398a0e1e640e0d63bc856f3fda96c Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Mon, 21 Feb 2022 18:54:38 +0100 Subject: [PATCH 11/18] Restore property lost during merge --- stdlib/importlib/metadata/__init__.pyi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 1804ba43f88e..74a150b24e37 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -127,6 +127,8 @@ class Distribution: def version(self) -> str: ... @property def files(self) -> list[PackagePath] | None: ... + @property + def requires(self) -> list[str] | None: ... if sys.version_info >= (3, 10): @property def name(self) -> str: ... From 04fc42a6bec127e2ef3c0360044cb2e4ec73cef8 Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Tue, 22 Feb 2022 08:34:46 +0200 Subject: [PATCH 12/18] CR improvements --- stdlib/importlib/metadata/__init__.pyi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 74a150b24e37..8e8369115879 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -65,6 +65,7 @@ class EntryPoint(_EntryPointBase): if sys.version_info >= (3, 10): class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10 + def __getitem__(self, item: int | str) -> EntryPoint: # int argument is deprecated since 3.10 def select(self, **params: Any) -> EntryPoints: ... @property def names(self) -> set[str]: ... @@ -78,7 +79,10 @@ if sys.version_info >= (3, 10): def groups(self) -> set[str]: ... @property def names(self) -> set[str]: ... - def select(self, **params: Any) -> SelectableGroups: ... + @overload + def select(self: Self) -> Self: ... # type: ignore[misc] + @overload + def select(self, **params: Any) -> EntryPoints: ... class PackagePath(pathlib.PurePosixPath): def read_text(self, encoding: str = ...) -> str: ... From e149789fde74613c914b0f7ff3268b1d15a0611e Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Tue, 22 Feb 2022 08:38:37 +0200 Subject: [PATCH 13/18] Add missing ellipsis --- stdlib/importlib/metadata/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 8e8369115879..4bbfcb7a732a 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -65,7 +65,7 @@ class EntryPoint(_EntryPointBase): if sys.version_info >= (3, 10): class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10 - def __getitem__(self, item: int | str) -> EntryPoint: # int argument is deprecated since 3.10 + def __getitem__(self, item: int | str) -> EntryPoint: ... # int argument is deprecated since 3.10 def select(self, **params: Any) -> EntryPoints: ... @property def names(self) -> set[str]: ... From c761e967d45144095e518daafb1f846e7ffda773 Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Tue, 22 Feb 2022 08:41:33 +0200 Subject: [PATCH 14/18] Ignore some errors --- stdlib/importlib/metadata/__init__.pyi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 4bbfcb7a732a..c0c25a5baa06 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -65,7 +65,8 @@ class EntryPoint(_EntryPointBase): if sys.version_info >= (3, 10): class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10 - def __getitem__(self, item: int | str) -> EntryPoint: ... # int argument is deprecated since 3.10 + # int argument is deprecated since 3.10 + def __getitem__(self, item: int | str) -> EntryPoint: ... # type: ignore[override] def select(self, **params: Any) -> EntryPoints: ... @property def names(self) -> set[str]: ... @@ -170,7 +171,7 @@ def distributions( if sys.version_info >= (3, 10): def metadata(distribution_name: str) -> PackageMetadata: ... @overload - def entry_points() -> SelectableGroups: ... + def entry_points() -> SelectableGroups: ... # type: ignore[misc] @overload def entry_points(**params: Any) -> EntryPoints: ... From 08e2c31e09a0e8e24fa0e1662f6e945d717ca942 Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Tue, 22 Feb 2022 08:56:13 +0200 Subject: [PATCH 15/18] Mention specific attributes and types instead of `params` --- stdlib/importlib/metadata/__init__.pyi | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index c0c25a5baa06..9649c78c48aa 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -61,13 +61,15 @@ class EntryPoint(_EntryPointBase): def attr(self) -> str: ... if sys.version_info >= (3, 10): dist: ClassVar[Distribution | None] - def matches(self, **params: Any) -> bool: ... # undocumented + def matches(self, __name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., + __attr: str = ..., __extras: list[str] = ...) -> bool: ... # undocumented if sys.version_info >= (3, 10): class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10 # int argument is deprecated since 3.10 def __getitem__(self, item: int | str) -> EntryPoint: ... # type: ignore[override] - def select(self, **params: Any) -> EntryPoints: ... + def select(self, __name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., + __attr: str = ..., __extras: list[str] = ...) -> EntryPoints: ... @property def names(self) -> set[str]: ... @property @@ -83,7 +85,8 @@ if sys.version_info >= (3, 10): @overload def select(self: Self) -> Self: ... # type: ignore[misc] @overload - def select(self, **params: Any) -> EntryPoints: ... + def select(self, __name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., + __attr: str = ..., __extras: list[str] = ...) -> EntryPoints: ... class PackagePath(pathlib.PurePosixPath): def read_text(self, encoding: str = ...) -> str: ... @@ -173,7 +176,8 @@ if sys.version_info >= (3, 10): @overload def entry_points() -> SelectableGroups: ... # type: ignore[misc] @overload - def entry_points(**params: Any) -> EntryPoints: ... + def entry_points(__name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., + __attr: str = ..., __extras: list[str] = ...) -> EntryPoints: ... else: def metadata(distribution_name: str) -> Message: ... From 1ba3666a76ac282e34f3404fc7462683ea813918 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 22 Feb 2022 06:57:55 +0000 Subject: [PATCH 16/18] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/importlib/metadata/__init__.pyi | 43 +++++++++++++++++++++----- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 9649c78c48aa..022e92b03ba5 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -61,15 +61,29 @@ class EntryPoint(_EntryPointBase): def attr(self) -> str: ... if sys.version_info >= (3, 10): dist: ClassVar[Distribution | None] - def matches(self, __name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., - __attr: str = ..., __extras: list[str] = ...) -> bool: ... # undocumented + def matches( + self, + __name: str = ..., + __value: str = ..., + __group: str = ..., + __module: str = ..., + __attr: str = ..., + __extras: list[str] = ..., + ) -> bool: ... # undocumented if sys.version_info >= (3, 10): class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10 # int argument is deprecated since 3.10 def __getitem__(self, item: int | str) -> EntryPoint: ... # type: ignore[override] - def select(self, __name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., - __attr: str = ..., __extras: list[str] = ...) -> EntryPoints: ... + def select( + self, + __name: str = ..., + __value: str = ..., + __group: str = ..., + __module: str = ..., + __attr: str = ..., + __extras: list[str] = ..., + ) -> EntryPoints: ... @property def names(self) -> set[str]: ... @property @@ -85,8 +99,15 @@ if sys.version_info >= (3, 10): @overload def select(self: Self) -> Self: ... # type: ignore[misc] @overload - def select(self, __name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., - __attr: str = ..., __extras: list[str] = ...) -> EntryPoints: ... + def select( + self, + __name: str = ..., + __value: str = ..., + __group: str = ..., + __module: str = ..., + __attr: str = ..., + __extras: list[str] = ..., + ) -> EntryPoints: ... class PackagePath(pathlib.PurePosixPath): def read_text(self, encoding: str = ...) -> str: ... @@ -176,8 +197,14 @@ if sys.version_info >= (3, 10): @overload def entry_points() -> SelectableGroups: ... # type: ignore[misc] @overload - def entry_points(__name: str = ..., __value: str = ..., __group: str = ..., __module: str = ..., - __attr: str = ..., __extras: list[str] = ...) -> EntryPoints: ... + def entry_points( + __name: str = ..., + __value: str = ..., + __group: str = ..., + __module: str = ..., + __attr: str = ..., + __extras: list[str] = ..., + ) -> EntryPoints: ... else: def metadata(distribution_name: str) -> Message: ... From 55a29dac4095cfbf7a8f42e82293d5a73b4eed7c Mon Sep 17 00:00:00 2001 From: Itai Steinherz Date: Wed, 23 Feb 2022 22:53:36 +0200 Subject: [PATCH 17/18] Fix annotation of keyword-only arguments --- stdlib/importlib/metadata/__init__.pyi | 52 ++++++++++++++------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index 022e92b03ba5..c8ba725f002a 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -63,12 +63,13 @@ class EntryPoint(_EntryPointBase): dist: ClassVar[Distribution | None] def matches( self, - __name: str = ..., - __value: str = ..., - __group: str = ..., - __module: str = ..., - __attr: str = ..., - __extras: list[str] = ..., + *, + name: str = ..., + value: str = ..., + group: str = ..., + module: str = ..., + attr: str = ..., + extras: list[str] = ..., ) -> bool: ... # undocumented if sys.version_info >= (3, 10): @@ -77,12 +78,13 @@ if sys.version_info >= (3, 10): def __getitem__(self, item: int | str) -> EntryPoint: ... # type: ignore[override] def select( self, - __name: str = ..., - __value: str = ..., - __group: str = ..., - __module: str = ..., - __attr: str = ..., - __extras: list[str] = ..., + *, + name: str = ..., + value: str = ..., + group: str = ..., + module: str = ..., + attr: str = ..., + extras: list[str] = ..., ) -> EntryPoints: ... @property def names(self) -> set[str]: ... @@ -101,12 +103,13 @@ if sys.version_info >= (3, 10): @overload def select( self, - __name: str = ..., - __value: str = ..., - __group: str = ..., - __module: str = ..., - __attr: str = ..., - __extras: list[str] = ..., + *, + name: str = ..., + value: str = ..., + group: str = ..., + module: str = ..., + attr: str = ..., + extras: list[str] = ..., ) -> EntryPoints: ... class PackagePath(pathlib.PurePosixPath): @@ -198,12 +201,13 @@ if sys.version_info >= (3, 10): def entry_points() -> SelectableGroups: ... # type: ignore[misc] @overload def entry_points( - __name: str = ..., - __value: str = ..., - __group: str = ..., - __module: str = ..., - __attr: str = ..., - __extras: list[str] = ..., + *, + name: str = ..., + value: str = ..., + group: str = ..., + module: str = ..., + attr: str = ..., + extras: list[str] = ..., ) -> EntryPoints: ... else: From c21677d11ff38a9c555355241269e1deb200c8c9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 23 Feb 2022 20:54:50 +0000 Subject: [PATCH 18/18] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/importlib/metadata/__init__.pyi | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/stdlib/importlib/metadata/__init__.pyi b/stdlib/importlib/metadata/__init__.pyi index c8ba725f002a..5b3878d1c5bb 100644 --- a/stdlib/importlib/metadata/__init__.pyi +++ b/stdlib/importlib/metadata/__init__.pyi @@ -201,13 +201,7 @@ if sys.version_info >= (3, 10): def entry_points() -> SelectableGroups: ... # type: ignore[misc] @overload def entry_points( - *, - name: str = ..., - value: str = ..., - group: str = ..., - module: str = ..., - attr: str = ..., - extras: list[str] = ..., + *, name: str = ..., value: str = ..., group: str = ..., module: str = ..., attr: str = ..., extras: list[str] = ... ) -> EntryPoints: ... else: