diff --git a/crates/uv-resolver/src/pubgrub/report.rs b/crates/uv-resolver/src/pubgrub/report.rs index 812030c77..37ab59f81 100644 --- a/crates/uv-resolver/src/pubgrub/report.rs +++ b/crates/uv-resolver/src/pubgrub/report.rs @@ -357,8 +357,8 @@ impl PubGrubReportFormatter<'_> { } } match &**package { - PubGrubPackageInner::Root(Some(_)) => Some("the requirements".to_string()), - PubGrubPackageInner::Root(None) => Some("the requirements".to_string()), + PubGrubPackageInner::Root(Some(_)) => Some("your requirements".to_string()), + PubGrubPackageInner::Root(None) => Some("your requirements".to_string()), _ => None, } } diff --git a/crates/uv/tests/cache_prune.rs b/crates/uv/tests/cache_prune.rs index 8ae2600a6..7e2ecf5b2 100644 --- a/crates/uv/tests/cache_prune.rs +++ b/crates/uv/tests/cache_prune.rs @@ -244,7 +244,7 @@ fn prune_unzipped() -> Result<()> { and iniconfig==0.1 network connectivity is disabled, but the metadata wasn't found in the cache, we can conclude that iniconfig<1.0.0 cannot be used. And because iniconfig==1.0.0 network connectivity is disabled, but the metadata wasn't found in the cache and iniconfig==1.0.1 network connectivity is disabled, but the metadata wasn't found in the cache, we can conclude that iniconfig<1.1.0 cannot be used. And because iniconfig==1.1.0 network connectivity is disabled, but the metadata wasn't found in the cache and iniconfig==1.1.1 network connectivity is disabled, but the metadata wasn't found in the cache, we can conclude that iniconfig<2.0.0 cannot be used. - And because iniconfig==2.0.0 network connectivity is disabled, but the metadata wasn't found in the cache and you require iniconfig, we can conclude that the requirements are unsatisfiable. + And because iniconfig==2.0.0 network connectivity is disabled, but the metadata wasn't found in the cache and you require iniconfig, we can conclude that your requirements are unsatisfiable. hint: Pre-releases are available for iniconfig in the requested range (e.g., 0.2.dev0), but pre-releases weren't enabled (try: `--prerelease=allow`) diff --git a/crates/uv/tests/pip_compile.rs b/crates/uv/tests/pip_compile.rs index 4bd73324b..dde2e76de 100644 --- a/crates/uv/tests/pip_compile.rs +++ b/crates/uv/tests/pip_compile.rs @@ -1132,7 +1132,7 @@ fn compile_python_37() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the requested Python version (3.7.0) does not satisfy Python>=3.8 and black==23.10.1 depends on Python>=3.8, we can conclude that black==23.10.1 cannot be used. - And because you require black==23.10.1, we can conclude that the requirements are unsatisfiable. + And because you require black==23.10.1, we can conclude that your requirements are unsatisfiable. "###); Ok(()) @@ -1759,7 +1759,7 @@ fn conflicting_direct_url_dependency() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of werkzeug==3.0.0 and you require werkzeug==3.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of werkzeug==3.0.0 and you require werkzeug==3.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -1886,7 +1886,7 @@ fn conflicting_transitive_url_dependency() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only werkzeug<3.0.0 is available and flask==3.0.0 depends on werkzeug>=3.0.0, we can conclude that flask==3.0.0 cannot be used. - And because you require flask==3.0.0, we can conclude that the requirements are unsatisfiable. + And because you require flask==3.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -2237,7 +2237,7 @@ fn requirement_constraint_override_url() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of anyio==3.7.0 and you require anyio==3.7.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of anyio==3.7.0 and you require anyio==3.7.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -2459,7 +2459,7 @@ dependencies = ["anyio==3.7.0", "anyio==4.0.0"] ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because my-project depends on anyio==3.7.0 and anyio==4.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because my-project depends on anyio==3.7.0 and anyio==4.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -2491,7 +2491,7 @@ dependencies = ["anyio==300.1.4"] ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of anyio==300.1.4 and my-project depends on anyio==300.1.4, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of anyio==300.1.4 and my-project depends on anyio==300.1.4, we can conclude that your requirements are unsatisfiable. "### ); @@ -2938,7 +2938,7 @@ fn compile_yanked_version_indirect() -> Result<()> { attrs==21.1.0 attrs>=21.2.0 and attrs==21.1.0 was yanked (reason: Installable but not importable on Python 3.4), we can conclude that attrs>20.3.0,<21.2.0 cannot be used. - And because you require attrs>20.3.0,<21.2.0, we can conclude that the requirements are unsatisfiable. + And because you require attrs>20.3.0,<21.2.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -5402,7 +5402,7 @@ fn no_index_requirements_txt() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because tqdm was not found in the provided package locations and you require tqdm, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because tqdm was not found in the provided package locations and you require tqdm, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -5511,7 +5511,7 @@ fn offline_registry() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because black was not found in the cache and you require black==23.10.1, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because black was not found in the cache and you require black==23.10.1, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because the network was disabled "### @@ -5642,7 +5642,7 @@ fn offline_find_links() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because tqdm was not found in the cache and you require tqdm, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because tqdm was not found in the cache and you require tqdm, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because the network was disabled "### @@ -5661,7 +5661,7 @@ fn offline_find_links() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because tqdm was not found in the cache and you require tqdm, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because tqdm was not found in the cache and you require tqdm, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because the network was disabled "### @@ -5747,7 +5747,7 @@ fn invalid_metadata_requires_python() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because validation==2.0.0 has invalid metadata and you require validation==2.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because validation==2.0.0 has invalid metadata and you require validation==2.0.0, we can conclude that your requirements are unsatisfiable. hint: Metadata for validation==2.0.0 could not be parsed: Failed to parse version: Unexpected end of version specifier, expected operator: @@ -5779,7 +5779,7 @@ fn invalid_metadata_multiple_dist_info() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because validation==3.0.0 has an invalid package format and you require validation==3.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because validation==3.0.0 has an invalid package format and you require validation==3.0.0, we can conclude that your requirements are unsatisfiable. hint: The structure of validation==3.0.0 was invalid: Multiple .dist-info directories found: validation-2.0.0, validation-3.0.0 @@ -6048,7 +6048,7 @@ fn compile_constraints_incompatible_url() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only anyio>=4 is available and you require anyio<4, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only anyio>=4 is available and you require anyio<4, we can conclude that your requirements are unsatisfiable. "### ); @@ -6071,7 +6071,7 @@ fn index_url_in_requirements() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because anyio was not found in the package registry and you require anyio<4, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because anyio was not found in the package registry and you require anyio<4, we can conclude that your requirements are unsatisfiable. "### ); @@ -8021,7 +8021,7 @@ fn universal_requires_python_incomplete() -> Result<()> { uv{python_version >= '3.8'}==0.1.23 uv{python_version >= '3.8'}==0.1.24 and the requested Python version (>=3.7) does not satisfy Python>=3.8, we can conclude that all versions of uv{python_version >= '3.8'} are incompatible. - And because you require uv{python_version >= '3.8'}, we can conclude that the requirements are unsatisfiable. + And because you require uv{python_version >= '3.8'}, we can conclude that your requirements are unsatisfiable. "### ); @@ -8368,7 +8368,7 @@ fn compile_constraints_incompatible_version() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require filelock==1.0.0 and filelock==3.8.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require filelock==1.0.0 and filelock==3.8.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -8396,7 +8396,7 @@ fn conflicting_url_markers() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require filelock==1.0.0 and filelock==3.8.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require filelock==1.0.0 and filelock==3.8.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -8550,7 +8550,7 @@ fn override_with_incompatible_constraint() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require anyio>=3.0.0 and anyio<3.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require anyio>=3.0.0 and anyio<3.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -9078,7 +9078,7 @@ requires-python = "<=3.8" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.12.[X]) does not satisfy Python<=3.8 and example==0.0.0 depends on Python<=3.8, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -9130,7 +9130,7 @@ requires-python = "<=3.8" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the requested Python version (3.11.0) does not satisfy Python<=3.8 and example==0.0.0 depends on Python<=3.8, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -9358,7 +9358,7 @@ requires-python = "<=3.8" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.12.[X]) does not satisfy Python<=3.8 and example==0.0.0 depends on Python<=3.8, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -10494,7 +10494,7 @@ requires-python = ">3.8" × No solution found when resolving dependencies: ╰─▶ Because there is no version of anyio==0.0.0 and lib==0.0.0 depends on anyio==0.0.0, we can conclude that lib==0.0.0 cannot be used. And because only lib==0.0.0 is available and example==0.0.0 depends on lib, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -10665,7 +10665,7 @@ fn compile_index_url_first_match() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of jinja2==3.1.0 and you require jinja2==3.1.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of jinja2==3.1.0 and you require jinja2==3.1.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -11693,7 +11693,7 @@ fn no_binary_only_binary() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only source-distribution==0.0.1 is available and source-distribution==0.0.1 has no usable wheels and building from source is disabled, we can conclude that all versions of source-distribution cannot be used. - And because you require source-distribution, we can conclude that the requirements are unsatisfiable. + And because you require source-distribution, we can conclude that your requirements are unsatisfiable. "### ); @@ -11778,7 +11778,7 @@ fn incompatible_build_constraint() -> Result<()> { error: Failed to download and build `requests==1.2.0` Caused by: Failed to install requirements from setup.py build (resolve) Caused by: No solution found when resolving: setuptools>=40.8.0 - Caused by: Because you require setuptools>=40.8.0 and setuptools==1, we can conclude that the requirements are unsatisfiable. + Caused by: Because you require setuptools>=40.8.0 and setuptools==1, we can conclude that your requirements are unsatisfiable. "### ); diff --git a/crates/uv/tests/pip_compile_scenarios.rs b/crates/uv/tests/pip_compile_scenarios.rs index 1e07f1e29..f3e3e8733 100644 --- a/crates/uv/tests/pip_compile_scenarios.rs +++ b/crates/uv/tests/pip_compile_scenarios.rs @@ -128,7 +128,7 @@ fn compatible_python_incompatible_override() -> Result<()> { warning: The requested Python version 3.9 is not available; 3.11.[X] will be used to build dependencies instead. × No solution found when resolving dependencies: ╰─▶ Because the requested Python version (3.9.0) does not satisfy Python>=3.10 and package-a==1.0.0 depends on Python>=3.10, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -182,7 +182,7 @@ fn incompatible_python_compatible_override_unavailable_no_wheels() -> Result<()> warning: The requested Python version 3.11 is not available; 3.9.[X] will be used to build dependencies instead. × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.9.[X]) does not satisfy Python>=3.10 and package-a==1.0.0 depends on Python>=3.10, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -294,7 +294,7 @@ fn incompatible_python_compatible_override_no_compatible_wheels() -> Result<()> warning: The requested Python version 3.11 is not available; 3.9.[X] will be used to build dependencies instead. × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.9.[X]) does not satisfy Python>=3.10 and package-a==1.0.0 depends on Python>=3.10, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -359,7 +359,7 @@ fn incompatible_python_compatible_override_other_wheel() -> Result<()> { Because the requested Python version (3.11.0) does not satisfy Python>=3.12 and package-a==2.0.0 depends on Python>=3.12, we can conclude that package-a==2.0.0 cannot be used. And because we know from (1) that package-a<2.0.0 cannot be used, we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "### ); @@ -407,7 +407,7 @@ fn python_patch_override_no_patch() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the requested Python version (3.8.0) does not satisfy Python>=3.8.4 and package-a==1.0.0 depends on Python>=3.8.4, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "### ); diff --git a/crates/uv/tests/pip_install.rs b/crates/uv/tests/pip_install.rs index 23c1fe60b..e8f74ec5f 100644 --- a/crates/uv/tests/pip_install.rs +++ b/crates/uv/tests/pip_install.rs @@ -266,7 +266,7 @@ fn no_solution() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only flask<=3.0.2 is available and flask==3.0.2 depends on werkzeug>=3.0.0, we can conclude that flask>=3.0.2 depends on werkzeug>=3.0.0. - And because you require flask>=3.0.2 and werkzeug<1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require flask>=3.0.2 and werkzeug<1.0.0, we can conclude that your requirements are unsatisfiable. "###); } @@ -387,8 +387,8 @@ werkzeug==3.0.1 ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because flask==3.0.2 depends on click>=8.1.3 and you require click==7.0.0, we can conclude that the requirements and flask==3.0.2 are incompatible. - And because you require flask==3.0.2, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because flask==3.0.2 depends on click>=8.1.3 and you require click==7.0.0, we can conclude that your requirements and flask==3.0.2 are incompatible. + And because you require flask==3.0.2, we can conclude that your requirements are unsatisfiable. "### ); @@ -950,7 +950,7 @@ fn install_editable_incompatible_constraint_version() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only black<=0.1.0 is available and you require black>0.1.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only black<=0.1.0 is available and you require black>0.1.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -1222,7 +1222,7 @@ fn install_no_index() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because flask was not found in the provided package locations and you require flask, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because flask was not found in the provided package locations and you require flask, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -1246,7 +1246,7 @@ fn install_no_index_version() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because flask was not found in the provided package locations and you require flask==3.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because flask was not found in the provided package locations and you require flask==3.0.0, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -2013,7 +2013,7 @@ fn install_only_binary_all_and_no_binary_all() { And because anyio==3.7.0 has no usable wheels and building from source is disabled and anyio==3.7.1 has no usable wheels and building from source is disabled, we can conclude that anyio<4.0.0 cannot be used. And because anyio==4.0.0 has no usable wheels and building from source is disabled and anyio==4.1.0 has no usable wheels and building from source is disabled, we can conclude that anyio<4.2.0 cannot be used. And because anyio==4.2.0 has no usable wheels and building from source is disabled and anyio==4.3.0 has no usable wheels and building from source is disabled, we can conclude that anyio<4.4.0 cannot be used. - And because anyio==4.4.0 has no usable wheels and building from source is disabled and you require anyio, we can conclude that the requirements are unsatisfiable. + And because anyio==4.4.0 has no usable wheels and building from source is disabled and you require anyio, we can conclude that your requirements are unsatisfiable. hint: Pre-releases are available for anyio in the requested range (e.g., 4.0.0rc1), but pre-releases weren't enabled (try: `--prerelease=allow`) "### @@ -2046,7 +2046,7 @@ fn only_binary_requirements_txt() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because django-allauth==0.51.0 has no usable wheels and building from source is disabled and you require django-allauth==0.51.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because django-allauth==0.51.0 has no usable wheels and building from source is disabled and you require django-allauth==0.51.0, we can conclude that your requirements are unsatisfiable. "### ); } @@ -3384,7 +3384,7 @@ requires-python = "<=3.8" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.12.[X]) does not satisfy Python<=3.8 and example==0.0.0 depends on Python<=3.8, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -3897,7 +3897,7 @@ requires-python = "<=3.8" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.12.[X]) does not satisfy Python<=3.8 and example==0.0.0 depends on Python<=3.8, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -4348,7 +4348,7 @@ fn reinstall_no_index() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because anyio was not found in the provided package locations and you require anyio, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because anyio was not found in the provided package locations and you require anyio, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -4471,7 +4471,7 @@ fn already_installed_dependent_editable() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because first-local was not found in the provided package locations and second-local==0.1.0 depends on first-local, we can conclude that second-local==0.1.0 cannot be used. - And because only second-local==0.1.0 is available and you require second-local, we can conclude that the requirements are unsatisfiable. + And because only second-local==0.1.0 is available and you require second-local, we can conclude that your requirements are unsatisfiable. "### ); @@ -4570,7 +4570,7 @@ fn already_installed_local_path_dependent() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because first-local was not found in the provided package locations and second-local==0.1.0 depends on first-local, we can conclude that second-local==0.1.0 cannot be used. - And because only second-local==0.1.0 is available and you require second-local, we can conclude that the requirements are unsatisfiable. + And because only second-local==0.1.0 is available and you require second-local, we can conclude that your requirements are unsatisfiable. "### ); @@ -4612,7 +4612,7 @@ fn already_installed_local_path_dependent() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because first-local was not found in the provided package locations and second-local==0.1.0 depends on first-local, we can conclude that second-local==0.1.0 cannot be used. - And because only second-local==0.1.0 is available and you require second-local, we can conclude that the requirements are unsatisfiable. + And because only second-local==0.1.0 is available and you require second-local, we can conclude that your requirements are unsatisfiable. "### ); @@ -4684,7 +4684,7 @@ fn already_installed_local_version_of_remote_package() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because anyio was not found in the provided package locations and you require anyio==4.2.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because anyio was not found in the provided package locations and you require anyio==4.2.0, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -4701,7 +4701,7 @@ fn already_installed_local_version_of_remote_package() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of anyio==4.3.0+foo and you require anyio==4.3.0+foo, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of anyio==4.3.0+foo and you require anyio==4.3.0+foo, we can conclude that your requirements are unsatisfiable. "### ); @@ -4944,7 +4944,7 @@ fn already_installed_remote_url() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because uv-public-pypackage was not found in the provided package locations and you require uv-public-pypackage, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because uv-public-pypackage was not found in the provided package locations and you require uv-public-pypackage, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "###); @@ -4991,7 +4991,7 @@ fn already_installed_remote_url() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because uv-public-pypackage was not found in the provided package locations and you require uv-public-pypackage==0.2.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because uv-public-pypackage was not found in the provided package locations and you require uv-public-pypackage==0.2.0, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "###); @@ -6260,7 +6260,7 @@ fn incompatible_build_constraint() -> Result<()> { error: Failed to download and build `requests==1.2.0` Caused by: Failed to install requirements from setup.py build (resolve) Caused by: No solution found when resolving: setuptools>=40.8.0 - Caused by: Because you require setuptools>=40.8.0 and setuptools==1, we can conclude that the requirements are unsatisfiable. + Caused by: Because you require setuptools>=40.8.0 and setuptools==1, we can conclude that your requirements are unsatisfiable. "### ); diff --git a/crates/uv/tests/pip_install_scenarios.rs b/crates/uv/tests/pip_install_scenarios.rs index 0626f1179..7fa2f0350 100644 --- a/crates/uv/tests/pip_install_scenarios.rs +++ b/crates/uv/tests/pip_install_scenarios.rs @@ -81,7 +81,7 @@ fn requires_package_does_not_exist() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because package-a was not found in the package registry and you require package-a, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because package-a was not found in the package registry and you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -120,7 +120,7 @@ fn requires_exact_version_does_not_exist() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of package-a==2.0.0 and you require package-a==2.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of package-a==2.0.0 and you require package-a==2.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -161,7 +161,7 @@ fn requires_greater_version_does_not_exist() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<=1.0.0 is available and you require package-a>1.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<=1.0.0 is available and you require package-a>1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -203,7 +203,7 @@ fn requires_less_version_does_not_exist() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a>=2.0.0 is available and you require package-a<2.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a>=2.0.0 is available and you require package-a<2.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -245,7 +245,7 @@ fn transitive_requires_package_does_not_exist() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-b was not found in the package registry and package-a==1.0.0 depends on package-b, we can conclude that package-a==1.0.0 cannot be used. - And because only package-a==1.0.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==1.0.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -288,7 +288,7 @@ fn excluded_only_version() { ╰─▶ Because only package-a==1.0.0 is available and you require one of: package-a<1.0.0 package-a>1.0.0 - we can conclude that the requirements are unsatisfiable. + we can conclude that your requirements are unsatisfiable. "###); // Only `a==1.0.0` is available but the user excluded it. @@ -356,7 +356,7 @@ fn excluded_only_compatible_version() { And because you require one of: package-a<2.0.0 package-a>2.0.0 - and package-b>=2.0.0,<3.0.0, we can conclude that the requirements are unsatisfiable. + and package-b>=2.0.0,<3.0.0, we can conclude that your requirements are unsatisfiable. "###); // Only `a==1.2.0` is available since `a==1.0.0` and `a==3.0.0` require @@ -465,7 +465,7 @@ fn dependency_excludes_range_of_compatible_versions() { package-b<=1.0.0 package-b>=3.0.0 - And because you require package-b>=2.0.0,<3.0.0 and package-c, we can conclude that the requirements are unsatisfiable. + And because you require package-b>=2.0.0,<3.0.0 and package-c, we can conclude that your requirements are unsatisfiable. "###); // Only the `2.x` versions of `a` are available since `a==1.0.0` and `a==3.0.0` @@ -590,7 +590,7 @@ fn dependency_excludes_non_contiguous_range_of_compatible_versions() { package-b<=1.0.0 package-b>=3.0.0 - And because you require package-b>=2.0.0,<3.0.0 and package-c, we can conclude that the requirements are unsatisfiable. + And because you require package-b>=2.0.0,<3.0.0 and package-c, we can conclude that your requirements are unsatisfiable. "###); // Only the `2.x` versions of `a` are available since `a==1.0.0` and `a==3.0.0` @@ -899,7 +899,7 @@ fn extra_incompatible_with_extra() { × No solution found when resolving dependencies: ╰─▶ Because only package-a[extra-c]==1.0.0 is available and package-a[extra-c]==1.0.0 depends on package-b==2.0.0, we can conclude that all versions of package-a[extra-c] depend on package-b==2.0.0. And because package-a[extra-b]==1.0.0 depends on package-b==1.0.0 and only package-a[extra-b]==1.0.0 is available, we can conclude that all versions of package-a[extra-b] and all versions of package-a[extra-c] are incompatible. - And because you require package-a[extra-b] and package-a[extra-c], we can conclude that the requirements are unsatisfiable. + And because you require package-a[extra-b] and package-a[extra-c], we can conclude that your requirements are unsatisfiable. "###); // Because both `extra_b` and `extra_c` are requested and they require incompatible @@ -1014,7 +1014,7 @@ fn extra_incompatible_with_root() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a[extra]==1.0.0 is available and package-a[extra]==1.0.0 depends on package-b==1.0.0, we can conclude that all versions of package-a[extra] depend on package-b==1.0.0. - And because you require package-a[extra] and package-b==2.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a[extra] and package-b==2.0.0, we can conclude that your requirements are unsatisfiable. "###); // Because the user requested `b==2.0.0` but the requested extra requires @@ -1120,7 +1120,7 @@ fn direct_incompatible_versions() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require package-a==1.0.0 and package-a==2.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require package-a==1.0.0 and package-a==2.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1174,7 +1174,7 @@ fn transitive_incompatible_with_root_version() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-a==1.0.0 depends on package-b==2.0.0 and only package-a==1.0.0 is available, we can conclude that all versions of package-a depend on package-b==2.0.0. - And because you require package-a and package-b==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a and package-b==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1233,7 +1233,7 @@ fn transitive_incompatible_with_transitive() { × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 depends on package-c==1.0.0, we can conclude that all versions of package-a depend on package-c==1.0.0. And because package-b==1.0.0 depends on package-c==2.0.0 and only package-b==1.0.0 is available, we can conclude that all versions of package-a and all versions of package-b are incompatible. - And because you require package-a and package-b, we can conclude that the requirements are unsatisfiable. + And because you require package-a and package-b, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1283,7 +1283,7 @@ fn transitive_incompatible_versions() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-a==1.0.0 depends on package-b==1.0.0 and package-b==2.0.0, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1323,7 +1323,7 @@ fn local_simple() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of package-a==1.2.3 and you require package-a==1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of package-a==1.2.3 and you require package-a==1.2.3, we can conclude that your requirements are unsatisfiable. "###); // The version '1.2.3+foo' satisfies the constraint '==1.2.3'. @@ -1409,7 +1409,7 @@ fn local_used_without_sdist() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because package-a==1.2.3 has no wheels with a matching Python ABI tag and you require package-a==1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because package-a==1.2.3 has no wheels with a matching Python ABI tag and you require package-a==1.2.3, we can conclude that your requirements are unsatisfiable. "###); // The version '1.2.3+foo' satisfies the constraint '==1.2.3'. @@ -1563,7 +1563,7 @@ fn local_transitive_greater_than() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-a==1.0.0 depends on package-b>2.0.0 and only package-a==1.0.0 is available, we can conclude that all versions of package-a depend on package-b>2.0.0. - And because you require package-a and package-b==2.0.0+foo, we can conclude that the requirements are unsatisfiable. + And because you require package-a and package-b==2.0.0+foo, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1674,7 +1674,7 @@ fn local_transitive_less_than() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-a==1.0.0 depends on package-b<2.0.0 and only package-a==1.0.0 is available, we can conclude that all versions of package-a depend on package-b<2.0.0. - And because you require package-a and package-b==2.0.0+foo, we can conclude that the requirements are unsatisfiable. + And because you require package-a and package-b==2.0.0+foo, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1784,7 +1784,7 @@ fn local_transitive_confounding() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-b==2.0.0 has no wheels with a matching Python ABI tag and package-a==1.0.0 depends on package-b==2.0.0, we can conclude that package-a==1.0.0 cannot be used. - And because only package-a==1.0.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==1.0.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. "###); // The version '2.0.0+foo' satisfies the constraint '==2.0.0'. @@ -1833,7 +1833,7 @@ fn local_transitive_conflicting() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-a==1.0.0 depends on package-b==2.0.0+bar and only package-a==1.0.0 is available, we can conclude that all versions of package-a depend on package-b==2.0.0+bar. - And because you require package-a and package-b==2.0.0+foo, we can conclude that the requirements are unsatisfiable. + And because you require package-a and package-b==2.0.0+foo, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -1941,7 +1941,7 @@ fn local_greater_than() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<=1.2.3 is available and you require package-a>1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<=1.2.3 is available and you require package-a>1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "local_greater_than_a", &context.temp_dir); @@ -2019,7 +2019,7 @@ fn local_less_than() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a>=1.2.3 is available and you require package-a<1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a>=1.2.3 is available and you require package-a<1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "local_less_than_a", &context.temp_dir); @@ -2054,7 +2054,7 @@ fn local_less_than_or_equal() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a>1.2.3 is available and you require package-a<=1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a>1.2.3 is available and you require package-a<=1.2.3, we can conclude that your requirements are unsatisfiable. "###); // The version '1.2.3+foo' satisfies the constraint '<=1.2.3'. @@ -2094,7 +2094,7 @@ fn post_simple() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of package-a==1.2.3 and you require package-a==1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of package-a==1.2.3 and you require package-a==1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "post_simple_a", &context.temp_dir); @@ -2172,7 +2172,7 @@ fn post_greater_than() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<=1.2.3 is available and you require package-a>1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<=1.2.3 is available and you require package-a>1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "post_greater_than_a", &context.temp_dir); @@ -2298,7 +2298,7 @@ fn post_less_than_or_equal() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a>1.2.3 is available and you require package-a<=1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a>1.2.3 is available and you require package-a<=1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -2337,7 +2337,7 @@ fn post_less_than() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a>=1.2.3 is available and you require package-a<1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a>=1.2.3 is available and you require package-a<1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "post_less_than_a", &context.temp_dir); @@ -2374,7 +2374,7 @@ fn post_local_greater_than() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<=1.2.3 is available and you require package-a>1.2.3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<=1.2.3 is available and you require package-a>1.2.3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -2415,7 +2415,7 @@ fn post_local_greater_than_post() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<1.2.3.post2 is available and you require package-a>=1.2.3.post2, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<1.2.3.post2 is available and you require package-a>=1.2.3.post2, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -2456,7 +2456,7 @@ fn post_equal_not_available() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of package-a==1.2.3.post0 and you require package-a==1.2.3.post0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of package-a==1.2.3.post0 and you require package-a==1.2.3.post0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -2543,7 +2543,7 @@ fn post_greater_than_post_not_available() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<1.2.3.post3 is available and you require package-a>=1.2.3.post3, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<1.2.3.post3 is available and you require package-a>=1.2.3.post3, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -2629,7 +2629,7 @@ fn package_only_prereleases_in_range() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because only package-a<=0.1.0 is available and you require package-a>0.1.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because only package-a<=0.1.0 is available and you require package-a>0.1.0, we can conclude that your requirements are unsatisfiable. hint: Pre-releases are available for package-a in the requested range (e.g., 1.0.0a1), but pre-releases weren't enabled (try: `--prerelease=allow`) "###); @@ -3078,7 +3078,7 @@ fn transitive_package_only_prereleases_in_range() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-b<=0.1 is available and package-a==0.1.0 depends on package-b>0.1, we can conclude that package-a==0.1.0 cannot be used. - And because only package-a==0.1.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==0.1.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. hint: Pre-releases are available for package-b in the requested range (e.g., 1.0.0a1), but pre-releases weren't enabled (try: `--prerelease=allow`) "###); @@ -3200,7 +3200,7 @@ fn transitive_prerelease_and_stable_dependency() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because there is no version of package-c==2.0.0b1 and package-a==1.0.0 depends on package-c==2.0.0b1, we can conclude that package-a==1.0.0 cannot be used. - And because only package-a==1.0.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==1.0.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. hint: package-c was requested with a pre-release marker (e.g., package-c==2.0.0b1), but pre-releases weren't enabled (try: `--prerelease=allow`) "###); @@ -3369,7 +3369,7 @@ fn transitive_prerelease_and_stable_dependency_many_versions() { ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 depends on package-c>=2.0.0b1, we can conclude that all versions of package-a depend on package-c>=2.0.0b1. And because only package-c<2.0.0b1 is available, we can conclude that all versions of package-a depend on package-c>3.0.0. And because package-b==1.0.0 depends on package-c and only package-b==1.0.0 is available, we can conclude that all versions of package-a and all versions of package-b are incompatible. - And because you require package-a and package-b, we can conclude that the requirements are unsatisfiable. + And because you require package-a and package-b, we can conclude that your requirements are unsatisfiable. hint: package-c was requested with a pre-release marker (e.g., package-c>=2.0.0b1), but pre-releases weren't enabled (try: `--prerelease=allow`) "###); @@ -3460,7 +3460,7 @@ fn transitive_prerelease_and_stable_dependency_many_versions_holes() { package-c>2.0.0a7,<2.0.0b1 package-c>2.0.0b1,<2.0.0b5 we can conclude that package-a==1.0.0 cannot be used. - And because only package-a==1.0.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==1.0.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. hint: package-c was requested with a pre-release marker (e.g., any of: package-c>1.0.0,<2.0.0a5 @@ -3707,7 +3707,7 @@ fn python_version_does_not_exist() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.8.[X]) does not satisfy Python>=3.30 and package-a==1.0.0 depends on Python>=3.30, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -3749,7 +3749,7 @@ fn python_less_than_current() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.9.[X]) does not satisfy Python<=3.8 and package-a==1.0.0 depends on Python<=3.8, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -3791,7 +3791,7 @@ fn python_greater_than_current() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.9.[X]) does not satisfy Python>=3.10 and package-a==1.0.0 depends on Python>=3.10, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -3834,7 +3834,7 @@ fn python_greater_than_current_patch() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.8.12) does not satisfy Python>=3.8.14 and package-a==1.0.0 depends on Python>=3.8.14, we can conclude that package-a==1.0.0 cannot be used. - And because you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -3897,7 +3897,7 @@ fn python_greater_than_current_many() { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because there is no version of package-a==1.0.0 and you require package-a==1.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there is no version of package-a==1.0.0 and you require package-a==1.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -4014,7 +4014,7 @@ fn python_greater_than_current_excluded() { Because the current Python version (3.9.[X]) does not satisfy Python>=3.12 and package-a==4.0.0 depends on Python>=3.12, we can conclude that package-a==4.0.0 cannot be used. And because we know from (2) that package-a>=2.0.0,<4.0.0 cannot be used, we can conclude that package-a>=2.0.0 cannot be used. - And because you require package-a>=2.0.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a>=2.0.0, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -4195,7 +4195,7 @@ fn no_sdist_no_wheels_with_matching_platform() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 has no wheels with a matching platform tag, we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -4236,7 +4236,7 @@ fn no_sdist_no_wheels_with_matching_python() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 has no wheels with a matching Python implementation tag, we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -4277,7 +4277,7 @@ fn no_sdist_no_wheels_with_matching_abi() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 has no wheels with a matching Python ABI tag, we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed( @@ -4320,7 +4320,7 @@ fn no_wheels_no_build() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 has no usable wheels and building from source is disabled, we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "no_wheels_no_build_a", &context.temp_dir); @@ -4359,7 +4359,7 @@ fn only_wheels_no_binary() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 has no source distribution and using wheels is disabled, we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "###); assert_not_installed(&context.venv, "only_wheels_no_binary_a", &context.temp_dir); @@ -4476,7 +4476,7 @@ fn package_only_yanked() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because only package-a==1.0.0 is available and package-a==1.0.0 was yanked (reason: Yanked for testing), we can conclude that all versions of package-a cannot be used. - And because you require package-a, we can conclude that the requirements are unsatisfiable. + And because you require package-a, we can conclude that your requirements are unsatisfiable. "###); // Yanked versions should not be installed, even if they are the only one @@ -4518,7 +4518,7 @@ fn package_only_yanked_in_range() { package-a<=0.1.0 package-a==1.0.0 and package-a==1.0.0 was yanked (reason: Yanked for testing), we can conclude that package-a>0.1.0 cannot be used. - And because you require package-a>0.1.0, we can conclude that the requirements are unsatisfiable. + And because you require package-a>0.1.0, we can conclude that your requirements are unsatisfiable. "###); // Since there are other versions of `a` available, yanked versions should not be @@ -4659,7 +4659,7 @@ fn transitive_package_only_yanked() { × No solution found when resolving dependencies: ╰─▶ Because only package-b==1.0.0 is available and package-b==1.0.0 was yanked (reason: Yanked for testing), we can conclude that all versions of package-b cannot be used. And because package-a==0.1.0 depends on package-b, we can conclude that package-a==0.1.0 cannot be used. - And because only package-a==0.1.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==0.1.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. "###); // Yanked versions should not be installed, even if they are the only one @@ -4711,7 +4711,7 @@ fn transitive_package_only_yanked_in_range() { package-b==1.0.0 and package-b==1.0.0 was yanked (reason: Yanked for testing), we can conclude that package-b>0.1 cannot be used. And because package-a==0.1.0 depends on package-b>0.1, we can conclude that package-a==0.1.0 cannot be used. - And because only package-a==0.1.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==0.1.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. "###); // Yanked versions should not be installed, even if they are the only valid version @@ -4831,7 +4831,7 @@ fn transitive_yanked_and_unyanked_dependency() { ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because package-c==2.0.0 was yanked (reason: Yanked for testing) and package-a==1.0.0 depends on package-c==2.0.0, we can conclude that package-a==1.0.0 cannot be used. - And because only package-a==1.0.0 is available and you require package-a, we can conclude that the requirements are unsatisfiable. + And because only package-a==1.0.0 is available and you require package-a, we can conclude that your requirements are unsatisfiable. "###); // Since the user did not explicitly select the yanked version, it cannot be used. diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs index 749927198..3f5871f48 100644 --- a/crates/uv/tests/pip_sync.rs +++ b/crates/uv/tests/pip_sync.rs @@ -934,7 +934,7 @@ fn install_no_index() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because iniconfig was not found in the provided package locations and you require iniconfig==2.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because iniconfig was not found in the provided package locations and you require iniconfig==2.0.0, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -983,7 +983,7 @@ fn install_no_index_cached() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because iniconfig was not found in the provided package locations and you require iniconfig==2.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because iniconfig was not found in the provided package locations and you require iniconfig==2.0.0, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because index lookups were disabled and no additional package locations were provided (try: `--find-links `) "### @@ -1250,7 +1250,7 @@ fn mismatched_name() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because foo has an invalid package format and you require foo, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because foo has an invalid package format and you require foo, we can conclude that your requirements are unsatisfiable. hint: The structure of foo was invalid: The .dist-info directory tomli-2.0.1 does not start with the normalized package name: foo @@ -1919,7 +1919,7 @@ fn duplicate_package_overlap() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require markupsafe==2.1.3 and markupsafe==2.1.2, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require markupsafe==2.1.3 and markupsafe==2.1.2, we can conclude that your requirements are unsatisfiable. "### ); @@ -2787,7 +2787,7 @@ fn find_links_offline_no_match() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because numpy was not found in the cache and you require numpy, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because numpy was not found in the cache and you require numpy, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because the network was disabled "### @@ -2914,7 +2914,7 @@ fn offline() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because black was not found in the cache and you require black==23.10.1, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because black was not found in the cache and you require black==23.10.1, we can conclude that your requirements are unsatisfiable. hint: Packages were unavailable because the network was disabled "### @@ -3005,7 +3005,7 @@ fn incompatible_constraint() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require anyio==3.7.0 and anyio==3.6.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require anyio==3.7.0 and anyio==3.6.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -3102,7 +3102,7 @@ fn repeat_requirement_incompatible() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because you require anyio<4.0.0 and anyio==4.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because you require anyio<4.0.0 and anyio==4.0.0, we can conclude that your requirements are unsatisfiable. "###); Ok(()) @@ -3349,7 +3349,7 @@ requires-python = "<=3.5" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.12.[X]) does not satisfy Python<=3.5 and example==0.0.0 depends on Python<=3.5, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -3419,7 +3419,7 @@ requires-python = "<=3.5" ----- stderr ----- × No solution found when resolving dependencies: ╰─▶ Because the current Python version (3.12.[X]) does not satisfy Python<=3.5 and example==0.0.0 depends on Python<=3.5, we can conclude that example==0.0.0 cannot be used. - And because only example==0.0.0 is available and you require example, we can conclude that the requirements are unsatisfiable. + And because only example==0.0.0 is available and you require example, we can conclude that your requirements are unsatisfiable. "### ); @@ -4895,7 +4895,7 @@ fn require_hashes_registry_valid_hash() -> Result<()> { ----- stderr ----- × No solution found when resolving dependencies: - ╰─▶ Because example-a-961b4c22 was not found in the package registry and you require example-a-961b4c22==1.0.0, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because example-a-961b4c22 was not found in the package registry and you require example-a-961b4c22==1.0.0, we can conclude that your requirements are unsatisfiable. "### ); @@ -5373,7 +5373,7 @@ fn incompatible_build_constraint() -> Result<()> { error: Failed to download and build `requests==1.2.0` Caused by: Failed to install requirements from setup.py build (resolve) Caused by: No solution found when resolving: setuptools>=40.8.0 - Caused by: Because you require setuptools>=40.8.0 and setuptools==1, we can conclude that the requirements are unsatisfiable. + Caused by: Because you require setuptools>=40.8.0 and setuptools==1, we can conclude that your requirements are unsatisfiable. "### ); diff --git a/crates/uv/tests/run.rs b/crates/uv/tests/run.rs index 3f9d417ef..f692dbc8a 100644 --- a/crates/uv/tests/run.rs +++ b/crates/uv/tests/run.rs @@ -352,7 +352,7 @@ fn run_pep723_script() -> Result<()> { ----- stderr ----- Reading inline script metadata from: main.py × No solution found when resolving script dependencies: - ╰─▶ Because there are no versions of add and you require add, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there are no versions of add and you require add, we can conclude that your requirements are unsatisfiable. "###); Ok(()) @@ -539,7 +539,7 @@ fn run_with() -> Result<()> { Resolved 6 packages in [TIME] Audited 4 packages in [TIME] × No solution found when resolving `--with` dependencies: - ╰─▶ Because there are no versions of add and you require add, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there are no versions of add and you require add, we can conclude that your requirements are unsatisfiable. "###); Ok(()) diff --git a/crates/uv/tests/tool_install.rs b/crates/uv/tests/tool_install.rs index 29158b6a6..a4a2d69d7 100644 --- a/crates/uv/tests/tool_install.rs +++ b/crates/uv/tests/tool_install.rs @@ -2222,7 +2222,7 @@ fn tool_install_preserve_environment() { ----- stderr ----- warning: `uv tool install` is experimental and may change without warning error: Because black==24.1.1 depends on packaging>=22.0 and you require black==24.1.1, we can conclude that you require packaging>=22.0. - And because you require packaging==0.0.1, we can conclude that the requirements are unsatisfiable. + And because you require packaging==0.0.1, we can conclude that your requirements are unsatisfiable. "###); // Install `black`. The tool should already be installed, since we didn't remove the environment. diff --git a/crates/uv/tests/tool_run.rs b/crates/uv/tests/tool_run.rs index 27d3492f8..eed59d09b 100644 --- a/crates/uv/tests/tool_run.rs +++ b/crates/uv/tests/tool_run.rs @@ -921,6 +921,6 @@ fn tool_run_resolution_error() { ----- stderr ----- warning: `uv tool run` is experimental and may change without warning × No solution found when resolving tool dependencies: - ╰─▶ Because there are no versions of add and you require add, we can conclude that the requirements are unsatisfiable. + ╰─▶ Because there are no versions of add and you require add, we can conclude that your requirements are unsatisfiable. "###); }