From a7f6bd927cd7ebe3440aafc2374d9781444dbdfb Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Mon, 19 May 2025 17:06:01 +0300 Subject: [PATCH] [+] improve typing --- .../online/fxreader/pr34/commands_typed/pip.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/python/online/fxreader/pr34/commands_typed/pip.py b/python/online/fxreader/pr34/commands_typed/pip.py index 24f4c4e..bf90c5c 100644 --- a/python/online/fxreader/pr34/commands_typed/pip.py +++ b/python/online/fxreader/pr34/commands_typed/pip.py @@ -25,6 +25,7 @@ if typing.TYPE_CHECKING: import pip._internal.resolution.resolvelib.resolver import pip._internal.operations.prepare import pip._internal.index.package_finder + from pip._internal.req.req_install import InstallRequirement from typing import ( Literal, Optional, Iterable, Any, @@ -65,6 +66,14 @@ class pip_resolve_t: ignore_requires_python: Any, ) -> 'pip._internal.index.package_finder.PackageFinder': ... + class complete_partial_requirements_t(Protocol): + def __call__( + self, + _self: 'pip._internal.resolution.resolvelib.resolver.Resolver', + partially_downloaded_reqs: Iterable['InstallRequirement',], + parallel_builds: bool = False, + ) -> None: ... + class kwargs_t: class mode_t(enum.StrEnum): copy_paste = "copy_paste" @@ -381,7 +390,13 @@ def pip_resolve( ) raise NotImplementedError - _complete_partial_requirements_def = pip._internal.operations.prepare.RequirementPreparer._complete_partial_requirements + _complete_partial_requirements_def = cast( + pip_resolve_t.complete_partial_requirements_t, + getattr( + pip._internal.operations.prepare.RequirementPreparer, + '_complete_partial_requirements', + ) + ) def _complete_partial_requirements( _self: pip._internal.resolution.resolvelib.resolver.Resolver,