From ec5592f91ad82b53d19f1303b7319c0c08d7ac05 Mon Sep 17 00:00:00 2001 From: Reese Hyde Date: Mon, 15 Jul 2024 13:31:52 -0400 Subject: [PATCH] run ruff formatter --- src/poetry/puzzle/provider.py | 41 +++++++++++++++++++--------- src/poetry/puzzle/solver.py | 2 +- tests/installation/test_installer.py | 25 +++++++++++------ 3 files changed, 45 insertions(+), 23 deletions(-) diff --git a/src/poetry/puzzle/provider.py b/src/poetry/puzzle/provider.py index 5303609ad3f..fb3d6facb28 100644 --- a/src/poetry/puzzle/provider.py +++ b/src/poetry/puzzle/provider.py @@ -7,7 +7,8 @@ from collections import defaultdict from contextlib import contextmanager -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING +from typing import Any from typing import ClassVar from typing import cast @@ -134,7 +135,9 @@ def __init__( self._direct_origin_packages: dict[str, Package] = {} self._locked: dict[NormalizedName, list[DependencyPackage]] = defaultdict(list) self._use_latest: Collection[NormalizedName] = [] - self._active_root_extras = frozenset(active_root_extras) if active_root_extras is not None else None + self._active_root_extras = ( + frozenset(active_root_extras) if active_root_extras is not None else None + ) self._explicit_sources: dict[str, str] = {} for package in locked or []: @@ -459,10 +462,14 @@ def incompatibilities_for( for dep in dependencies if dep.name not in self.UNSAFE_PACKAGES and self._python_constraint.allows_any(dep.python_constraint) - and (not self._env or dep.marker.validate( - self._marker_values( - self._active_root_extras if dependency_package.package.is_root() - else dependency_package.dependency.extras) + and ( + not self._env + or dep.marker.validate( + self._marker_values( + self._active_root_extras + if dependency_package.package.is_root() + else dependency_package.dependency.extras + ) ) ) ] @@ -548,8 +555,12 @@ def complete_package( if dep.name in self.UNSAFE_PACKAGES: continue - active_extras = self._active_root_extras if package.is_root() else dependency.extras - if self._env and not dep.marker.validate(self._marker_values(active_extras)): + active_extras = ( + self._active_root_extras if package.is_root() else dependency.extras + ) + if self._env and not dep.marker.validate( + self._marker_values(active_extras) + ): continue if not package.is_root() and ( @@ -609,7 +620,9 @@ def complete_package( # For dependency resolution, markers of duplicate dependencies must be # mutually exclusive. - active_extras = self._active_root_extras if package.is_root() else dependency.extras + active_extras = ( + self._active_root_extras if package.is_root() else dependency.extras + ) deps = self._resolve_overlapping_markers(package, deps, active_extras) if len(deps) == 1: @@ -962,7 +975,9 @@ def _resolve_overlapping_markers( # resolved, there might be new dependencies with the same constraint. return self._merge_dependencies_by_constraint(new_dependencies) - def _marker_values(self, extras: Collection[NormalizedName] | None = None) -> dict[str, Any]: + def _marker_values( + self, extras: Collection[NormalizedName] | None = None + ) -> dict[str, Any]: """ Marker values, per: 1. marker_env of `self._env` @@ -970,8 +985,8 @@ def _marker_values(self, extras: Collection[NormalizedName] | None = None) -> di """ result = self._env.marker_env.copy() if self._env is not None else {} if extras is not None: - if 'extra' not in result.keys(): - result['extra'] = set(extras) + if "extra" not in result.keys(): + result["extra"] = set(extras) else: - result['extra'] = set(result['extra']).union(extras) + result["extra"] = set(result["extra"]).union(extras) return result diff --git a/src/poetry/puzzle/solver.py b/src/poetry/puzzle/solver.py index f1309ec1dfa..1dd1a464431 100644 --- a/src/poetry/puzzle/solver.py +++ b/src/poetry/puzzle/solver.py @@ -41,7 +41,7 @@ def __init__( installed: list[Package], locked: list[Package], io: IO, - active_root_extras: Collection[NormalizedName] | None = None + active_root_extras: Collection[NormalizedName] | None = None, ) -> None: self._package = package self._pool = pool diff --git a/tests/installation/test_installer.py b/tests/installation/test_installer.py index 3e53e799db4..10d02a966be 100644 --- a/tests/installation/test_installer.py +++ b/tests/installation/test_installer.py @@ -5,7 +5,7 @@ import shutil from pathlib import Path -from typing import TYPE_CHECKING, IO +from typing import TYPE_CHECKING from typing import Any import pytest @@ -1049,7 +1049,7 @@ def test_run_with_exclusive_extras_different_sources( pool = RepositoryPool() pool.add_repository(cpu_repo) pool.add_repository(cuda_repo) - config.config['repositories'] = { + config.config["repositories"] = { "pytorch-cpu": {"url": "https://download.pytorch.org/whl/cpu"}, "pytorch-cuda": {"url": "https://download.pytorch.org/whl/cuda"}, } @@ -1073,14 +1073,16 @@ def test_run_with_exclusive_extras_different_sources( "version": "1.11.0+cpu", "markers": "extra == 'cpu' and extra != 'cuda'", "source": "pytorch-cpu", - }) + }, + ) torch_cuda_dep = Factory.create_dependency( "torch", { "version": "1.11.0+cuda", "markers": "extra != 'cpu' and extra == 'cuda'", "source": "pytorch-cuda", - }) + }, + ) package.add_dependency(torch_cpu_dep) package.add_dependency(torch_cuda_dep) # We don't want to cheat by only including the correct dependency in the 'extra' mapping @@ -1147,7 +1149,7 @@ def test_run_with_different_dependency_extras( config: Config, package: ProjectPackage, extra: str | None, - locked: bool + locked: bool, ) -> None: """https://github.com/python-poetry/poetry/issues/834""" # Demo package with two optional transitive dependencies, one for each extra @@ -1159,10 +1161,14 @@ def test_run_with_different_dependency_extras( canonicalize_name("demo-extra-two"): [get_dependency("transitive-dep-two")], } demo_pkg.add_dependency( - Factory.create_dependency("transitive-dep-one", {"version": "1.1.0", "optional": True}) + Factory.create_dependency( + "transitive-dep-one", {"version": "1.1.0", "optional": True} + ) ) demo_pkg.add_dependency( - Factory.create_dependency("transitive-dep-two", {"version": "1.2.0", "optional": True}) + Factory.create_dependency( + "transitive-dep-two", {"version": "1.2.0", "optional": True} + ) ) repo.add_package(demo_pkg) repo.add_package(transitive_dep_one) @@ -1174,7 +1180,7 @@ def test_run_with_different_dependency_extras( { "version": "1.0.0", "markers": "extra == 'extra-one' and extra != 'extra-two'", - "extras": ["demo-extra-one"] + "extras": ["demo-extra-one"], }, ) extra_two_dep = Factory.create_dependency( @@ -1182,7 +1188,7 @@ def test_run_with_different_dependency_extras( { "version": "1.0.0", "markers": "extra != 'extra-one' and extra == 'extra-two'", - "extras": ["demo-extra-two"] + "extras": ["demo-extra-two"], }, ) package.add_dependency(extra_one_dep) @@ -1228,6 +1234,7 @@ def test_run_with_different_dependency_extras( else: assert len(installer.executor.installations) == 2 + @pytest.mark.parametrize("is_locked", [False, True]) @pytest.mark.parametrize("is_installed", [False, True]) @pytest.mark.parametrize("with_extras", [False, True])