Path: blob/master/venv/Lib/site-packages/pip/_internal/models/candidate.py
811 views
from pip._vendor.packaging.version import parse as parse_version12from pip._internal.utils.models import KeyBasedCompareMixin3from pip._internal.utils.typing import MYPY_CHECK_RUNNING45if MYPY_CHECK_RUNNING:6from pip._vendor.packaging.version import _BaseVersion7from pip._internal.models.link import Link8910class InstallationCandidate(KeyBasedCompareMixin):11"""Represents a potential "candidate" for installation.12"""1314def __init__(self, name, version, link):15# type: (str, str, Link) -> None16self.name = name17self.version = parse_version(version) # type: _BaseVersion18self.link = link1920super(InstallationCandidate, self).__init__(21key=(self.name, self.version, self.link),22defining_class=InstallationCandidate23)2425def __repr__(self):26# type: () -> str27return "<InstallationCandidate({!r}, {!r}, {!r})>".format(28self.name, self.version, self.link,29)3031def __str__(self):32# type: () -> str33return '{!r} candidate (version {} at {})'.format(34self.name, self.version, self.link,35)363738