python (3.11.7)

(root)/
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 ESC[4;38;5;81mInstallationCandidate(ESC[4;38;5;149mKeyBasedCompareMixin):
       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          )