2026-06-16 17:09:34 +00:00
|
|
|
from typing import Callable, List, Optional
|
2026-02-06 22:23:20 +01:00
|
|
|
|
|
|
|
|
from pip._internal.req.req_install import InstallRequirement
|
|
|
|
|
from pip._internal.req.req_set import RequirementSet
|
|
|
|
|
|
|
|
|
|
InstallRequirementProvider = Callable[
|
|
|
|
|
[str, Optional[InstallRequirement]], InstallRequirement
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BaseResolver:
|
|
|
|
|
def resolve(
|
2026-06-16 17:09:34 +00:00
|
|
|
self, root_reqs: List[InstallRequirement], check_supported_wheels: bool
|
2026-02-06 22:23:20 +01:00
|
|
|
) -> RequirementSet:
|
|
|
|
|
raise NotImplementedError()
|
|
|
|
|
|
|
|
|
|
def get_installation_order(
|
|
|
|
|
self, req_set: RequirementSet
|
2026-06-16 17:09:34 +00:00
|
|
|
) -> List[InstallRequirement]:
|
2026-02-06 22:23:20 +01:00
|
|
|
raise NotImplementedError()
|