Server IP : 184.107.3.203 / Your IP : 216.73.216.51 Web Server : Apache System : Linux dedicated2.avenfashion.com.ph 4.18.0-553.40.1.el8_10.x86_64 #1 SMP Mon Feb 10 12:11:18 EST 2025 x86_64 User : adminteladeoro ( 1015) PHP Version : 8.2.28 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /opt/imunify360/venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
from __future__ import annotations from typing import Collection, Generic, Iterable, Iterator from ..structs import CT, RT, RequirementInformation class Criterion(Generic[RT, CT]): """Representation of possible resolution results of a package. This holds three attributes: * `information` is a collection of `RequirementInformation` pairs. Each pair is a requirement contributing to this criterion, and the candidate that provides the requirement. * `incompatibilities` is a collection of all known not-to-work candidates to exclude from consideration. * `candidates` is a collection containing all possible candidates deducted from the union of contributing requirements and known incompatibilities. It should never be empty, except when the criterion is an attribute of a raised `RequirementsConflicted` (in which case it is always empty). .. note:: This class is intended to be externally immutable. **Do not** mutate any of its attribute containers. """ def __init__( self, candidates: Iterable[CT], information: Collection[RequirementInformation[RT, CT]], incompatibilities: Collection[CT], ) -> None: self.candidates = candidates self.information = information self.incompatibilities = incompatibilities def __repr__(self) -> str: requirements = ", ".join( f"({req!r}, via={parent!r})" for req, parent in self.information ) return f"Criterion({requirements})" def iter_requirement(self) -> Iterator[RT]: return (i.requirement for i in self.information) def iter_parent(self) -> Iterator[CT | None]: return (i.parent for i in self.information)