diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/~ip/_internal/models/candidate.py')
| -rw-r--r-- | .venv/lib/python3.12/site-packages/~ip/_internal/models/candidate.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/~ip/_internal/models/candidate.py b/.venv/lib/python3.12/site-packages/~ip/_internal/models/candidate.py new file mode 100644 index 0000000..9184a90 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/~ip/_internal/models/candidate.py @@ -0,0 +1,30 @@ +from pip._vendor.packaging.version import parse as parse_version + +from pip._internal.models.link import Link +from pip._internal.utils.models import KeyBasedCompareMixin + + +class InstallationCandidate(KeyBasedCompareMixin): + """Represents a potential "candidate" for installation.""" + + __slots__ = ["name", "version", "link"] + + def __init__(self, name: str, version: str, link: Link) -> None: + self.name = name + self.version = parse_version(version) + self.link = link + + super().__init__( + key=(self.name, self.version, self.link), + defining_class=InstallationCandidate, + ) + + def __repr__(self) -> str: + return "<InstallationCandidate({!r}, {!r}, {!r})>".format( + self.name, + self.version, + self.link, + ) + + def __str__(self) -> str: + return f"{self.name!r} candidate (version {self.version} at {self.link})" |
