Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/pip/_internal/models/candidate.py
811 views
1
from pip._vendor.packaging.version import parse as parse_version
2
3
from pip._internal.utils.models import KeyBasedCompareMixin
4
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
5
6
if MYPY_CHECK_RUNNING:
7
from pip._vendor.packaging.version import _BaseVersion
8
from pip._internal.models.link import Link
9
10
11
class InstallationCandidate(KeyBasedCompareMixin):
12
"""Represents a potential "candidate" for installation.
13
"""
14
15
def __init__(self, name, version, link):
16
# type: (str, str, Link) -> None
17
self.name = name
18
self.version = parse_version(version) # type: _BaseVersion
19
self.link = link
20
21
super(InstallationCandidate, self).__init__(
22
key=(self.name, self.version, self.link),
23
defining_class=InstallationCandidate
24
)
25
26
def __repr__(self):
27
# type: () -> str
28
return "<InstallationCandidate({!r}, {!r}, {!r})>".format(
29
self.name, self.version, self.link,
30
)
31
32
def __str__(self):
33
# type: () -> str
34
return '{!r} candidate (version {} at {})'.format(
35
self.name, self.version, self.link,
36
)
37
38