Server IP : 85.214.239.14 / Your IP : 18.227.0.21 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/cwd/proc/3/root/usr/lib/python3/dist-packages/resolvelib/ |
Upload File : |
from typing import ( Collection, Generic, Iterable, Iterator, List, Mapping, Optional, ) from .providers import AbstractProvider, AbstractResolver from .structs import CT, KT, RT, DirectedGraph, IterableView # This should be a NamedTuple, but Python 3.6 has a bug that prevents it. # https://stackoverflow.com/a/50531189/1376863 class RequirementInformation(tuple, Generic[RT, CT]): requirement: RT parent: Optional[CT] class Criterion(Generic[RT, CT, KT]): candidates: IterableView[CT] information: Collection[RequirementInformation[RT, CT]] incompatibilities: List[CT] @classmethod def from_requirement( cls, provider: AbstractProvider[RT, CT, KT], requirement: RT, parent: Optional[CT], ) -> Criterion[RT, CT, KT]: ... def iter_requirement(self) -> Iterator[RT]: ... def iter_parent(self) -> Iterator[Optional[CT]]: ... def merged_with( self, provider: AbstractProvider[RT, CT, KT], requirement: RT, parent: Optional[CT], ) -> Criterion[RT, CT, KT]: ... def excluded_of(self, candidates: List[CT]) -> Criterion[RT, CT, KT]: ... class ResolverException(Exception): ... class RequirementsConflicted(ResolverException, Generic[RT, CT, KT]): criterion: Criterion[RT, CT, KT] class ResolutionError(ResolverException): ... class InconsistentCandidate(ResolverException, Generic[RT, CT, KT]): candidate: CT criterion: Criterion[RT, CT, KT] class ResolutionImpossible(ResolutionError, Generic[RT, CT]): causes: List[RequirementInformation[RT, CT]] class ResolutionTooDeep(ResolutionError): round_count: int # This should be a NamedTuple, but Python 3.6 has a bug that prevents it. # https://stackoverflow.com/a/50531189/1376863 class State(tuple, Generic[RT, CT, KT]): mapping: Mapping[KT, CT] criteria: Mapping[KT, Criterion[RT, CT, KT]] backtrack_causes: Collection[RequirementInformation[RT, CT]] class Resolution(Generic[RT, CT, KT]): def resolve( self, requirements: Iterable[RT], max_rounds: int ) -> State[RT, CT, KT]: ... class Result(Generic[RT, CT, KT]): mapping: Mapping[KT, CT] graph: DirectedGraph[Optional[KT]] criteria: Mapping[KT, Criterion[RT, CT, KT]] class Resolver(AbstractResolver, Generic[RT, CT, KT]): base_exception = ResolverException def resolve( self, requirements: Iterable[RT], max_rounds: int = 100 ) -> Result[RT, CT, KT]: ...