Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
base.py
Go to the documentation of this file.
1import abc
2
3from pip._internal.index.package_finder import PackageFinder
4from pip._internal.metadata.base import BaseDistribution
5from pip._internal.req import InstallRequirement
6
7
9 """A base class for handling installable artifacts.
10
11 The requirements for anything installable are as follows:
12
13 - we must be able to determine the requirement name
14 (or we can't correctly handle the non-upgrade case).
15
16 - for packages with setup requirements, we must also be able
17 to determine their requirements without installing additional
18 packages (for the same reason as run-time dependencies)
19
20 - we must be able to create a Distribution object exposing the
21 above metadata.
22 """
23
24 def __init__(self, req: InstallRequirement) -> None:
25 super().__init__()
26 self.req = req
27
28 @abc.abstractmethod
29 def get_metadata_distribution(self) -> BaseDistribution:
31
32 @abc.abstractmethod
34 self,
35 finder: PackageFinder,
36 build_isolation: bool,
37 check_build_deps: bool,
38 ) -> None:
None prepare_distribution_metadata(self, PackageFinder finder, bool build_isolation, bool check_build_deps)
Definition base.py:38
None __init__(self, InstallRequirement req)
Definition base.py:24
for i