]> jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/pip/_internal/models/candidate.py
init: venv aand flask
[dlqueue.git] / venv / lib / python3.11 / site-packages / pip / _internal / models / candidate.py
1 from pip._vendor.packaging.version import parse as parse_version
2
3 from pip._internal.models.link import Link
4 from pip._internal.utils.models import KeyBasedCompareMixin
5
6
7 class InstallationCandidate(KeyBasedCompareMixin):
8 """Represents a potential "candidate" for installation."""
9
10 __slots__ = ["name", "version", "link"]
11
12 def __init__(self, name: str, version: str, link: Link) -> None:
13 self.name = name
14 self.version = parse_version(version)
15 self.link = link
16
17 super().__init__(
18 key=(self.name, self.version, self.link),
19 defining_class=InstallationCandidate,
20 )
21
22 def __repr__(self) -> str:
23 return "<InstallationCandidate({!r}, {!r}, {!r})>".format(
24 self.name,
25 self.version,
26 self.link,
27 )
28
29 def __str__(self) -> str:
30 return "{!r} candidate (version {} at {})".format(
31 self.name,
32 self.version,
33 self.link,
34 )