Skip to content

Commit

Permalink
fix: separate resolvers into different modules
Browse files Browse the repository at this point in the history
Signed-off-by: Frost Ming <me@frostming.com>
  • Loading branch information
frostming committed Aug 1, 2024
1 parent 7961d60 commit 5a3c995
Show file tree
Hide file tree
Showing 15 changed files with 627 additions and 614 deletions.
3 changes: 2 additions & 1 deletion examples/pypi_wheel_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
from packaging.utils import canonicalize_name
from packaging.version import InvalidVersion, Version

from resolvelib import BaseReporter, Resolver
from resolvelib import BaseReporter
from resolvelib.resolvers.resolution import Resolver

from .extras_provider import ExtrasProvider

Expand Down
6 changes: 4 additions & 2 deletions examples/reporter_demo.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from collections import namedtuple

import resolvelib
from packaging.specifiers import SpecifierSet
from packaging.version import Version

import resolvelib
import resolvelib.resolvers.resolution

index = """
first 1.0.0
second == 1.0.0
Expand Down Expand Up @@ -123,7 +125,7 @@ def pinning(self, candidate):

provider = Provider(index.splitlines())
reporter = Reporter()
resolver = resolvelib.Resolver(provider, reporter)
resolver = resolvelib.resolvers.resolution.Resolver(provider, reporter)

root_reqs = [Requirement("first", SpecifierSet())]
result = resolver.resolve(root_reqs)
Expand Down
2 changes: 1 addition & 1 deletion examples/visualization/run_pypi.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from visualization.generate import generate_html
from visualization.reporter import GraphGeneratingReporter

from resolvelib import Resolver
from resolvelib.resolvers.resolution import Resolver

if __name__ == "__main__":
provider = PyPIProvider()
Expand Down
2 changes: 1 addition & 1 deletion src/resolvelib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@
ResolutionError,
ResolutionImpossible,
ResolutionTooDeep,
Resolver,
)
from .resolvers.resolution import Resolver
17 changes: 6 additions & 11 deletions src/resolvelib/reporters.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
from __future__ import annotations

from typing import Generic

from .structs import (
CT,
KT,
RT,
Collection,
Criterion,
RequirementInformation,
State,
)
from typing import TYPE_CHECKING, Collection, Generic

from .structs import CT, KT, RT, RequirementInformation, State

if TYPE_CHECKING:
from .resolvers.criterion import Criterion


class BaseReporter(Generic[RT, CT, KT]):
Expand Down
5 changes: 3 additions & 2 deletions src/resolvelib/resolvers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
from ..structs import RequirementInformation
from .abstract import AbstractResolver, Result
from .criterion import (
from .exceptions import (
InconsistentCandidate,
RequirementsConflicted,
ResolutionError,
ResolutionImpossible,
ResolutionTooDeep,
Resolver,
ResolverException,
)
from .resolution import Resolution, Resolver

__all__ = [
"AbstractResolver",
"InconsistentCandidate",
"Resolver",
"Resolution",
"RequirementsConflicted",
"ResolutionError",
"ResolutionImpossible",
Expand Down
8 changes: 4 additions & 4 deletions src/resolvelib/resolvers/abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import collections
from typing import TYPE_CHECKING, Any, Generic, Iterable, Mapping, NamedTuple

from resolvelib.providers import AbstractProvider
from resolvelib.reporters import BaseReporter

from ..structs import CT, KT, RT, Criterion, DirectedGraph
from ..providers import AbstractProvider
from ..reporters import BaseReporter
from ..structs import CT, KT, RT, DirectedGraph
from .criterion import Criterion

if TYPE_CHECKING:

Expand Down
Loading

0 comments on commit 5a3c995

Please sign in to comment.