From 25e4841bf0247f48ef120b40715e39499ed5fb2d Mon Sep 17 00:00:00 2001 From: Aria Desires Date: Tue, 11 Feb 2025 14:38:38 -0500 Subject: [PATCH] add provides-extras to lockfile (#11063) Fixes #10953 --- crates/uv-resolver/src/lock/mod.rs | 64 +- ...r__lock__tests__hash_optional_missing.snap | 3 +- ...r__lock__tests__hash_optional_present.snap | 3 +- ...r__lock__tests__hash_required_present.snap | 3 +- ...missing_dependency_source_unambiguous.snap | 6 +- ...dependency_source_version_unambiguous.snap | 6 +- ...issing_dependency_version_unambiguous.snap | 6 +- ...lock__tests__source_direct_has_subdir.snap | 3 +- ..._lock__tests__source_direct_no_subdir.snap | 3 +- ...solver__lock__tests__source_directory.snap | 3 +- ...esolver__lock__tests__source_editable.snap | 3 +- crates/uv/tests/it/branching_urls.rs | 51 +- crates/uv/tests/it/edit.rs | 231 ++-- crates/uv/tests/it/export.rs | 14 +- crates/uv/tests/it/lock.rs | 1053 +++++++++++------ crates/uv/tests/it/lock_conflict.rs | 141 ++- crates/uv/tests/it/lock_scenarios.rs | 143 ++- crates/uv/tests/it/run.rs | 9 +- .../it__ecosystem__black-lock-file.snap | 1 + ...system__github-wikidata-bot-lock-file.snap | 1 + ...system__home-assistant-core-lock-file.snap | 1 + .../it__ecosystem__packse-lock-file.snap | 1 + .../it__ecosystem__saleor-lock-file.snap | 1 + ...it__ecosystem__transformers-lock-file.snap | 1 + .../it__ecosystem__warehouse-lock-file.snap | 1 + .../it__workflow__jax_instability-2.snap | 1 + ...se_add_remove_existing_package_noop-2.snap | 3 +- ...flow__packse_add_remove_one_package-2.snap | 3 +- ...te_transitive_to_direct_then_remove-2.snap | 3 +- crates/uv/tests/it/sync.rs | 74 +- crates/uv/tests/it/tree.rs | 4 +- crates/uv/tests/it/workflow.rs | 34 +- crates/uv/tests/it/workspace.rs | 13 +- 33 files changed, 1233 insertions(+), 654 deletions(-) diff --git a/crates/uv-resolver/src/lock/mod.rs b/crates/uv-resolver/src/lock/mod.rs index 28b854aa5f86..2d2f27d016fb 100644 --- a/crates/uv-resolver/src/lock/mod.rs +++ b/crates/uv-resolver/src/lock/mod.rs @@ -981,6 +981,7 @@ impl Lock { .metadata .requires_dist .iter() + .flatten() .cloned() .map(|requirement| normalize_requirement(requirement, root)) .collect::>()?; @@ -1777,18 +1778,32 @@ impl Package { let sdist = SourceDist::from_annotated_dist(&id, annotated_dist)?; let wheels = Wheel::from_annotated_dist(annotated_dist)?; let requires_dist = if id.source.is_immutable() { - BTreeSet::default() + None } else { - annotated_dist - .metadata - .as_ref() - .expect("metadata is present") - .requires_dist - .iter() - .cloned() - .map(|requirement| requirement.relative_to(root)) - .collect::>() - .map_err(LockErrorKind::RequirementRelativePath)? + Some( + annotated_dist + .metadata + .as_ref() + .expect("metadata is present") + .requires_dist + .iter() + .cloned() + .map(|requirement| requirement.relative_to(root)) + .collect::>() + .map_err(LockErrorKind::RequirementRelativePath)?, + ) + }; + let provides_extras = if id.source.is_immutable() { + None + } else { + Some( + annotated_dist + .metadata + .as_ref() + .expect("metadata is present") + .provides_extras + .clone(), + ) }; let dependency_groups = if id.source.is_immutable() { BTreeMap::default() @@ -1820,6 +1835,7 @@ impl Package { dependency_groups: BTreeMap::default(), metadata: PackageMetadata { requires_dist, + provides_extras, dependency_groups, }, }) @@ -2402,10 +2418,22 @@ impl Package { { let mut metadata_table = Table::new(); - if !self.metadata.requires_dist.is_empty() { - let requires_dist = self - .metadata - .requires_dist + // Even output the empty list to signal it's *known* empty. + if let Some(provides_extras) = &self.metadata.provides_extras { + let provides_extras = provides_extras + .iter() + .map(|extra| { + serde::Serialize::serialize(&extra, toml_edit::ser::ValueSerializer::new()) + }) + .collect::, _>>()?; + // This is just a list of names, so linebreaking it is excessive. + let provides_extras = Array::from_iter(provides_extras); + metadata_table.insert("provides-extras", value(provides_extras)); + } + + // Even output the empty set to signal it's *known* empty. + if let Some(requires_dist) = &self.metadata.requires_dist { + let requires_dist = requires_dist .iter() .map(|requirement| { serde::Serialize::serialize( @@ -2632,8 +2660,12 @@ struct PackageWire { #[derive(Clone, Default, Debug, Eq, PartialEq, serde::Deserialize)] #[serde(rename_all = "kebab-case")] struct PackageMetadata { + // The Options here are so we can distinguish "no info available" + // from "known and empty". + #[serde(default)] + requires_dist: Option>, #[serde(default)] - requires_dist: BTreeSet, + provides_extras: Option>, #[serde(default, rename = "requires-dev", alias = "dependency-groups")] dependency_groups: BTreeMap>, } diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_missing.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_missing.snap index b0769642b738..667f5bf7be0e 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_missing.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_missing.snap @@ -86,7 +86,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_present.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_present.snap index d116e18ee946..ebe9812796a5 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_present.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_optional_present.snap @@ -93,7 +93,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_required_present.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_required_present.snap index 9be0baf32f27..36976ce4900a 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_required_present.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__hash_required_present.snap @@ -89,7 +89,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_unambiguous.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_unambiguous.snap index 58a4ad2271d2..17b5630cf17e 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_unambiguous.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_unambiguous.snap @@ -79,7 +79,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, @@ -148,7 +149,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_version_unambiguous.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_version_unambiguous.snap index 58a4ad2271d2..17b5630cf17e 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_version_unambiguous.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_source_version_unambiguous.snap @@ -79,7 +79,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, @@ -148,7 +149,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_unambiguous.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_unambiguous.snap index 58a4ad2271d2..17b5630cf17e 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_unambiguous.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__missing_dependency_version_unambiguous.snap @@ -79,7 +79,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, @@ -148,7 +149,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_has_subdir.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_has_subdir.snap index 61bf7f84037a..d5189738fc1f 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_has_subdir.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_has_subdir.snap @@ -63,7 +63,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_no_subdir.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_no_subdir.snap index cdf9d68dc710..ec5d17db146c 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_no_subdir.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_direct_no_subdir.snap @@ -61,7 +61,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_directory.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_directory.snap index a9f2849ed9bb..c7f468be6b8d 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_directory.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_directory.snap @@ -56,7 +56,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_editable.snap b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_editable.snap index 5357b6934627..d4f8d2b47f75 100644 --- a/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_editable.snap +++ b/crates/uv-resolver/src/lock/snapshots/uv_resolver__lock__tests__source_editable.snap @@ -56,7 +56,8 @@ Ok( optional_dependencies: {}, dependency_groups: {}, metadata: PackageMetadata { - requires_dist: {}, + requires_dist: None, + provides_extras: None, dependency_groups: {}, }, }, diff --git a/crates/uv/tests/it/branching_urls.rs b/crates/uv/tests/it/branching_urls.rs index 759fc67c7279..b87a9d481e7d 100644 --- a/crates/uv/tests/it/branching_urls.rs +++ b/crates/uv/tests/it/branching_urls.rs @@ -203,7 +203,7 @@ fn root_package_splits_transitive_too() -> Result<()> { "### ); - assert_snapshot!(context.read("uv.lock"), @r###" + assert_snapshot!(context.read("uv.lock"), @r#" version = 1 requires-python = ">=3.11, <3.13" resolution-markers = [ @@ -225,6 +225,7 @@ fn root_package_splits_transitive_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "python_full_version < '3.12'", specifier = "==4.2.0" }, { name = "anyio", marker = "python_full_version >= '3.12'", specifier = "==4.3.0" }, @@ -273,6 +274,7 @@ fn root_package_splits_transitive_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "b1", marker = "python_full_version < '3.12'", directory = "b1" }, { name = "b2", marker = "python_full_version >= '3.12'", directory = "b2" }, @@ -287,6 +289,7 @@ fn root_package_splits_transitive_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", url = "https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl" }] [[package]] @@ -298,6 +301,7 @@ fn root_package_splits_transitive_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }] [[package]] @@ -320,6 +324,10 @@ fn root_package_splits_transitive_too() -> Result<()> { { url = "https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -331,6 +339,10 @@ fn root_package_splits_transitive_too() -> Result<()> { { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "sniffio" version = "1.3.1" @@ -339,7 +351,7 @@ fn root_package_splits_transitive_too() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "###); + "#); Ok(()) } @@ -398,7 +410,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { "### ); - assert_snapshot!(context.read("uv.lock"), @r###" + assert_snapshot!(context.read("uv.lock"), @r#" version = 1 requires-python = ">=3.11, <3.13" resolution-markers = [ @@ -421,6 +433,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "python_full_version < '3.12'", specifier = "==4.2.0" }, { name = "anyio", marker = "python_full_version >= '3.12'", specifier = "==4.3.0" }, @@ -469,6 +482,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==1.1.1" }] [[package]] @@ -480,6 +494,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] [[package]] @@ -523,7 +538,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "###); + "#); Ok(()) } @@ -559,7 +574,7 @@ fn branching_between_registry_and_direct_url() -> Result<()> { ); // We have source dist and wheel for the registry, but only the wheel for the direct URL. - assert_snapshot!(context.read("uv.lock"), @r###" + assert_snapshot!(context.read("uv.lock"), @r#" version = 1 requires-python = ">=3.11, <3.13" resolution-markers = [ @@ -580,6 +595,7 @@ fn branching_between_registry_and_direct_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", marker = "python_full_version < '3.12'", specifier = "==1.1.1" }, { name = "iniconfig", marker = "python_full_version >= '3.12'", url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }, @@ -607,7 +623,11 @@ fn branching_between_registry_and_direct_url() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] - "###); + + [package.metadata] + provides-extras = [] + requires-dist = [] + "#); Ok(()) } @@ -645,7 +665,7 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> { ); // We have source dist and wheel for the registry, but only the wheel for the direct URL. - assert_snapshot!(context.read("uv.lock"), @r###" + assert_snapshot!(context.read("uv.lock"), @r#" version = 1 requires-python = ">=3.11, <3.13" resolution-markers = [ @@ -666,6 +686,7 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", marker = "python_full_version < '3.12'", url = "https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl" }, { name = "iniconfig", marker = "python_full_version >= '3.12'", git = "https://github.com/pytest-dev/iniconfig?rev=93f5930e668c0d1ddf4597e38dd0dea4e2665e7a" }, @@ -682,6 +703,10 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> { { url = "https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -689,7 +714,7 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> { resolution-markers = [ "python_full_version >= '3.12'", ] - "###); + "#); Ok(()) } @@ -773,7 +798,7 @@ fn dont_pre_visit_url_packages() -> Result<()> { "### ); - assert_snapshot!(context.read("uv.lock"), @r###" + assert_snapshot!(context.read("uv.lock"), @r#" version = 1 requires-python = ">=3.11, <3.13" @@ -790,6 +815,7 @@ fn dont_pre_visit_url_packages() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "b", directory = "b" }, { name = "c", specifier = "==0.1.0" }, @@ -804,13 +830,18 @@ fn dont_pre_visit_url_packages() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "c", directory = "c" }] [[package]] name = "c" version = "0.1.0" source = { directory = "c" } - "###); + + [package.metadata] + provides-extras = [] + requires-dist = [] + "#); Ok(()) } diff --git a/crates/uv/tests/it/edit.rs b/crates/uv/tests/it/edit.rs index fa7651252c82..20a44293fc21 100644 --- a/crates/uv/tests/it/edit.rs +++ b/crates/uv/tests/it/edit.rs @@ -73,7 +73,7 @@ fn add_registry() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -111,6 +111,7 @@ fn add_registry() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] [[package]] @@ -121,7 +122,7 @@ fn add_registry() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -240,7 +241,7 @@ fn add_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -279,6 +280,7 @@ fn add_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", specifier = "==3.7.0" }, { name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1" }, @@ -297,7 +299,7 @@ fn add_git() -> Result<()> { name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -379,7 +381,7 @@ fn add_git_private_source() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -395,13 +397,14 @@ fn add_git_private_source() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-private-pypackage", git = "https://github.com/astral-test/uv-private-pypackage" }] [[package]] name = "uv-private-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-private-pypackage#d780faf0ac91257d4d5a4f0c5a0e4509608c0071" } - "### + "# ); }); @@ -485,7 +488,7 @@ fn add_git_private_raw() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -501,13 +504,14 @@ fn add_git_private_raw() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-private-pypackage", git = "https://github.com/astral-test/uv-private-pypackage" }] [[package]] name = "uv-private-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-private-pypackage#d780faf0ac91257d4d5a4f0c5a0e4509608c0071" } - "### + "# ); }); @@ -705,7 +709,7 @@ fn add_git_raw() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -744,6 +748,7 @@ fn add_git_raw() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", specifier = "==3.7.0" }, { name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?rev=0.0.1" }, @@ -762,7 +767,7 @@ fn add_git_raw() -> Result<()> { name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?rev=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -969,7 +974,7 @@ fn add_unnamed() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -985,13 +990,14 @@ fn add_unnamed() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -1073,7 +1079,7 @@ fn add_remove_dev() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1113,6 +1119,8 @@ fn add_remove_dev() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] dev = [{ name = "anyio", specifier = "==3.7.0" }] @@ -1125,7 +1133,7 @@ fn add_remove_dev() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1196,7 +1204,7 @@ fn add_remove_dev() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1209,10 +1217,12 @@ fn add_remove_dev() -> Result<()> { source = { editable = "." } [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] dev = [] - "### + "# ); }); @@ -1294,7 +1304,7 @@ fn add_remove_optional() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1334,6 +1344,7 @@ fn add_remove_optional() -> Result<()> { ] [package.metadata] + provides-extras = ["io"] requires-dist = [{ name = "anyio", marker = "extra == 'io'", specifier = "==3.7.0" }] [[package]] @@ -1344,7 +1355,7 @@ fn add_remove_optional() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1416,7 +1427,7 @@ fn add_remove_optional() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1427,7 +1438,11 @@ fn add_remove_optional() -> Result<()> { name = "project" version = "0.1.0" source = { editable = "." } - "### + + [package.metadata] + provides-extras = ["io"] + requires-dist = [] + "# ); }); @@ -1653,7 +1668,7 @@ fn add_remove_workspace() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1675,13 +1690,18 @@ fn add_remove_workspace() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child2", editable = "child2" }] [[package]] name = "child2" version = "0.1.0" source = { editable = "child2" } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -1736,7 +1756,7 @@ fn add_remove_workspace() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1754,11 +1774,19 @@ fn add_remove_workspace() -> Result<()> { version = "0.1.0" source = { editable = "child1" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "child2" version = "0.1.0" source = { editable = "child2" } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -2283,7 +2311,7 @@ fn add_workspace_editable() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2306,6 +2334,7 @@ fn add_workspace_editable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child2", editable = "child2" }] [[package]] @@ -2313,11 +2342,19 @@ fn add_workspace_editable() -> Result<()> { version = "0.1.0" source = { editable = "child2" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "parent" version = "0.1.0" source = { virtual = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -2407,7 +2444,7 @@ fn add_workspace_path() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2425,6 +2462,10 @@ fn add_workspace_path() -> Result<()> { version = "0.1.0" source = { editable = "child" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "parent" version = "0.1.0" @@ -2434,8 +2475,9 @@ fn add_workspace_path() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child", editable = "child" }] - "### + "# ); }); @@ -2530,7 +2572,7 @@ fn add_path() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2542,6 +2584,10 @@ fn add_path() -> Result<()> { version = "0.1.0" source = { directory = "packages/child" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "parent" version = "0.1.0" @@ -2551,8 +2597,9 @@ fn add_path() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child", directory = "packages/child" }] - "### + "# ); }); @@ -2737,7 +2784,7 @@ fn update() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2804,6 +2851,7 @@ fn update() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "requests", extras = ["security"], git = "https://github.com/psf/requests?tag=v2.32.3" }, { name = "requests", extras = ["socks", "use-chardet-on-py3"], marker = "python_full_version >= '3.8'", git = "https://github.com/psf/requests?tag=v2.32.3" }, @@ -2845,7 +2893,7 @@ fn update() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", size = 121067 }, ] - "### + "# ); }); @@ -3432,7 +3480,7 @@ fn add_inexact() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3457,8 +3505,9 @@ fn add_inexact() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -3571,7 +3620,7 @@ fn remove_registry() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3582,7 +3631,11 @@ fn remove_registry() -> Result<()> { name = "project" version = "0.1.0" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -4254,7 +4307,7 @@ fn add_lower_bound_optional() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -4294,6 +4347,7 @@ fn add_lower_bound_optional() -> Result<()> { ] [package.metadata] + provides-extras = ["io"] requires-dist = [{ name = "anyio", marker = "extra == 'io'", specifier = ">=4.3.0" }] [[package]] @@ -4304,7 +4358,7 @@ fn add_lower_bound_optional() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -4374,7 +4428,7 @@ fn add_lower_bound_local() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -4396,8 +4450,9 @@ fn add_lower_bound_local() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "local-simple-a", specifier = ">=1.2.3" }] - "### + "# ); }); @@ -4475,7 +4530,7 @@ fn add_non_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -4495,7 +4550,7 @@ fn add_non_project() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -5436,7 +5491,7 @@ fn add_remove_script_lock() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -5572,7 +5627,7 @@ fn add_remove_script_lock() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", size = 121067 }, ] - "### + "# ); }); @@ -6793,7 +6848,7 @@ fn add_warn_index_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6818,8 +6873,9 @@ fn add_warn_index_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "idna", specifier = ">=3.6" }] - "### + "# ); }); @@ -6894,7 +6950,7 @@ fn add_no_warn_index_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6919,8 +6975,9 @@ fn add_no_warn_index_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">=2.0.0" }] - "### + "# ); }); @@ -6986,7 +7043,7 @@ fn add_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7014,8 +7071,9 @@ fn add_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -7071,7 +7129,7 @@ fn add_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7125,11 +7183,12 @@ fn add_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", specifier = "==2.0.0" }, { name = "jinja2", specifier = ">=3.1.4", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu121" }, ] - "### + "# ); }); @@ -7182,7 +7241,7 @@ fn add_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7241,11 +7300,12 @@ fn add_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", specifier = "==2.0.0" }, { name = "jinja2", specifier = ">=3.1.4", index = "https://test.pypi.org/simple" }, ] - "### + "# ); }); @@ -7301,7 +7361,7 @@ fn add_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7361,6 +7421,7 @@ fn add_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", specifier = "==2.0.0" }, { name = "jinja2", specifier = ">=3.1.4", index = "https://test.pypi.org/simple" }, @@ -7375,7 +7436,7 @@ fn add_index() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, ] - "### + "# ); }); @@ -7429,7 +7490,7 @@ fn add_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7489,6 +7550,7 @@ fn add_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", specifier = "==2.0.0" }, { name = "jinja2", specifier = ">=3.1.4", index = "https://test.pypi.org/simple" }, @@ -7503,7 +7565,7 @@ fn add_index() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, ] - "### + "# ); }); @@ -7564,7 +7626,7 @@ fn add_default_index_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7589,8 +7651,9 @@ fn add_default_index_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">=2.0.0" }] - "### + "# ); }); @@ -7636,7 +7699,7 @@ fn add_default_index_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7662,6 +7725,7 @@ fn add_default_index_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", specifier = ">=2.0.0" }, { name = "typing-extensions", specifier = ">=4.10.0" }, @@ -7675,7 +7739,7 @@ fn add_default_index_url() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -7736,7 +7800,7 @@ fn add_index_credentials() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7761,8 +7825,9 @@ fn add_index_credentials() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -7831,7 +7896,7 @@ fn existing_index_credentials() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7856,8 +7921,9 @@ fn existing_index_credentials() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -7923,7 +7989,7 @@ fn add_index_with_trailing_slash() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7951,8 +8017,9 @@ fn add_index_with_trailing_slash() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -8018,7 +8085,7 @@ fn add_index_without_trailing_slash() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8046,8 +8113,9 @@ fn add_index_without_trailing_slash() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -8122,7 +8190,7 @@ fn add_group_comment() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -8153,6 +8221,8 @@ fn add_group_comment() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] dev = [ @@ -8178,7 +8248,7 @@ fn add_group_comment() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -8255,7 +8325,7 @@ fn add_index_comments() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8280,8 +8350,9 @@ fn add_index_comments() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0" }] - "### + "# ); }); @@ -8556,7 +8627,7 @@ fn add_direct_url_subdirectory() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8594,6 +8665,7 @@ fn add_direct_url_subdirectory() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "root", url = "https://github.com/user-attachments/files/18216295/subdirectory-test.tar.gz", subdirectory = "packages/root" }] [[package]] @@ -8606,6 +8678,7 @@ fn add_direct_url_subdirectory() -> Result<()> { sdist = { hash = "sha256:24b55efee28d08ad3cdc58903e359e820601baa6a4a4b3424311541ebcfb09d3" } [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -8616,7 +8689,7 @@ fn add_direct_url_subdirectory() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -8694,7 +8767,7 @@ fn add_direct_url_subdirectory_raw() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8732,6 +8805,7 @@ fn add_direct_url_subdirectory_raw() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "root", url = "https://github.com/user-attachments/files/18216295/subdirectory-test.tar.gz", subdirectory = "packages/root" }] [[package]] @@ -8744,6 +8818,7 @@ fn add_direct_url_subdirectory_raw() -> Result<()> { sdist = { hash = "sha256:24b55efee28d08ad3cdc58903e359e820601baa6a4a4b3424311541ebcfb09d3" } [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -8754,7 +8829,7 @@ fn add_direct_url_subdirectory_raw() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); diff --git a/crates/uv/tests/it/export.rs b/crates/uv/tests/it/export.rs index 775e1f740083..b132238d9068 100644 --- a/crates/uv/tests/it/export.rs +++ b/crates/uv/tests/it/export.rs @@ -520,7 +520,7 @@ fn dependency_conflicting_markers() -> Result<()> { }, { insta::assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -594,6 +594,7 @@ fn dependency_conflicting_markers() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "trio", marker = "sys_platform == 'darwin'", specifier = "==0.25.0" }, { name = "trio", marker = "sys_platform == 'win32'", specifier = "==0.10.0" }, @@ -662,7 +663,7 @@ fn dependency_conflicting_markers() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/17/c9/f86f89f14d52f9f2f652ce24cb2f60141a51d087db1563f3fba94ba07346/trio-0.25.0-py3-none-any.whl", hash = "sha256:e6458efe29cc543e557a91e614e2b51710eba2961669329ce9c862d50c6e8e81", size = 467161 }, ] - "### + "# ); } ); @@ -1217,7 +1218,7 @@ fn non_project_fork() -> Result<()> { }, { insta::assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -1280,6 +1281,7 @@ fn non_project_fork() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "sys_platform == 'linux'", specifier = "==3.0.0" }, { name = "anyio", marker = "sys_platform == 'win32'", specifier = "==2.0.0" }, @@ -1302,7 +1304,7 @@ fn non_project_fork() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); } ); @@ -2113,7 +2115,7 @@ fn script() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" resolution-markers = [ @@ -2180,7 +2182,7 @@ fn script() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); diff --git a/crates/uv/tests/it/lock.rs b/crates/uv/tests/it/lock.rs index 7bfa4c11b51e..19a4bdedef66 100644 --- a/crates/uv/tests/it/lock.rs +++ b/crates/uv/tests/it/lock.rs @@ -43,7 +43,7 @@ fn lock_wheel_registry() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -81,6 +81,7 @@ fn lock_wheel_registry() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] [[package]] @@ -91,7 +92,7 @@ fn lock_wheel_registry() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -174,7 +175,7 @@ fn lock_sdist_registry() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -190,6 +191,7 @@ fn lock_sdist_registry() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "source-distribution", specifier = "==0.0.1" }] [[package]] @@ -197,7 +199,7 @@ fn lock_sdist_registry() -> Result<()> { version = "0.0.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/10/1f/57aa4cce1b1abf6b433106676e15f9fa2c92ed2bd4cf77c3b50a9e9ac773/source_distribution-0.0.1.tar.gz", hash = "sha256:1f83ed7498336c7f2ab9b002cf22583d91115ebc624053dc4eb3a45694490106", size = 2157 } - "### + "# ); }); @@ -271,7 +273,7 @@ fn lock_sdist_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -287,13 +289,14 @@ fn lock_sdist_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -360,7 +363,7 @@ fn lock_sdist_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -376,13 +379,14 @@ fn lock_sdist_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?rev=0dacfd662c64cb4ceb16e6cf65a157a8b715b979" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?rev=0dacfd662c64cb4ceb16e6cf65a157a8b715b979#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -416,7 +420,7 @@ fn lock_sdist_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -432,13 +436,14 @@ fn lock_sdist_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?rev=b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?rev=b270df1a2fb5d012294e9aaf05e7e0bab1e6a389#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -472,7 +477,7 @@ fn lock_sdist_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -488,13 +493,14 @@ fn lock_sdist_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.2" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.2#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -533,7 +539,7 @@ fn lock_sdist_git_subdirectory() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -554,8 +560,9 @@ fn lock_sdist_git_subdirectory() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "example-pkg-a", git = "https://github.com/pypa/sample-namespace-packages.git?subdirectory=pkg_resources%2Fpkg_a&rev=df7530eeb8fa0cb7dbb8ecb28363e8e36bfa2f45" }] - "### + "# ); }); @@ -626,7 +633,7 @@ fn lock_sdist_git_pep508() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -642,13 +649,14 @@ fn lock_sdist_git_pep508() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage.git?rev=0.0.1" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage.git?rev=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -689,7 +697,7 @@ fn lock_sdist_git_pep508() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -705,13 +713,14 @@ fn lock_sdist_git_pep508() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage.git?rev=0dacfd662c64cb4ceb16e6cf65a157a8b715b979" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage.git?rev=0dacfd662c64cb4ceb16e6cf65a157a8b715b979#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -742,7 +751,7 @@ fn lock_sdist_git_pep508() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -758,13 +767,14 @@ fn lock_sdist_git_pep508() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage.git?rev=b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage.git?rev=b270df1a2fb5d012294e9aaf05e7e0bab1e6a389#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -795,7 +805,7 @@ fn lock_sdist_git_pep508() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -811,13 +821,14 @@ fn lock_sdist_git_pep508() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage.git?rev=0.0.2" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage.git?rev=0.0.2#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -859,7 +870,7 @@ fn lock_sdist_git_short_rev() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -875,13 +886,14 @@ fn lock_sdist_git_short_rev() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?rev=0dacfd6" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?rev=0dacfd6#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -962,7 +974,7 @@ fn lock_wheel_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -982,6 +994,7 @@ fn lock_wheel_url() -> Result<()> { ] [package.metadata] + provides-extras = ["doc", "test", "trio"] requires-dist = [ { name = "anyio", extras = ["trio"], marker = "extra == 'test'" }, { name = "coverage", extras = ["toml"], marker = "extra == 'test'", specifier = ">=7" }, @@ -1021,6 +1034,7 @@ fn lock_wheel_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", url = "https://files.pythonhosted.org/packages/14/fd/2f20c40b45e4fb4324834aea24bd4afdf1143390242c0b33774da0e2e34f/anyio-4.3.0-py3-none-any.whl" }] [[package]] @@ -1031,7 +1045,7 @@ fn lock_wheel_url() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1114,7 +1128,7 @@ fn lock_sdist_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1132,6 +1146,7 @@ fn lock_sdist_url() -> Result<()> { sdist = { hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6" } [package.metadata] + provides-extras = ["doc", "test", "trio"] requires-dist = [ { name = "anyio", extras = ["trio"], marker = "extra == 'test'" }, { name = "coverage", extras = ["toml"], marker = "extra == 'test'", specifier = ">=7" }, @@ -1171,6 +1186,7 @@ fn lock_sdist_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", url = "https://files.pythonhosted.org/packages/db/4d/3970183622f0330d3c23d9b8a5f52e365e50381fd484d08e3285104333d3/anyio-4.3.0.tar.gz" }] [[package]] @@ -1181,7 +1197,7 @@ fn lock_sdist_url() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1256,7 +1272,7 @@ fn lock_sdist_url_subdirectory() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1294,6 +1310,7 @@ fn lock_sdist_url_subdirectory() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "root", url = "https://github.com/user-attachments/files/18216295/subdirectory-test.tar.gz", subdirectory = "packages/root" }] [[package]] @@ -1306,6 +1323,7 @@ fn lock_sdist_url_subdirectory() -> Result<()> { sdist = { hash = "sha256:24b55efee28d08ad3cdc58903e359e820601baa6a4a4b3424311541ebcfb09d3" } [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -1316,7 +1334,7 @@ fn lock_sdist_url_subdirectory() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1389,7 +1407,7 @@ fn lock_sdist_url_subdirectory_pep508() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1427,6 +1445,7 @@ fn lock_sdist_url_subdirectory_pep508() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "root", url = "https://github.com/user-attachments/files/18216295/subdirectory-test.tar.gz", subdirectory = "packages/root" }] [[package]] @@ -1439,6 +1458,7 @@ fn lock_sdist_url_subdirectory_pep508() -> Result<()> { sdist = { hash = "sha256:24b55efee28d08ad3cdc58903e359e820601baa6a4a4b3424311541ebcfb09d3" } [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -1449,7 +1469,7 @@ fn lock_sdist_url_subdirectory_pep508() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1525,7 +1545,7 @@ fn lock_project_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1577,6 +1597,7 @@ fn lock_project_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["test"] requires-dist = [ { name = "anyio", specifier = "==3.7.0" }, { name = "iniconfig", marker = "extra == 'test'" }, @@ -1590,7 +1611,7 @@ fn lock_project_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -1894,7 +1915,7 @@ fn lock_dependency_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2000,6 +2021,7 @@ fn lock_dependency_extra() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "flask", extras = ["dotenv"] }] [[package]] @@ -2022,7 +2044,7 @@ fn lock_dependency_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/c3/fc/254c3e9b5feb89ff5b9076a23218dafbc99c96ac5941e900b71206e6313b/werkzeug-3.0.1-py3-none-any.whl", hash = "sha256:90a285dc0e42ad56b34e696398b8122ee4c681833fb35b8334a095d82c56da10", size = 226669 }, ] - "### + "# ); }); @@ -2091,7 +2113,7 @@ fn lock_conditional_dependency_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.7" resolution-markers = [ @@ -2228,6 +2250,7 @@ fn lock_conditional_dependency_extra() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "requests" }, { name = "requests", extras = ["socks"], marker = "python_full_version < '3.10'" }, @@ -2287,7 +2310,7 @@ fn lock_conditional_dependency_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", size = 121067 }, ] - "### + "# ); }); @@ -2388,7 +2411,7 @@ fn lock_dependency_non_existent_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2489,6 +2512,7 @@ fn lock_dependency_non_existent_extra() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "flask", extras = ["foo"] }] [[package]] @@ -2502,7 +2526,7 @@ fn lock_dependency_non_existent_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/c3/fc/254c3e9b5feb89ff5b9076a23218dafbc99c96ac5941e900b71206e6313b/werkzeug-3.0.1-py3-none-any.whl", hash = "sha256:90a285dc0e42ad56b34e696398b8122ee4c681833fb35b8334a095d82c56da10", size = 226669 }, ] - "### + "# ); }); @@ -2568,7 +2592,7 @@ fn lock_upgrade_log() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2600,11 +2624,12 @@ fn lock_upgrade_log() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig" }, { name = "markupsafe", specifier = "<2" }, ] - "### + "# ); }); @@ -2649,7 +2674,7 @@ fn lock_upgrade_log() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2684,6 +2709,7 @@ fn lock_upgrade_log() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "markupsafe" }, { name = "typing-extensions" }, @@ -2697,7 +2723,7 @@ fn lock_upgrade_log() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -2736,7 +2762,7 @@ fn lock_upgrade_log_multi_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -2775,11 +2801,12 @@ fn lock_upgrade_log_multi_version() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "markupsafe", marker = "sys_platform != 'win32'", specifier = "<2" }, { name = "markupsafe", marker = "sys_platform == 'win32'", specifier = "==2.0.0" }, ] - "### + "# ); }); @@ -2821,7 +2848,7 @@ fn lock_upgrade_log_multi_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2855,8 +2882,9 @@ fn lock_upgrade_log_multi_version() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "markupsafe" }] - "### + "# ); }); @@ -2894,7 +2922,7 @@ fn lock_preference() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2919,8 +2947,9 @@ fn lock_preference() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "<2" }] - "### + "# ); }); @@ -2953,7 +2982,7 @@ fn lock_preference() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2978,8 +3007,9 @@ fn lock_preference() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -2999,7 +3029,7 @@ fn lock_preference() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3024,8 +3054,9 @@ fn lock_preference() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -3067,7 +3098,7 @@ fn lock_git_plus_prefix() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3083,13 +3114,14 @@ fn lock_git_plus_prefix() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -3152,7 +3184,7 @@ fn lock_partial_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10" resolution-markers = [ @@ -3221,6 +3253,7 @@ fn lock_partial_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "python_full_version < '3.12'", git = "https://github.com/agronholm/anyio?rev=4.6.2" }, { name = "anyio", marker = "python_full_version >= '3.12'" }, @@ -3243,7 +3276,7 @@ fn lock_partial_git() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -3441,7 +3474,7 @@ fn lock_git_sha() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3457,13 +3490,14 @@ fn lock_git_sha() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?rev=main" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?rev=main#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -3540,7 +3574,7 @@ fn lock_requires_python() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.7" resolution-markers = [ @@ -3670,6 +3704,7 @@ fn lock_requires_python() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "pygls" }] [[package]] @@ -3797,7 +3832,7 @@ fn lock_requires_python() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/5b/fa/c9e82bbe1af6266adf08afb563905eb87cab83fde00a0a08963510621047/zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556", size = 6758 }, ] - "### + "# ); }); @@ -3830,7 +3865,7 @@ fn lock_requires_python() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.7.9" resolution-markers = [ @@ -3951,6 +3986,7 @@ fn lock_requires_python() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "pygls" }] [[package]] @@ -4016,7 +4052,7 @@ fn lock_requires_python() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/5b/fa/c9e82bbe1af6266adf08afb563905eb87cab83fde00a0a08963510621047/zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556", size = 6758 }, ] - "### + "# ); }); @@ -4049,7 +4085,7 @@ fn lock_requires_python() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -4099,6 +4135,7 @@ fn lock_requires_python() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "pygls" }] [[package]] @@ -4113,7 +4150,7 @@ fn lock_requires_python() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/4e/1e/643070d8f5c851958662e7e5df16d9c3a068a598a7ee7bb2eb8d95b4e5d7/pygls-1.3.0-py3-none-any.whl", hash = "sha256:d4a01414b6ed4e34e7e8fd29b77d3e88c29615df7d0bbff49bf019e15ec04b8f", size = 56031 }, ] - "### + "# ); }); @@ -4182,7 +4219,7 @@ fn lock_requires_python_upper() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" @@ -4253,8 +4290,9 @@ fn lock_requires_python_upper() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "pydantic" }] - "### + "# ); }); @@ -4306,7 +4344,7 @@ fn lock_requires_python_exact() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.13" @@ -4331,8 +4369,9 @@ fn lock_requires_python_exact() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -4383,7 +4422,7 @@ fn lock_requires_python_fork() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.9" @@ -4424,8 +4463,9 @@ fn lock_requires_python_fork() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv", marker = "python_full_version >= '3.8'" }] - "### + "# ); }); @@ -4477,7 +4517,7 @@ fn lock_requires_python_wheels() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.12.*" @@ -4517,8 +4557,9 @@ fn lock_requires_python_wheels() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "frozenlist" }] - "### + "# ); }); @@ -4560,7 +4601,7 @@ fn lock_requires_python_wheels() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" @@ -4600,8 +4641,9 @@ fn lock_requires_python_wheels() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "frozenlist" }] - "### + "# ); }); @@ -4653,7 +4695,7 @@ fn lock_requires_python_star() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" @@ -4713,6 +4755,7 @@ fn lock_requires_python_star() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "linehaul" }] [[package]] @@ -4723,7 +4766,7 @@ fn lock_requires_python_star() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742", size = 103245 }, ] - "### + "# ); }); @@ -4774,7 +4817,7 @@ fn lock_requires_python_not_equal() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">3.10, !=3.10.9, !=3.10.10, !=3.11.*, <3.13" @@ -4799,8 +4842,9 @@ fn lock_requires_python_not_equal() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -4852,7 +4896,7 @@ fn lock_requires_python_pre() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -4912,6 +4956,7 @@ fn lock_requires_python_pre() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "linehaul" }] [[package]] @@ -4922,7 +4967,7 @@ fn lock_requires_python_pre() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742", size = 103245 }, ] - "### + "# ); }); @@ -4973,7 +5018,7 @@ fn lock_requires_python_unbounded() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "<=3.12" resolution-markers = [ @@ -5018,8 +5063,9 @@ fn lock_requires_python_unbounded() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -5113,7 +5159,7 @@ fn lock_requires_python_maximum_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -5218,8 +5264,9 @@ fn lock_requires_python_maximum_version() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "numpy" }] - "### + "# ); }); @@ -5271,7 +5318,7 @@ fn lock_requires_python_fewest_versions() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -5323,8 +5370,9 @@ fn lock_requires_python_fewest_versions() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "numpy" }] - "### + "# ); }); @@ -5387,7 +5435,7 @@ fn lock_python_version_marker_complement() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -5429,6 +5477,7 @@ fn lock_python_version_marker_complement() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "attrs", marker = "python_full_version < '3.11'" }, { name = "attrs", marker = "python_full_version >= '3.11'" }, @@ -5446,7 +5495,7 @@ fn lock_python_version_marker_complement() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -5497,7 +5546,7 @@ fn lock_dev() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -5527,6 +5576,7 @@ fn lock_dev() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [package.metadata.requires-dev] @@ -5539,7 +5589,11 @@ fn lock_dev() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d" }, ] - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -5610,7 +5664,7 @@ fn lock_conditional_unconditional() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -5635,11 +5689,12 @@ fn lock_conditional_unconditional() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig" }, { name = "iniconfig", marker = "python_full_version < '3.12'" }, ] - "### + "# ); }); @@ -5687,7 +5742,7 @@ fn lock_multiple_markers() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -5712,11 +5767,12 @@ fn lock_multiple_markers() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", marker = "python_full_version < '3.12'" }, { name = "iniconfig", marker = "implementation_name == 'cpython'" }, ] - "### + "# ); }); @@ -5802,7 +5858,7 @@ fn lock_relative_and_absolute_paths() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11, <3.13" @@ -5819,6 +5875,7 @@ fn lock_relative_and_absolute_paths() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "b", directory = "b" }, { name = "c", directory = "c" }, @@ -5829,11 +5886,19 @@ fn lock_relative_and_absolute_paths() -> Result<()> { version = "0.1.0" source = { directory = "b" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "c" version = "0.1.0" source = { directory = "c" } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -5881,7 +5946,7 @@ fn lock_cycles() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -5948,6 +6013,7 @@ fn lock_cycles() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "fixtures", specifier = "==3.0.0" }, { name = "testtools", specifier = "==2.3.0" }, @@ -6014,7 +6080,7 @@ fn lock_cycles() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/72/20/7f0f433060a962200b7272b8c12ba90ef5b903e218174301d0abfd523813/unittest2-1.1.0-py2.py3-none-any.whl", hash = "sha256:13f77d0875db6d9b435e1d4f41e74ad4cc2eb6e1d5c824996092b3430f088bb8", size = 96379 }, ] - "### + "# ); }); @@ -6083,7 +6149,7 @@ fn lock_new_extras() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6141,6 +6207,7 @@ fn lock_new_extras() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "requests", specifier = "==2.31.0" }] [[package]] @@ -6166,7 +6233,7 @@ fn lock_new_extras() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", size = 121067 }, ] - "### + "# ); }); @@ -6207,7 +6274,7 @@ fn lock_new_extras() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6265,6 +6332,7 @@ fn lock_new_extras() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "requests", extras = ["socks"], specifier = "==2.31.0" }] [[package]] @@ -6304,7 +6372,7 @@ fn lock_new_extras() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", size = 121067 }, ] - "### + "# ); }); @@ -6453,7 +6521,7 @@ fn lock_resolution_mode() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6491,6 +6559,7 @@ fn lock_resolution_mode() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = ">=3" }] [[package]] @@ -6501,7 +6570,7 @@ fn lock_resolution_mode() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -6533,7 +6602,7 @@ fn lock_resolution_mode() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6572,6 +6641,7 @@ fn lock_resolution_mode() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = ">=3" }] [[package]] @@ -6582,7 +6652,7 @@ fn lock_resolution_mode() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -6694,7 +6764,7 @@ fn lock_same_version_multiple_urls() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -6749,6 +6819,7 @@ fn lock_same_version_multiple_urls() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] [[package]] @@ -6763,6 +6834,7 @@ fn lock_same_version_multiple_urls() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.0.0" }] [[package]] @@ -6784,6 +6856,7 @@ fn lock_same_version_multiple_urls() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dependency", marker = "sys_platform != 'darwin'", directory = "v2" }, { name = "dependency", marker = "sys_platform == 'darwin'", directory = "v1" }, @@ -6797,7 +6870,7 @@ fn lock_same_version_multiple_urls() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -6915,7 +6988,7 @@ fn lock_exclusion() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6931,13 +7004,18 @@ fn lock_exclusion() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "project", virtual = "../" }] [[package]] name = "project" version = "0.1.0" source = { virtual = "../" } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -7219,7 +7297,7 @@ fn lock_peer_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7237,6 +7315,10 @@ fn lock_peer_member() -> Result<()> { version = "0.1.0" source = { editable = "../child" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "project" version = "0.1.0" @@ -7246,8 +7328,9 @@ fn lock_peer_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child", editable = "../child" }] - "### + "# ); }); @@ -7341,7 +7424,7 @@ fn lock_index_workspace_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7363,6 +7446,7 @@ fn lock_index_workspace_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">=2", index = "https://pypi-proxy.fly.dev/basic-auth/simple" }] [[package]] @@ -7383,8 +7467,9 @@ fn lock_index_workspace_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child", editable = "child" }] - "### + "# ); }); @@ -7489,7 +7574,7 @@ fn lock_dev_transitive() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7513,6 +7598,7 @@ fn lock_dev_transitive() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "baz", editable = "baz" }, { name = "foo", virtual = "../foo" }, @@ -7530,6 +7616,8 @@ fn lock_dev_transitive() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] dev = [{ name = "typing-extensions", specifier = ">4" }] @@ -7540,6 +7628,8 @@ fn lock_dev_transitive() -> Result<()> { source = { virtual = "../foo" } [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] dev = [{ name = "anyio" }] @@ -7561,7 +7651,7 @@ fn lock_dev_transitive() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -7621,7 +7711,7 @@ fn lock_redact_https() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7637,6 +7727,7 @@ fn lock_redact_https() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -7647,7 +7738,7 @@ fn lock_redact_https() -> Result<()> { wheels = [ { url = "https://pypi-proxy.fly.dev/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -7808,7 +7899,7 @@ fn lock_redact_git_pep508() -> Result<()> { filters => filters.clone(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7824,13 +7915,14 @@ fn lock_redact_git_pep508() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-private-pypackage", git = "https://github.com/astral-test/uv-private-pypackage" }] [[package]] name = "uv-private-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-private-pypackage#d780faf0ac91257d4d5a4f0c5a0e4509608c0071" } - "### + "# ); }); @@ -7900,7 +7992,7 @@ fn lock_redact_git_sources() -> Result<()> { filters => filters.clone(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -7916,13 +8008,14 @@ fn lock_redact_git_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-private-pypackage", git = "https://github.com/astral-test/uv-private-pypackage" }] [[package]] name = "uv-private-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-private-pypackage#d780faf0ac91257d4d5a4f0c5a0e4509608c0071" } - "### + "# ); }); @@ -7990,7 +8083,7 @@ fn lock_redact_git_pep508_non_project() -> Result<()> { filters => filters.clone(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8006,7 +8099,7 @@ fn lock_redact_git_pep508_non_project() -> Result<()> { name = "uv-private-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-private-pypackage#d780faf0ac91257d4d5a4f0c5a0e4509608c0071" } - "### + "# ); }); @@ -8079,7 +8172,7 @@ fn lock_redact_index_sources() -> Result<()> { filters => filters.clone(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8095,6 +8188,7 @@ fn lock_redact_index_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">=2", index = "https://pypi-proxy.fly.dev/basic-auth/simple" }] [[package]] @@ -8105,7 +8199,7 @@ fn lock_redact_index_sources() -> Result<()> { wheels = [ { url = "https://pypi-proxy.fly.dev/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -8171,7 +8265,7 @@ fn lock_redact_url_sources() -> Result<()> { filters => filters.clone(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8187,6 +8281,7 @@ fn lock_redact_url_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", url = "https://public:heron@pypi-proxy.fly.dev/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }] [[package]] @@ -8196,7 +8291,11 @@ fn lock_redact_url_sources() -> Result<()> { wheels = [ { url = "https://public:heron@pypi-proxy.fly.dev/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -8278,7 +8377,7 @@ fn lock_env_credentials() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8294,6 +8393,7 @@ fn lock_env_credentials() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -8304,7 +8404,7 @@ fn lock_env_credentials() -> Result<()> { wheels = [ { url = "https://pypi-proxy.fly.dev/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -8438,7 +8538,7 @@ fn lock_relative_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8454,6 +8554,7 @@ fn lock_relative_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -8464,7 +8565,7 @@ fn lock_relative_index() -> Result<()> { wheels = [ { url = "https://pypi-proxy.fly.dev/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -8549,7 +8650,7 @@ fn lock_no_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8565,6 +8666,7 @@ fn lock_no_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -8590,6 +8692,7 @@ fn lock_no_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", directory = "anyio" }] [package.metadata.requires-dev] @@ -8603,7 +8706,7 @@ fn lock_no_sources() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -8637,7 +8740,7 @@ fn lock_no_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8680,6 +8783,7 @@ fn lock_no_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [package.metadata.requires-dev] @@ -8702,7 +8806,7 @@ fn lock_no_sources() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -8805,7 +8909,7 @@ fn lock_migrate() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8843,6 +8947,7 @@ fn lock_migrate() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -8853,7 +8958,7 @@ fn lock_migrate() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -8903,7 +9008,7 @@ fn lock_upgrade_package() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -8942,6 +9047,7 @@ fn lock_upgrade_package() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", specifier = "<=2" }, { name = "idna", specifier = "<=3" }, @@ -8955,7 +9061,7 @@ fn lock_upgrade_package() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -8998,7 +9104,7 @@ fn lock_upgrade_package() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9037,6 +9143,7 @@ fn lock_upgrade_package() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio" }, { name = "idna" }, @@ -9050,7 +9157,7 @@ fn lock_upgrade_package() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -9081,7 +9188,7 @@ fn lock_upgrade_package() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9120,6 +9227,7 @@ fn lock_upgrade_package() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio" }, { name = "idna" }, @@ -9133,7 +9241,7 @@ fn lock_upgrade_package() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -9270,7 +9378,7 @@ fn lock_find_links_local_wheel() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9286,6 +9394,7 @@ fn lock_find_links_local_wheel() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "tqdm", specifier = "==1000.0.0" }] [[package]] @@ -9295,7 +9404,7 @@ fn lock_find_links_local_wheel() -> Result<()> { wheels = [ { path = "tqdm-1000.0.0-py3-none-any.whl" }, ] - "### + "# ); }); @@ -9383,7 +9492,7 @@ fn lock_find_links_local_sdist() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9399,6 +9508,7 @@ fn lock_find_links_local_sdist() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "tqdm", specifier = "==999.0.0" }] [[package]] @@ -9406,7 +9516,7 @@ fn lock_find_links_local_sdist() -> Result<()> { version = "999.0.0" source = { registry = "../links" } sdist = { path = "tqdm-999.0.0.tar.gz" } - "### + "# ); }); @@ -9473,7 +9583,7 @@ fn lock_find_links_http_wheel() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9498,8 +9608,9 @@ fn lock_find_links_http_wheel() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "packaging", specifier = "==23.2" }] - "### + "# ); }); @@ -9563,7 +9674,7 @@ fn lock_find_links_http_sdist() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9588,8 +9699,9 @@ fn lock_find_links_http_sdist() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "packaging", specifier = "==23.2" }] - "### + "# ); }); @@ -9693,7 +9805,7 @@ fn lock_local_index() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9706,6 +9818,7 @@ fn lock_local_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "tqdm" }] [[package]] @@ -9715,7 +9828,7 @@ fn lock_local_index() -> Result<()> { wheels = [ { path = "tqdm/tqdm-1000.0.0-py3-none-any.whl" }, ] - "### + "# ); }); @@ -9779,7 +9892,7 @@ fn lock_sources_url() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9817,6 +9930,7 @@ fn lock_sources_url() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "workspace", url = "https://github.com/user-attachments/files/16592193/workspace.zip" }] [[package]] @@ -9838,8 +9952,9 @@ fn lock_sources_url() -> Result<()> { sdist = { hash = "sha256:ba690a925dc3d1b53e0675201c9ec26ab59eeec72ab271562f53297bf1817263" } [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] - "### + "# ); }); @@ -9914,7 +10029,7 @@ fn lock_sources_archive() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -9952,6 +10067,7 @@ fn lock_sources_archive() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "workspace", path = "workspace.zip" }] [[package]] @@ -9973,8 +10089,9 @@ fn lock_sources_archive() -> Result<()> { sdist = { hash = "sha256:ba690a925dc3d1b53e0675201c9ec26ab59eeec72ab271562f53297bf1817263" } [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] - "### + "# ); }); @@ -10064,7 +10181,7 @@ fn lock_sources_source_tree() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10076,6 +10193,10 @@ fn lock_sources_source_tree() -> Result<()> { version = "0.1.0" source = { editable = "workspace/anyio" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "project" version = "0.1.0" @@ -10085,6 +10206,7 @@ fn lock_sources_source_tree() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "workspace", directory = "workspace" }] [[package]] @@ -10096,8 +10218,9 @@ fn lock_sources_source_tree() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", editable = "workspace/anyio" }] - "### + "# ); }); @@ -10200,7 +10323,7 @@ fn lock_editable() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10222,6 +10345,7 @@ fn lock_editable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "library", directory = "library" }] [[package]] @@ -10229,6 +10353,10 @@ fn lock_editable() -> Result<()> { version = "0.1.0" source = { directory = "library" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "workspace" version = "0.1.0" @@ -10238,8 +10366,9 @@ fn lock_editable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "library", directory = "library" }] - "### + "# ); }); @@ -10283,7 +10412,7 @@ fn lock_editable() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10305,6 +10434,7 @@ fn lock_editable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "library", editable = "library" }] [[package]] @@ -10312,6 +10442,10 @@ fn lock_editable() -> Result<()> { version = "0.1.0" source = { editable = "library" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "workspace" version = "0.1.0" @@ -10321,8 +10455,9 @@ fn lock_editable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "library", directory = "library" }] - "### + "# ); }); @@ -10450,7 +10585,7 @@ fn lock_mixed_extras() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10483,6 +10618,7 @@ fn lock_mixed_extras() -> Result<()> { ] [package.metadata] + provides-extras = ["async"] requires-dist = [{ name = "iniconfig", marker = "extra == 'async'", specifier = ">=2" }] [[package]] @@ -10491,6 +10627,7 @@ fn lock_mixed_extras() -> Result<()> { source = { editable = "../workspace2/packages/leaf2" } [package.metadata] + provides-extras = ["async"] requires-dist = [{ name = "packaging", marker = "extra == 'async'", specifier = ">=24" }] [[package]] @@ -10517,6 +10654,7 @@ fn lock_mixed_extras() -> Result<()> { ] [package.metadata] + provides-extras = ["async"] requires-dist = [ { name = "leaf1", editable = "packages/leaf1" }, { name = "typing-extensions", marker = "extra == 'async'", specifier = ">=4" }, @@ -10532,8 +10670,9 @@ fn lock_mixed_extras() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "leaf2", editable = "../workspace2/packages/leaf2" }] - "### + "# ); }); @@ -10643,7 +10782,7 @@ fn lock_transitive_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10676,6 +10815,7 @@ fn lock_transitive_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["async"] requires-dist = [{ name = "iniconfig", marker = "extra == 'async'", specifier = ">=2" }] [[package]] @@ -10702,12 +10842,13 @@ fn lock_transitive_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["async"] requires-dist = [ { name = "leaf", editable = "packages/leaf" }, { name = "leaf", extras = ["async"], marker = "extra == 'async'", editable = "packages/leaf" }, { name = "typing-extensions", marker = "extra == 'async'", specifier = ">=4" }, ] - "### + "# ); }); @@ -10791,7 +10932,7 @@ fn lock_mismatched_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10807,13 +10948,14 @@ fn lock_mismatched_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -10833,7 +10975,7 @@ fn lock_mismatched_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10849,13 +10991,14 @@ fn lock_mismatched_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?rev=0.0.2" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?rev=0.0.2#b270df1a2fb5d012294e9aaf05e7e0bab1e6a389" } - "### + "# ); }); @@ -10900,7 +11043,7 @@ fn lock_mismatched_versions() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -10916,13 +11059,14 @@ fn lock_mismatched_versions() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv-public-pypackage", git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1" }] [[package]] name = "uv-public-pypackage" version = "0.1.0" source = { git = "https://github.com/astral-test/uv-public-pypackage?tag=0.0.1#0dacfd662c64cb4ceb16e6cf65a157a8b715b979" } - "### + "# ); }); @@ -11015,7 +11159,7 @@ fn lock_change_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11040,8 +11184,9 @@ fn lock_change_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -11061,7 +11206,7 @@ fn lock_change_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11086,8 +11231,9 @@ fn lock_change_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -11158,7 +11304,7 @@ fn lock_remove_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11202,6 +11348,7 @@ fn lock_remove_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = ">3" }] [[package]] @@ -11213,6 +11360,7 @@ fn lock_remove_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "leaf", virtual = "leaf" }] [[package]] @@ -11223,7 +11371,7 @@ fn lock_remove_member() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -11279,7 +11427,7 @@ fn lock_remove_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11290,7 +11438,11 @@ fn lock_remove_member() -> Result<()> { name = "project" version = "0.1.0" source = { virtual = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -11336,7 +11488,7 @@ fn lock_add_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11347,7 +11499,11 @@ fn lock_add_member() -> Result<()> { name = "project" version = "0.1.0" source = { virtual = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -11446,7 +11602,7 @@ fn lock_add_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11490,6 +11646,7 @@ fn lock_add_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = ">3" }] [[package]] @@ -11497,6 +11654,10 @@ fn lock_add_member() -> Result<()> { version = "0.1.0" source = { virtual = "." } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "sniffio" version = "1.3.1" @@ -11505,7 +11666,7 @@ fn lock_add_member() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -11549,7 +11710,7 @@ fn lock_redundant_add_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11587,6 +11748,7 @@ fn lock_redundant_add_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -11597,7 +11759,7 @@ fn lock_redundant_add_member() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -11653,7 +11815,7 @@ fn lock_redundant_add_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11692,6 +11854,7 @@ fn lock_redundant_add_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio" }, { name = "idna" }, @@ -11705,7 +11868,7 @@ fn lock_redundant_add_member() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -11744,7 +11907,7 @@ fn lock_new_constraints() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11782,6 +11945,7 @@ fn lock_new_constraints() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -11792,7 +11956,7 @@ fn lock_new_constraints() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -11850,7 +12014,7 @@ fn lock_new_constraints() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11891,6 +12055,7 @@ fn lock_new_constraints() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [[package]] @@ -11901,7 +12066,7 @@ fn lock_new_constraints() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -11954,7 +12119,7 @@ fn lock_remove_member_non_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -11997,6 +12162,7 @@ fn lock_remove_member_non_project() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = ">3" }] [[package]] @@ -12007,7 +12173,7 @@ fn lock_remove_member_non_project() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -12108,7 +12274,7 @@ fn lock_rename_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -12133,8 +12299,9 @@ fn lock_rename_project() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -12188,7 +12355,7 @@ fn lock_rename_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -12213,8 +12380,9 @@ fn lock_rename_project() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -12303,7 +12471,7 @@ fn lock_missing_metadata() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -12341,6 +12509,7 @@ fn lock_missing_metadata() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] [[package]] @@ -12351,7 +12520,7 @@ fn lock_missing_metadata() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -12453,7 +12622,7 @@ fn lock_dev_dependencies_alias() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -12483,6 +12652,7 @@ fn lock_dev_dependencies_alias() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "typing-extensions" }] [package.metadata.requires-dev] @@ -12496,7 +12666,7 @@ fn lock_dev_dependencies_alias() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -12535,7 +12705,7 @@ fn lock_reorder() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -12583,6 +12753,7 @@ fn lock_reorder() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio" }, { name = "iniconfig" }, @@ -12596,7 +12767,7 @@ fn lock_reorder() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -12684,7 +12855,7 @@ fn lock_narrowed_python_version_upper() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.7, <4" resolution-markers = [ @@ -12706,6 +12877,7 @@ fn lock_narrowed_python_version_upper() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -12726,8 +12898,9 @@ fn lock_narrowed_python_version_upper() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "dependency", marker = "python_full_version >= '3.10'", virtual = "dependency" }] - "### + "# ); }); @@ -12794,7 +12967,7 @@ fn lock_narrowed_python_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.7" resolution-markers = [ @@ -12815,6 +12988,7 @@ fn lock_narrowed_python_version() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -12835,11 +13009,12 @@ fn lock_narrowed_python_version() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dependency", marker = "python_full_version < '3.9'", directory = "dependency" }, { name = "dependency", marker = "python_full_version >= '3.11'", directory = "dependency" }, ] - "### + "# ); }); @@ -12893,7 +13068,7 @@ fn lock_exclude_unnecessary_python_forks() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -12926,6 +13101,7 @@ fn lock_exclude_unnecessary_python_forks() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "python_full_version >= '3.11'" }, { name = "anyio", marker = "sys_platform == 'darwin'" }, @@ -12948,7 +13124,7 @@ fn lock_exclude_unnecessary_python_forks() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -13000,7 +13176,7 @@ fn lock_constrained_environment() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -13086,8 +13262,9 @@ fn lock_constrained_environment() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "black" }] - "### + "# ); }); @@ -13177,7 +13354,7 @@ fn lock_constrained_environment() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -13270,8 +13447,9 @@ fn lock_constrained_environment() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "black" }] - "### + "# ); }); @@ -13322,7 +13500,7 @@ fn lock_constrained_environment_legacy() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -13368,6 +13546,7 @@ fn lock_constrained_environment_legacy() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "black" }] [[package]] @@ -13414,7 +13593,7 @@ fn lock_constrained_environment_legacy() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", size = 17717 }, ] - "### + "# ); }); @@ -13510,7 +13689,7 @@ fn lock_non_project_fork() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10" resolution-markers = [ @@ -13598,7 +13777,7 @@ fn lock_non_project_fork() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -13702,7 +13881,7 @@ fn lock_non_project_conditional() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -13744,7 +13923,7 @@ fn lock_non_project_conditional() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -13810,7 +13989,7 @@ fn lock_non_project_group() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10" @@ -13885,7 +14064,7 @@ fn lock_non_project_group() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -13950,7 +14129,7 @@ fn lock_non_project_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -13969,7 +14148,11 @@ fn lock_non_project_sources() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/d7/77/ff688d1504cdc4db2a938e2b7b9adee5dd52e34efbd2431051efc9984de9/idna-3.2-py3-none-any.whl", hash = "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a" }, ] - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -14032,7 +14215,7 @@ fn lock_dropped_dev_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14068,10 +14251,12 @@ fn lock_dropped_dev_extra() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] dev = [{ name = "coverage", extras = ["toml"] }] - "### + "# ); }); @@ -14145,7 +14330,7 @@ fn lock_empty_dev_dependencies() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14170,11 +14355,12 @@ fn lock_empty_dev_dependencies() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [package.metadata.requires-dev] dev = [] - "### + "# ); }); @@ -14248,7 +14434,7 @@ fn lock_empty_dependency_group() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14273,11 +14459,12 @@ fn lock_empty_dependency_group() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [package.metadata.requires-dev] empty = [] - "### + "# ); }); @@ -14351,7 +14538,7 @@ fn lock_trailing_slash() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14389,6 +14576,7 @@ fn lock_trailing_slash() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] [[package]] @@ -14399,7 +14587,7 @@ fn lock_trailing_slash() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -14526,7 +14714,7 @@ fn lock_explicit_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14574,6 +14762,7 @@ fn lock_explicit_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", specifier = "==3.7.0" }, { name = "iniconfig", specifier = "==2.0.0", index = "https://test.pypi.org/simple" }, @@ -14587,7 +14776,7 @@ fn lock_explicit_index() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -14633,7 +14822,7 @@ fn lock_explicit_default_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14658,8 +14847,9 @@ fn lock_explicit_default_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0", index = "https://test.pypi.org/simple" }] - "### + "# ); }); @@ -14719,7 +14909,7 @@ fn lock_explicit_default_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14744,8 +14934,9 @@ fn lock_explicit_default_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = "==2.0.0", index = "https://test.pypi.org/simple" }] - "### + "# ); }); @@ -14795,7 +14986,7 @@ fn lock_named_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14811,6 +15002,7 @@ fn lock_named_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "typing-extensions" }] [[package]] @@ -14821,7 +15013,7 @@ fn lock_named_index() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -14863,7 +15055,7 @@ fn lock_default_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14888,8 +15080,9 @@ fn lock_default_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -14925,7 +15118,7 @@ fn lock_default_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -14950,8 +15143,9 @@ fn lock_default_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -15004,7 +15198,7 @@ fn lock_named_index_cli() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15039,8 +15233,9 @@ fn lock_named_index_cli() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "jinja2", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu121" }] - "### + "# ); }); @@ -15091,7 +15286,7 @@ fn lock_repeat_named_index() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15116,8 +15311,9 @@ fn lock_repeat_named_index() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -15164,7 +15360,7 @@ fn lock_repeat_named_index_cli() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15208,8 +15404,9 @@ fn lock_repeat_named_index_cli() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "jinja2", specifier = "==3.1.2" }] - "### + "# ); }); @@ -15230,7 +15427,7 @@ fn lock_repeat_named_index_cli() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15279,8 +15476,9 @@ fn lock_repeat_named_index_cli() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "jinja2", specifier = "==3.1.2" }] - "### + "# ); }); @@ -15328,7 +15526,7 @@ fn lock_explicit_virtual_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15448,6 +15646,7 @@ fn lock_explicit_virtual_project() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "black" }] [package.metadata.requires-dev] @@ -15461,7 +15660,7 @@ fn lock_explicit_virtual_project() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -15545,7 +15744,7 @@ fn lock_implicit_virtual_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15665,6 +15864,7 @@ fn lock_implicit_virtual_project() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "black" }] [package.metadata.requires-dev] @@ -15678,7 +15878,7 @@ fn lock_implicit_virtual_project() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -15772,7 +15972,7 @@ fn lock_implicit_virtual_path() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -15801,6 +16001,7 @@ fn lock_implicit_virtual_path() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">1" }] [[package]] @@ -15831,6 +16032,7 @@ fn lock_implicit_virtual_path() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", specifier = ">3" }, { name = "child", virtual = "child" }, @@ -15844,7 +16046,7 @@ fn lock_implicit_virtual_path() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -15954,7 +16156,7 @@ fn lock_split_python_environment() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.7" resolution-markers = [ @@ -15978,6 +16180,7 @@ fn lock_split_python_environment() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "uv", marker = "python_full_version >= '3.8'" }] [[package]] @@ -16003,7 +16206,7 @@ fn lock_split_python_environment() -> Result<()> { { url = "https://files.pythonhosted.org/packages/c0/8b/a83689be89c764c98dd19be9e1a044e64ad9c1d17643c5c08262f640908f/uv-0.1.24-py3-none-win32.whl", hash = "sha256:a273f468f170b12e6cb6362aa90a65dd12a397db02df55ffb47a21c11b577d8c", size = 8143891 }, { url = "https://files.pythonhosted.org/packages/d6/7d/55d81e3ecab3595ba9f7be7b394fec61d1e33c1852452e7997bc8022b6f0/uv-0.1.24-py3-none-win_amd64.whl", hash = "sha256:87cce6b44a86e761f845a85e52ea0de44fcd579b9a63b2d856118b0d1847bca7", size = 9178836 }, ] - "### + "# ); }); @@ -16064,7 +16267,7 @@ fn lock_python_upper_bound() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -16300,6 +16503,7 @@ fn lock_python_upper_bound() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "magika", marker = "python_full_version < '3.13'" }] [[package]] @@ -16370,7 +16574,7 @@ fn lock_python_upper_bound() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/2a/14/e75e52d521442e2fcc9f1df3c5e456aead034203d4797867980de558ab34/tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9", size = 78296 }, ] - "### + "# ); }); @@ -16435,7 +16639,7 @@ fn lock_simplified_environments() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" resolution-markers = [ @@ -16468,8 +16672,9 @@ fn lock_simplified_environments() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -16544,7 +16749,7 @@ fn lock_dependency_metadata() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -16588,8 +16793,9 @@ fn lock_dependency_metadata() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] - "### + "# ); }); @@ -16749,7 +16955,7 @@ fn lock_dependency_metadata_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -16789,8 +16995,9 @@ fn lock_dependency_metadata_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", git = "https://github.com/agronholm/anyio?tag=4.6.2" }] - "### + "# ); }); @@ -16861,7 +17068,7 @@ fn lock_strip_fragment() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -16876,6 +17083,10 @@ fn lock_strip_fragment() -> Result<()> { { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "project" version = "0.1.0" @@ -16885,8 +17096,9 @@ fn lock_strip_fragment() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }] - "### + "# ); }); @@ -17260,7 +17472,7 @@ fn lock_change_requires_python() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -17322,6 +17534,7 @@ fn lock_change_requires_python() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "python_full_version == '3.12.*'", specifier = "<3" }, { name = "anyio", marker = "python_full_version >= '3.13'", specifier = ">3,<4" }, @@ -17335,7 +17548,7 @@ fn lock_change_requires_python() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -17369,7 +17582,7 @@ fn lock_change_requires_python() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10" resolution-markers = [ @@ -17432,6 +17645,7 @@ fn lock_change_requires_python() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "anyio", marker = "python_full_version == '3.12.*'", specifier = "<3" }, { name = "anyio", marker = "python_full_version >= '3.13'", specifier = ">3" }, @@ -17445,7 +17659,7 @@ fn lock_change_requires_python() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -17513,7 +17727,7 @@ fn lock_keyring_credentials() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -17529,6 +17743,7 @@ fn lock_keyring_credentials() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -17539,7 +17754,7 @@ fn lock_keyring_credentials() -> Result<()> { wheels = [ { url = "https://pypi-proxy.fly.dev/basic-auth/files/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -17582,7 +17797,7 @@ fn lock_multiple_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -17602,6 +17817,10 @@ fn lock_multiple_sources() -> Result<()> { ] sdist = { hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -17613,6 +17832,10 @@ fn lock_multiple_sources() -> Result<()> { { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "project" version = "0.1.0" @@ -17623,11 +17846,12 @@ fn lock_multiple_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", marker = "sys_platform != 'win32'", url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }, { name = "iniconfig", marker = "sys_platform == 'win32'", url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz" }, ] - "### + "# ); }); @@ -17769,7 +17993,7 @@ fn lock_multiple_sources_index_disjoint_markers() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -17835,11 +18059,12 @@ fn lock_multiple_sources_index_disjoint_markers() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "jinja2", marker = "sys_platform != 'win32'", specifier = ">=3,<3.1.4", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124" }, { name = "jinja2", marker = "sys_platform == 'win32'", specifier = ">=3,<3.1.4", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118" }, ] - "### + "# ); }); @@ -17899,7 +18124,7 @@ fn lock_multiple_sources_index_mixed() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -17942,6 +18167,7 @@ fn lock_multiple_sources_index_mixed() -> Result<()> { ] [package.metadata] + provides-extras = ["i18n"] requires-dist = [ { name = "babel", marker = "extra == 'i18n'", specifier = ">=2.7" }, { name = "markupsafe", specifier = ">=2.0" }, @@ -17971,11 +18197,12 @@ fn lock_multiple_sources_index_mixed() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "jinja2", marker = "sys_platform != 'win32'", url = "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl" }, { name = "jinja2", marker = "sys_platform == 'win32'", specifier = ">=3,<3.1.4", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118" }, ] - "### + "# ); }); @@ -18069,7 +18296,7 @@ fn lock_multiple_sources_index_explicit() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -18158,11 +18385,12 @@ fn lock_multiple_sources_index_explicit() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "jinja2", marker = "sys_platform != 'win32'", specifier = ">=3" }, { name = "jinja2", marker = "sys_platform == 'win32'", specifier = ">=3", index = "https://test.pypi.org/simple" }, ] - "### + "# ); }); @@ -18214,7 +18442,7 @@ fn lock_multiple_sources_non_total() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -18248,6 +18476,10 @@ fn lock_multiple_sources_non_total() -> Result<()> { { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "project" version = "0.1.0" @@ -18258,11 +18490,12 @@ fn lock_multiple_sources_non_total() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "iniconfig", marker = "sys_platform != 'darwin'" }, { name = "iniconfig", marker = "sys_platform == 'darwin'", url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }, ] - "### + "# ); }); @@ -18314,7 +18547,7 @@ fn lock_multiple_sources_respect_marker() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -18339,8 +18572,9 @@ fn lock_multiple_sources_respect_marker() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", marker = "sys_platform == 'win32'" }] - "### + "# ); }); @@ -18395,7 +18629,7 @@ fn lock_multiple_sources_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -18410,6 +18644,10 @@ fn lock_multiple_sources_extra() -> Result<()> { { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "project" version = "0.1.0" @@ -18421,11 +18659,12 @@ fn lock_multiple_sources_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["cpu"] requires-dist = [ { name = "iniconfig", marker = "extra == 'cpu'", url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" }, { name = "iniconfig", marker = "extra != 'cpu'" }, ] - "### + "# ); }); @@ -18822,7 +19061,7 @@ fn lock_group_include() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -18903,6 +19142,7 @@ fn lock_group_include() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "typing-extensions" }] [package.metadata.requires-dev] @@ -18964,7 +19204,7 @@ fn lock_group_include() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -19350,7 +19590,7 @@ fn lock_group_workspace() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -19393,6 +19633,7 @@ fn lock_group_workspace() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">1" }] [package.metadata.requires-dev] @@ -19461,6 +19702,7 @@ fn lock_group_workspace() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "child", editable = "child" }] [package.metadata.requires-dev] @@ -19499,7 +19741,7 @@ fn lock_group_workspace() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -19540,7 +19782,7 @@ fn lock_transitive_git() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -19556,6 +19798,7 @@ fn lock_transitive_git() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "c", git = "https://github.com/astral-sh/workspace-virtual-root-test?subdirectory=packages%2Fc&rev=fac39c8d4c5d0ef32744e2bb309bbe34a759fd46" }] [[package]] @@ -19604,7 +19847,7 @@ fn lock_transitive_git() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -19702,7 +19945,7 @@ fn lock_dynamic_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -19712,7 +19955,11 @@ fn lock_dynamic_version() -> Result<()> { [[package]] name = "project" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -19740,7 +19987,7 @@ fn lock_dynamic_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -19750,7 +19997,11 @@ fn lock_dynamic_version() -> Result<()> { [[package]] name = "project" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -20003,7 +20254,7 @@ fn lock_dynamic_version_workspace_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20020,6 +20271,10 @@ fn lock_dynamic_version_workspace_member() -> Result<()> { name = "dynamic" source = { editable = "dynamic" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -20039,11 +20294,12 @@ fn lock_dynamic_version_workspace_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dynamic", editable = "dynamic" }, { name = "iniconfig", specifier = ">=2" }, ] - "### + "# ); }); @@ -20072,7 +20328,7 @@ fn lock_dynamic_version_workspace_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20089,6 +20345,10 @@ fn lock_dynamic_version_workspace_member() -> Result<()> { name = "dynamic" source = { editable = "dynamic" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -20108,11 +20368,12 @@ fn lock_dynamic_version_workspace_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dynamic", editable = "dynamic" }, { name = "iniconfig", specifier = ">=2" }, ] - "### + "# ); }); @@ -20189,7 +20450,7 @@ fn lock_dynamic_version_path_dependency() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20200,6 +20461,10 @@ fn lock_dynamic_version_path_dependency() -> Result<()> { name = "dynamic" source = { directory = "dynamic" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -20219,11 +20484,12 @@ fn lock_dynamic_version_path_dependency() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dynamic", directory = "dynamic" }, { name = "iniconfig", specifier = ">=2" }, ] - "### + "# ); }); @@ -20252,7 +20518,7 @@ fn lock_dynamic_version_path_dependency() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20263,6 +20529,10 @@ fn lock_dynamic_version_path_dependency() -> Result<()> { name = "dynamic" source = { directory = "dynamic" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "iniconfig" version = "2.0.0" @@ -20282,11 +20552,12 @@ fn lock_dynamic_version_path_dependency() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dynamic", directory = "dynamic" }, { name = "iniconfig", specifier = ">=2" }, ] - "### + "# ); }); @@ -20351,7 +20622,7 @@ fn lock_dynamic_version_self_extra_hatchling() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20394,6 +20665,7 @@ fn lock_dynamic_version_self_extra_hatchling() -> Result<()> { ] [package.metadata] + provides-extras = ["all", "async"] requires-dist = [ { name = "anyio", marker = "extra == 'all'" }, { name = "anyio", marker = "extra == 'async'" }, @@ -20416,7 +20688,7 @@ fn lock_dynamic_version_self_extra_hatchling() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, ] - "### + "# ); }); @@ -20509,7 +20781,7 @@ fn lock_dynamic_version_self_extra_setuptools() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20552,6 +20824,7 @@ fn lock_dynamic_version_self_extra_setuptools() -> Result<()> { ] [package.metadata] + provides-extras = ["all", "async"] requires-dist = [ { name = "anyio", marker = "extra == 'async'" }, { name = "project", extras = ["async"], marker = "extra == 'all'" }, @@ -20574,7 +20847,7 @@ fn lock_dynamic_version_self_extra_setuptools() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, ] - "### + "# ); }); @@ -20659,7 +20932,7 @@ fn lock_dynamic_built_cache() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20669,7 +20942,11 @@ fn lock_dynamic_built_cache() -> Result<()> { [[package]] name = "project" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -20705,7 +20982,7 @@ fn lock_dynamic_built_cache() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -20715,7 +20992,11 @@ fn lock_dynamic_built_cache() -> Result<()> { [[package]] name = "project" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -20779,7 +21060,7 @@ fn lock_shared_build_dependency() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -20903,6 +21184,7 @@ fn lock_shared_build_dependency() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "libcst", specifier = ">=1.1.0" }] [[package]] @@ -20986,7 +21268,7 @@ fn lock_shared_build_dependency() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f", size = 8827 }, ] - "### + "# ); }); @@ -21057,7 +21339,7 @@ fn lock_dynamic_to_static() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21067,7 +21349,11 @@ fn lock_dynamic_to_static() -> Result<()> { [[package]] name = "project" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -21113,7 +21399,7 @@ fn lock_dynamic_to_static() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21124,7 +21410,11 @@ fn lock_dynamic_to_static() -> Result<()> { name = "project" version = "0.1.0" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -21166,7 +21456,7 @@ fn lock_static_to_dynamic() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21177,7 +21467,11 @@ fn lock_static_to_dynamic() -> Result<()> { name = "project" version = "0.1.0" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -21242,7 +21536,7 @@ fn lock_static_to_dynamic() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21252,7 +21546,11 @@ fn lock_static_to_dynamic() -> Result<()> { [[package]] name = "project" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -21289,7 +21587,7 @@ fn lock_bump_static_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21300,7 +21598,11 @@ fn lock_bump_static_version() -> Result<()> { name = "project" version = "0.1.0" source = { virtual = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -21342,7 +21644,7 @@ fn lock_bump_static_version() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21353,7 +21655,11 @@ fn lock_bump_static_version() -> Result<()> { name = "project" version = "0.2.0" source = { virtual = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); }); @@ -21687,7 +21993,7 @@ fn lock_relative_project() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21703,6 +22009,7 @@ fn lock_relative_project() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "typing-extensions" }] [[package]] @@ -21713,7 +22020,7 @@ fn lock_relative_project() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -21788,7 +22095,7 @@ fn lock_recursive_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21827,6 +22134,7 @@ fn lock_recursive_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["foo", "bar", "baz", "bop", "qux"] requires-dist = [ { name = "iniconfig", marker = "extra == 'foo'" }, { name = "project", extras = ["bar"], marker = "sys_platform == 'darwin' and extra == 'bop'" }, @@ -21834,7 +22142,7 @@ fn lock_recursive_extra() -> Result<()> { { name = "project", extras = ["bop"], marker = "python_full_version == '3.12.*' and extra == 'qux'" }, { name = "project", extras = ["foo"], marker = "extra == 'bar'" }, ] - "### + "# ); }); @@ -21925,7 +22233,7 @@ fn lock_no_build_static_metadata() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -21941,6 +22249,7 @@ fn lock_no_build_static_metadata() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -21951,7 +22260,7 @@ fn lock_no_build_static_metadata() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -22047,7 +22356,7 @@ fn lock_self_compatible() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -22063,6 +22372,7 @@ fn lock_self_compatible() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "project" }, { name = "typing-extensions" }, @@ -22076,7 +22386,7 @@ fn lock_self_compatible() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -22146,7 +22456,7 @@ fn lock_self_exact() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -22162,6 +22472,7 @@ fn lock_self_exact() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "project", specifier = "==0.1.0" }, { name = "typing-extensions" }, @@ -22175,7 +22486,7 @@ fn lock_self_exact() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -22278,7 +22589,7 @@ fn lock_self_extra_to_extra_compatible() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -22294,6 +22605,7 @@ fn lock_self_extra_to_extra_compatible() -> Result<()> { ] [package.metadata] + provides-extras = ["foo"] requires-dist = [ { name = "project", extras = ["foo"], marker = "extra == 'foo'" }, { name = "typing-extensions" }, @@ -22307,7 +22619,7 @@ fn lock_self_extra_to_extra_compatible() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -22447,7 +22759,7 @@ fn lock_self_extra_compatible() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -22463,6 +22775,7 @@ fn lock_self_extra_compatible() -> Result<()> { ] [package.metadata] + provides-extras = ["foo"] requires-dist = [ { name = "project", marker = "extra == 'foo'" }, { name = "typing-extensions" }, @@ -22476,7 +22789,7 @@ fn lock_self_extra_compatible() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -22579,7 +22892,7 @@ fn lock_self_marker_compatible() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -22595,6 +22908,7 @@ fn lock_self_marker_compatible() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "project", marker = "sys_platform == 'win32'" }, { name = "typing-extensions" }, @@ -22608,7 +22922,7 @@ fn lock_self_marker_compatible() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -22710,7 +23024,7 @@ fn lock_split_on_windows() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -22726,6 +23040,7 @@ fn lock_split_on_windows() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "pyqt5-qt5" }] [[package]] @@ -22736,7 +23051,7 @@ fn lock_split_on_windows() -> Result<()> { { url = "https://files.pythonhosted.org/packages/40/dc/96d9d0ba0d13256343b53efffe8729f278e62409ab4c937bb22e70ab98ac/PyQt5_Qt5-5.15.13-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:92575a9e96a27c4ed67c56c7048ded7461a1655d5d21f0e05064664e6e9fcbdf", size = 38771962 }, { url = "https://files.pythonhosted.org/packages/c9/8b/4441c208c8ca29b50fab6467ebfa32b6401d16c5c915a031a48dc85dfa7a/PyQt5_Qt5-5.15.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:141859f2ffe04cc6c5db970e2b6ad9f98897805d886a14c52614e3799daab6d6", size = 36663754 }, ] - "### + "# ); }); @@ -22809,7 +23124,7 @@ fn lock_arm() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -22842,8 +23157,9 @@ fn lock_arm() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "numpy" }] - "### + "# ); }); @@ -22883,7 +23199,7 @@ fn lock_x86_64() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -22917,8 +23233,9 @@ fn lock_x86_64() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "numpy" }] - "### + "# ); }); @@ -22958,7 +23275,7 @@ fn lock_x86() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -22989,8 +23306,9 @@ fn lock_x86() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "numpy" }] - "### + "# ); }); @@ -23029,7 +23347,7 @@ fn lock_script() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -23069,7 +23387,7 @@ fn lock_script() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -23165,7 +23483,7 @@ fn lock_script_path() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -23200,6 +23518,7 @@ fn lock_script_path() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] [[package]] @@ -23228,7 +23547,7 @@ fn lock_script_path() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -23370,7 +23689,7 @@ fn lock_pytorch_cpu() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12.[X]" resolution-markers = [ @@ -23733,6 +24052,7 @@ fn lock_pytorch_cpu() -> Result<()> { ] [package.metadata] + provides-extras = ["cpu", "cu124"] requires-dist = [ { name = "jinja2", specifier = "<=3.1.4" }, { name = "numpy", specifier = "<=2.2.0" }, @@ -23947,7 +24267,7 @@ fn lock_pytorch_cpu() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, ] - "### + "# ); }); @@ -24021,7 +24341,7 @@ fn lock_pytorch_preferences() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10.0" resolution-markers = [ @@ -24284,6 +24604,7 @@ fn lock_pytorch_preferences() -> Result<()> { ] [package.metadata] + provides-extras = ["cpu", "cu118"] requires-dist = [ { name = "torch", marker = "sys_platform == 'darwin' and extra == 'cpu'", specifier = "==2.2.2" }, { name = "torch", marker = "sys_platform == 'darwin' and extra == 'cu118'", specifier = "==2.2.2" }, @@ -24444,7 +24765,7 @@ fn lock_pytorch_preferences() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, ] - "### + "# ); }); diff --git a/crates/uv/tests/it/lock_conflict.rs b/crates/uv/tests/it/lock_conflict.rs index 80ddc4c3e875..e79f8a0b81bc 100644 --- a/crates/uv/tests/it/lock_conflict.rs +++ b/crates/uv/tests/it/lock_conflict.rs @@ -89,7 +89,7 @@ fn extra_basic() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -114,6 +114,7 @@ fn extra_basic() -> Result<()> { ] [package.metadata] + provides-extras = ["extra1", "extra2"] requires-dist = [ { name = "sortedcontainers", marker = "extra == 'extra1'", specifier = "==2.3.0" }, { name = "sortedcontainers", marker = "extra == 'extra2'", specifier = "==2.4.0" }, @@ -136,7 +137,7 @@ fn extra_basic() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -281,7 +282,7 @@ fn extra_basic_three_extras() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -310,6 +311,7 @@ fn extra_basic_three_extras() -> Result<()> { ] [package.metadata] + provides-extras = ["extra1", "extra2", "project3"] requires-dist = [ { name = "sortedcontainers", marker = "extra == 'extra1'", specifier = "==2.2.0" }, { name = "sortedcontainers", marker = "extra == 'extra2'", specifier = "==2.3.0" }, @@ -342,7 +344,7 @@ fn extra_basic_three_extras() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -754,7 +756,7 @@ fn extra_multiple_independent() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -823,6 +825,7 @@ fn extra_multiple_independent() -> Result<()> { ] [package.metadata] + provides-extras = ["extra1", "extra2", "project3", "project4"] requires-dist = [ { name = "anyio", marker = "extra == 'project3'", specifier = "==4.1.0" }, { name = "anyio", marker = "extra == 'project4'", specifier = "==4.2.0" }, @@ -856,7 +859,7 @@ fn extra_multiple_independent() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -902,7 +905,7 @@ fn extra_config_change_ignore_lockfile() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -927,6 +930,7 @@ fn extra_config_change_ignore_lockfile() -> Result<()> { ] [package.metadata] + provides-extras = ["extra1", "extra2"] requires-dist = [ { name = "sortedcontainers", marker = "extra == 'extra1'", specifier = "==2.3.0" }, { name = "sortedcontainers", marker = "extra == 'extra2'", specifier = "==2.4.0" }, @@ -949,7 +953,7 @@ fn extra_config_change_ignore_lockfile() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -1715,7 +1719,7 @@ fn group_basic() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -1740,6 +1744,8 @@ fn group_basic() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] group1 = [{ name = "sortedcontainers", specifier = "==2.3.0" }] @@ -1762,7 +1768,7 @@ fn group_basic() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -1869,7 +1875,7 @@ fn group_default() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -1894,6 +1900,8 @@ fn group_default() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] group1 = [{ name = "sortedcontainers", specifier = "==2.3.0" }] @@ -1916,7 +1924,7 @@ fn group_default() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -2080,7 +2088,7 @@ fn mixed() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -2107,6 +2115,7 @@ fn mixed() -> Result<()> { ] [package.metadata] + provides-extras = ["extra1"] requires-dist = [{ name = "sortedcontainers", marker = "extra == 'extra1'", specifier = "==2.4.0" }] [package.metadata.requires-dev] @@ -2129,7 +2138,7 @@ fn mixed() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -2248,7 +2257,7 @@ fn multiple_sources_index_disjoint_extras() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -2316,11 +2325,12 @@ fn multiple_sources_index_disjoint_extras() -> Result<()> { ] [package.metadata] + provides-extras = ["cu118", "cu124"] requires-dist = [ { name = "jinja2", marker = "extra == 'cu118'", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118", conflict = { package = "project", extra = "cu118" } }, { name = "jinja2", marker = "extra == 'cu124'", specifier = "==3.1.3", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124", conflict = { package = "project", extra = "cu124" } }, ] - "### + "# ); }); @@ -2396,7 +2406,7 @@ fn multiple_sources_index_disjoint_groups() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -2464,11 +2474,13 @@ fn multiple_sources_index_disjoint_groups() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] cu118 = [{ name = "jinja2", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118", conflict = { package = "project", group = "cu118" } }] cu124 = [{ name = "jinja2", specifier = "==3.1.3", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124", conflict = { package = "project", group = "cu124" } }] - "### + "# ); }); @@ -2544,7 +2556,7 @@ fn multiple_sources_index_disjoint_extras_with_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -2631,11 +2643,12 @@ fn multiple_sources_index_disjoint_extras_with_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["cu118", "cu124"] requires-dist = [ { name = "jinja2", extras = ["i18n"], marker = "extra == 'cu118'", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118", conflict = { package = "project", extra = "cu118" } }, { name = "jinja2", extras = ["i18n"], marker = "extra == 'cu124'", specifier = "==3.1.3", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124", conflict = { package = "project", extra = "cu124" } }, ] - "### + "# ); }); @@ -2711,7 +2724,7 @@ fn multiple_sources_index_disjoint_extras_with_marker() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -2804,12 +2817,13 @@ fn multiple_sources_index_disjoint_extras_with_marker() -> Result<()> { ] [package.metadata] + provides-extras = ["cu118", "cu124"] requires-dist = [ { name = "jinja2", marker = "sys_platform == 'darwin' and extra == 'cu118'", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118", conflict = { package = "project", extra = "cu118" } }, { name = "jinja2", marker = "sys_platform != 'darwin' and extra == 'cu118'", specifier = "==3.1.2" }, { name = "jinja2", marker = "extra == 'cu124'", specifier = "==3.1.3", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124", conflict = { package = "project", extra = "cu124" } }, ] - "### + "# ); }); @@ -3035,7 +3049,7 @@ fn shared_optional_dependency_extra1() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -3095,6 +3109,7 @@ fn shared_optional_dependency_extra1() -> Result<()> { ] [package.metadata] + provides-extras = ["foo", "bar", "baz"] requires-dist = [ { name = "anyio", marker = "extra == 'baz'" }, { name = "idna", marker = "extra == 'bar'", specifier = "==3.6" }, @@ -3109,7 +3124,7 @@ fn shared_optional_dependency_extra1() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -3173,7 +3188,7 @@ fn shared_optional_dependency_group1() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -3233,6 +3248,8 @@ fn shared_optional_dependency_group1() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] bar = [{ name = "idna", specifier = "==3.6" }] @@ -3247,7 +3264,7 @@ fn shared_optional_dependency_group1() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -3313,7 +3330,7 @@ fn shared_optional_dependency_mixed1() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -3375,6 +3392,7 @@ fn shared_optional_dependency_mixed1() -> Result<()> { ] [package.metadata] + provides-extras = ["foo"] requires-dist = [{ name = "idna", marker = "extra == 'foo'", specifier = "==3.5" }] [package.metadata.requires-dev] @@ -3389,7 +3407,7 @@ fn shared_optional_dependency_mixed1() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -3456,7 +3474,7 @@ fn shared_optional_dependency_extra2() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" conflicts = [[ @@ -3515,6 +3533,7 @@ fn shared_optional_dependency_extra2() -> Result<()> { ] [package.metadata] + provides-extras = ["foo", "bar"] requires-dist = [ { name = "anyio", marker = "extra == 'bar'" }, { name = "anyio", marker = "extra == 'foo'" }, @@ -3530,7 +3549,7 @@ fn shared_optional_dependency_extra2() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -3595,7 +3614,7 @@ fn shared_optional_dependency_group2() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" conflicts = [[ @@ -3654,6 +3673,8 @@ fn shared_optional_dependency_group2() -> Result<()> { ] [package.metadata] + provides-extras = [] + requires-dist = [] [package.metadata.requires-dev] bar = [ @@ -3673,7 +3694,7 @@ fn shared_optional_dependency_group2() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -3740,7 +3761,7 @@ fn shared_optional_dependency_mixed2() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" conflicts = [[ @@ -3801,6 +3822,7 @@ fn shared_optional_dependency_mixed2() -> Result<()> { ] [package.metadata] + provides-extras = ["foo"] requires-dist = [ { name = "anyio", marker = "extra == 'foo'" }, { name = "idna", marker = "extra == 'foo'", specifier = "==3.5" }, @@ -3820,7 +3842,7 @@ fn shared_optional_dependency_mixed2() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -3882,7 +3904,7 @@ fn shared_dependency_extra() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -3942,6 +3964,7 @@ fn shared_dependency_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["foo", "bar"] requires-dist = [ { name = "anyio" }, { name = "idna", marker = "extra == 'bar'", specifier = "==3.6" }, @@ -3956,7 +3979,7 @@ fn shared_dependency_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -4055,7 +4078,7 @@ fn shared_dependency_group() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -4115,6 +4138,7 @@ fn shared_dependency_group() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio" }] [package.metadata.requires-dev] @@ -4129,7 +4153,7 @@ fn shared_dependency_group() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -4230,7 +4254,7 @@ fn shared_dependency_mixed() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -4292,6 +4316,7 @@ fn shared_dependency_mixed() -> Result<()> { ] [package.metadata] + provides-extras = ["foo"] requires-dist = [ { name = "anyio" }, { name = "idna", marker = "extra == 'foo'", specifier = "==3.5" }, @@ -4308,7 +4333,7 @@ fn shared_dependency_mixed() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -4438,7 +4463,7 @@ conflicts = [ filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = "==3.11.*" conflicts = [[ @@ -4513,6 +4538,7 @@ conflicts = [ ] [package.metadata] + provides-extras = ["x1"] requires-dist = [ { name = "anyio", specifier = ">=4" }, { name = "idna", marker = "extra == 'x1'", specifier = "==3.6" }, @@ -4533,6 +4559,7 @@ conflicts = [ ] [package.metadata] + provides-extras = ["x2", "x3"] requires-dist = [ { name = "idna", marker = "extra == 'x2'", specifier = "==3.4" }, { name = "idna", marker = "extra == 'x3'", specifier = "==3.5" }, @@ -4546,7 +4573,7 @@ conflicts = [ wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "### + "# ); }); @@ -4621,7 +4648,7 @@ fn jinja_no_conflict_markers1() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -4708,11 +4735,12 @@ fn jinja_no_conflict_markers1() -> Result<()> { ] [package.metadata] + provides-extras = ["cu118", "cu124"] requires-dist = [ { name = "jinja2", extras = ["i18n"], marker = "extra == 'cu118'", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118", conflict = { package = "project", extra = "cu118" } }, { name = "jinja2", extras = ["i18n"], marker = "extra == 'cu124'", specifier = "==3.1.3", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124", conflict = { package = "project", extra = "cu124" } }, ] - "### + "# ); }); @@ -4781,7 +4809,7 @@ fn jinja_no_conflict_markers2() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -4874,12 +4902,13 @@ fn jinja_no_conflict_markers2() -> Result<()> { ] [package.metadata] + provides-extras = ["cu118", "cu124"] requires-dist = [ { name = "jinja2", marker = "sys_platform == 'darwin' and extra == 'cu118'", specifier = "==3.1.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu118", conflict = { package = "project", extra = "cu118" } }, { name = "jinja2", marker = "sys_platform != 'darwin' and extra == 'cu118'", specifier = "==3.1.2" }, { name = "jinja2", marker = "extra == 'cu124'", specifier = "==3.1.3", index = "https://astral-sh.github.io/pytorch-mirror/whl/cu124", conflict = { package = "project", extra = "cu124" } }, ] - "### + "# ); }); @@ -4940,7 +4969,7 @@ fn collision_extra() -> Result<()> { }, { assert_snapshot!( lock, - @r###" + @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -5003,6 +5032,7 @@ fn collision_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["foo", "bar", "extra-3-pkg-foo"] requires-dist = [ { name = "anyio" }, { name = "idna", marker = "extra == 'bar'", specifier = "==3.6" }, @@ -5027,7 +5057,7 @@ fn collision_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575 }, ] - "### + "# ); }); @@ -5167,7 +5197,7 @@ fn extra_inferences() -> Result<()> { }, { assert_snapshot!( lock, - @r###" + @r#" version = 1 requires-python = ">=3.12" conflicts = [[ @@ -6539,6 +6569,7 @@ fn extra_inferences() -> Result<()> { ] [package.metadata] + provides-extras = ["x1", "x2"] requires-dist = [ { name = "apache-airflow", marker = "extra == 'x1'", specifier = "==2.5.0" }, { name = "apache-airflow", marker = "extra == 'x2'", specifier = "==2.6.0" }, @@ -7128,7 +7159,7 @@ fn extra_inferences() -> Result<()> { { url = "https://files.pythonhosted.org/packages/c5/f4/2fdc5a11503bc61818243653d836061c9ce0370e2dd9ac5917258a007675/yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984", size = 76397 }, { url = "https://files.pythonhosted.org/packages/4d/05/4d79198ae568a92159de0f89e710a8d19e3fa267b719a236582eee921f4a/yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad", size = 31638 }, ] - "### + "# ); }); @@ -7201,7 +7232,7 @@ fn deduplicate_resolution_markers() -> Result<()> { }, { assert_snapshot!( lock, - @r###" + @r#" version = 1 requires-python = ">=3.12" resolution-markers = [ @@ -7277,13 +7308,14 @@ fn deduplicate_resolution_markers() -> Result<()> { ] [package.metadata] + provides-extras = ["x1", "x2"] requires-dist = [ { name = "idna", marker = "sys_platform == 'linux' and extra == 'x1'", specifier = "==3.6" }, { name = "idna", marker = "sys_platform != 'linux' and extra == 'x1'", specifier = "==3.5" }, { name = "markupsafe", marker = "sys_platform == 'linux' and extra == 'x2'", specifier = "==2.1.0" }, { name = "markupsafe", marker = "sys_platform != 'linux' and extra == 'x2'", specifier = "==2.0.0" }, ] - "### + "# ); }); @@ -10093,7 +10125,7 @@ fn overlapping_resolution_markers() -> Result<()> { }, { assert_snapshot!( lock, - @r###" + @r#" version = 1 requires-python = "==3.10.*" resolution-markers = [ @@ -10133,6 +10165,7 @@ fn overlapping_resolution_markers() -> Result<()> { ] [package.metadata] + provides-extras = ["cpu", "cu118"] requires-dist = [ { name = "torch", marker = "sys_platform == 'darwin' and extra == 'cpu'", specifier = "==2.2.2" }, { name = "torch", marker = "sys_platform != 'darwin' and extra == 'cpu'", specifier = "==2.2.2", index = "https://astral-sh.github.io/pytorch-mirror/whl/cpu", conflict = { package = "ads-mega-model", extra = "cpu" } }, @@ -10702,7 +10735,7 @@ fn overlapping_resolution_markers() -> Result<()> { { url = "https://files.pythonhosted.org/packages/df/b9/1d26752a7c9ff5b255c921e13a9c5176e21a0b77e53d3febf892d90c86a5/wandb-0.17.6-py3-none-win32.whl", hash = "sha256:247b1c9677fd633a460201f421d4fd4f370e7243d06257fab0ad1bb728ddcc1c", size = 6504208 }, { url = "https://files.pythonhosted.org/packages/fc/2c/280b8891362967e54de2267454ac6033568b8412ec31225f00ecc11db7a6/wandb-0.17.6-py3-none-win_amd64.whl", hash = "sha256:51954f993b372c20812616838302183f0e3abf137614f05d80c7c17c307bfff9", size = 6504213 }, ] - "### + "# ); }); diff --git a/crates/uv/tests/it/lock_scenarios.rs b/crates/uv/tests/it/lock_scenarios.rs index b9f031588f5f..dc66d1ee8aa4 100644 --- a/crates/uv/tests/it/lock_scenarios.rs +++ b/crates/uv/tests/it/lock_scenarios.rs @@ -121,7 +121,7 @@ fn wrong_backtracking_basic() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -135,6 +135,7 @@ fn wrong_backtracking_basic() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a" }, { name = "package-b" }, @@ -160,7 +161,7 @@ fn wrong_backtracking_basic() -> Result<()> { wheels = [ { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/wrong_backtracking_basic_b-2.0.9-py3-none-any.whl", hash = "sha256:bf96af1a69f8c1d1d9c2687cd5d6f023cda56dd77d3f37f3cdd422e2a410541f" }, ] - "### + "# ); }); @@ -244,7 +245,7 @@ fn fork_allows_non_conflicting_non_overlapping_dependencies() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -271,11 +272,12 @@ fn fork_allows_non_conflicting_non_overlapping_dependencies() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=1" }, ] - "### + "# ); }); @@ -361,7 +363,7 @@ fn fork_allows_non_conflicting_repeated_dependencies() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -383,11 +385,12 @@ fn fork_allows_non_conflicting_repeated_dependencies() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", specifier = "<2" }, { name = "package-a", specifier = ">=1" }, ] - "### + "# ); }); @@ -460,7 +463,7 @@ fn fork_basic() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -503,11 +506,12 @@ fn fork_basic() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -745,7 +749,7 @@ fn fork_filter_sibling_dependencies() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -838,13 +842,14 @@ fn fork_filter_sibling_dependencies() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "==4.3.0" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = "==4.4.0" }, { name = "package-b", marker = "sys_platform == 'linux'", specifier = "==1.0.0" }, { name = "package-c", marker = "sys_platform == 'darwin'", specifier = "==1.0.0" }, ] - "### + "# ); }); @@ -923,7 +928,7 @@ fn fork_upgrade() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -957,8 +962,9 @@ fn fork_upgrade() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-foo" }] - "### + "# ); }); @@ -1043,7 +1049,7 @@ fn fork_incomplete_markers() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -1108,12 +1114,13 @@ fn fork_incomplete_markers() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "python_full_version < '3.10'", specifier = "==1" }, { name = "package-a", marker = "python_full_version >= '3.11'", specifier = "==2" }, { name = "package-b" }, ] - "### + "# ); }); @@ -1196,7 +1203,7 @@ fn fork_marker_accrue() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -1243,11 +1250,12 @@ fn fork_marker_accrue() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "implementation_name == 'cpython'", specifier = "==1.0.0" }, { name = "package-b", marker = "implementation_name == 'pypy'", specifier = "==1.0.0" }, ] - "### + "# ); }); @@ -1399,7 +1407,7 @@ fn fork_marker_inherit_combined_allowed() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -1486,11 +1494,12 @@ fn fork_marker_inherit_combined_allowed() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -1579,7 +1588,7 @@ fn fork_marker_inherit_combined_disallowed() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -1654,11 +1663,12 @@ fn fork_marker_inherit_combined_disallowed() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -1748,7 +1758,7 @@ fn fork_marker_inherit_combined() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -1823,11 +1833,12 @@ fn fork_marker_inherit_combined() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -1910,7 +1921,7 @@ fn fork_marker_inherit_isolated() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -1965,11 +1976,12 @@ fn fork_marker_inherit_isolated() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -2058,7 +2070,7 @@ fn fork_marker_inherit_transitive() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -2125,11 +2137,12 @@ fn fork_marker_inherit_transitive() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -2214,7 +2227,7 @@ fn fork_marker_inherit() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -2257,11 +2270,12 @@ fn fork_marker_inherit() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -2352,7 +2366,7 @@ fn fork_marker_limited_inherit() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -2417,12 +2431,13 @@ fn fork_marker_limited_inherit() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'linux'", specifier = ">=2" }, { name = "package-b" }, ] - "### + "# ); }); @@ -2507,7 +2522,7 @@ fn fork_marker_selection() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -2560,12 +2575,13 @@ fn fork_marker_selection() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a" }, { name = "package-b", marker = "sys_platform == 'darwin'", specifier = "<2" }, { name = "package-b", marker = "sys_platform == 'linux'", specifier = ">=2" }, ] - "### + "# ); }); @@ -2662,7 +2678,7 @@ fn fork_marker_track() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -2727,12 +2743,13 @@ fn fork_marker_track() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a" }, { name = "package-b", marker = "sys_platform == 'darwin'", specifier = "<2.8" }, { name = "package-b", marker = "sys_platform == 'linux'", specifier = ">=2.8" }, ] - "### + "# ); }); @@ -2814,7 +2831,7 @@ fn fork_non_fork_marker_transitive() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -2861,11 +2878,12 @@ fn fork_non_fork_marker_transitive() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", specifier = "==1.0.0" }, { name = "package-b", specifier = "==1.0.0" }, ] - "### + "# ); }); @@ -3113,7 +3131,7 @@ fn fork_overlapping_markers_basic() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -3140,12 +3158,13 @@ fn fork_overlapping_markers_basic() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "python_full_version < '3.10'", specifier = ">=1.0.0" }, { name = "package-a", marker = "python_full_version >= '3.10'", specifier = ">=1.1.0" }, { name = "package-a", marker = "python_full_version >= '3.11'", specifier = ">=1.2.0" }, ] - "### + "# ); }); @@ -3280,7 +3299,7 @@ fn preferences_dependent_forking_bistable() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -3384,8 +3403,9 @@ fn preferences_dependent_forking_bistable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-cleaver" }] - "### + "# ); }); @@ -3658,7 +3678,7 @@ fn preferences_dependent_forking_tristable() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -3806,12 +3826,13 @@ fn preferences_dependent_forking_tristable() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-bar" }, { name = "package-cleaver" }, { name = "package-foo" }, ] - "### + "# ); }); @@ -3941,7 +3962,7 @@ fn preferences_dependent_forking() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -4007,12 +4028,13 @@ fn preferences_dependent_forking() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-bar" }, { name = "package-cleaver" }, { name = "package-foo" }, ] - "### + "# ); }); @@ -4115,7 +4137,7 @@ fn fork_remaining_universe_partitioning() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" resolution-markers = [ @@ -4190,11 +4212,12 @@ fn fork_remaining_universe_partitioning() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'illumos'", specifier = "<2" }, { name = "package-a", marker = "sys_platform == 'windows'", specifier = ">=2" }, ] - "### + "# ); }); @@ -4277,6 +4300,7 @@ fn fork_requires_python_full_prerelease() -> Result<()> { source = { virtual = "." } [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a", marker = "python_full_version == '3.9'", specifier = "==1.0.0" }] "### ); @@ -4361,6 +4385,7 @@ fn fork_requires_python_full() -> Result<()> { source = { virtual = "." } [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a", marker = "python_full_version == '3.9'", specifier = "==1.0.0" }] "### ); @@ -4439,7 +4464,7 @@ fn fork_requires_python_patch_overlap() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10.1" @@ -4461,8 +4486,9 @@ fn fork_requires_python_patch_overlap() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a", marker = "python_full_version == '3.10.*'", specifier = "==1.0.0" }] - "### + "# ); }); @@ -4542,6 +4568,7 @@ fn fork_requires_python() -> Result<()> { source = { virtual = "." } [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a", marker = "python_full_version == '3.9.*'", specifier = "==1.0.0" }] "### ); @@ -4612,7 +4639,7 @@ fn requires_python_wheels() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.10" @@ -4625,6 +4652,7 @@ fn requires_python_wheels() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a", specifier = "==1.0.0" }] [[package]] @@ -4636,7 +4664,7 @@ fn requires_python_wheels() -> Result<()> { { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/requires_python_wheels_a-1.0.0-cp310-cp310-any.whl", hash = "sha256:b979494a0d7dc825b84d6c516ac407143915f6d2840d229ee2a36b3d06deb61d" }, { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/requires_python_wheels_a-1.0.0-cp311-cp311-any.whl", hash = "sha256:b979494a0d7dc825b84d6c516ac407143915f6d2840d229ee2a36b3d06deb61d" }, ] - "### + "# ); }); @@ -4708,7 +4736,7 @@ fn unreachable_package() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -4721,6 +4749,7 @@ fn unreachable_package() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a", marker = "sys_platform == 'win32'", specifier = "==1.0.0" }] [[package]] @@ -4731,7 +4760,7 @@ fn unreachable_package() -> Result<()> { wheels = [ { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/unreachable_package_a-1.0.0-py3-none-any.whl", hash = "sha256:cc472ded9f3b260e6cda0e633fa407a13607e190422cb455f02beebd32d6751f" }, ] - "### + "# ); }); @@ -4809,7 +4838,7 @@ fn unreachable_wheels() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -4824,6 +4853,7 @@ fn unreachable_wheels() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "package-a", marker = "sys_platform == 'win32'", specifier = "==1.0.0" }, { name = "package-b", marker = "sys_platform == 'linux'", specifier = "==1.0.0" }, @@ -4857,7 +4887,7 @@ fn unreachable_wheels() -> Result<()> { wheels = [ { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/unreachable_wheels_c-1.0.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4b846c5b1646b04828a2bef6c9d180ff7cfd725866013dcec8933de7fb5f9e8d" }, ] - "### + "# ); }); @@ -4937,7 +4967,7 @@ fn specific_architecture() -> Result<()> { filters => filters, }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.8" @@ -4950,6 +4980,7 @@ fn specific_architecture() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package-a" }] [[package]] @@ -4997,7 +5028,7 @@ fn specific_architecture() -> Result<()> { { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/specific_architecture_d-1.0.0-cp313-cp313-freebsd_13_x86_64.whl", hash = "sha256:842864c1348694fab33199eb05921602c2abfc77844a81085a55db02edd30da4" }, { url = "https://astral-sh.github.io/packse/PACKSE_VERSION/files/specific_architecture_d-1.0.0-cp313-cp313-manylinux2010_i686.whl", hash = "sha256:842864c1348694fab33199eb05921602c2abfc77844a81085a55db02edd30da4" }, ] - "### + "# ); }); diff --git a/crates/uv/tests/it/run.rs b/crates/uv/tests/it/run.rs index a5823ba06ad5..651e9478b4eb 100644 --- a/crates/uv/tests/it/run.rs +++ b/crates/uv/tests/it/run.rs @@ -815,7 +815,7 @@ fn run_pep723_script_lock() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -833,7 +833,7 @@ fn run_pep723_script_lock() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] - "### + "# ); }); @@ -1728,7 +1728,7 @@ fn run_locked() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - existing, @r###" + existing, @r#" version = 1 requires-python = ">=3.12" @@ -1766,6 +1766,7 @@ fn run_locked() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "anyio", specifier = "==3.7.0" }] [[package]] @@ -1776,7 +1777,7 @@ fn run_locked() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] - "###); + "#); } ); diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__black-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__black-lock-file.snap index aa69b9d056a4..747dd888d7f6 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__black-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__black-lock-file.snap @@ -208,6 +208,7 @@ uvloop = [ ] [package.metadata] +provides-extras = ["colorama", "d", "jupyter", "uvloop"] requires-dist = [ { name = "aiohttp", marker = "implementation_name == 'pypy' and sys_platform == 'win32' and extra == 'd'", specifier = ">=3.7.4,!=3.9.0" }, { name = "aiohttp", marker = "(implementation_name != 'pypy' and extra == 'd') or (sys_platform != 'win32' and extra == 'd')", specifier = ">=3.7.4" }, diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-lock-file.snap index e3a7f3cfcf1a..04c78bd8c7c6 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__github-wikidata-bot-lock-file.snap @@ -126,6 +126,7 @@ dev = [ ] [package.metadata] +provides-extras = [] requires-dist = [ { name = "cachecontrol", extras = ["filecache"], specifier = ">=0.14,<0.15" }, { name = "mwparserfromhell", specifier = ">=0.6.4,<0.7" }, diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-lock-file.snap index 804d15848b3a..684dbcb3b2d0 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__home-assistant-core-lock-file.snap @@ -663,6 +663,7 @@ dependencies = [ ] [package.metadata] +provides-extras = [] requires-dist = [ { name = "aiodns", specifier = "==3.2.0" }, { name = "aiohttp", specifier = "==3.9.5" }, diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__packse-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__packse-lock-file.snap index 792152554767..5260599b3c4b 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__packse-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__packse-lock-file.snap @@ -340,6 +340,7 @@ dev = [ ] [package.metadata] +provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__saleor-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__saleor-lock-file.snap index e937950a4a34..f15b6e3fca5a 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__saleor-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__saleor-lock-file.snap @@ -1864,6 +1864,7 @@ dependencies = [ ] [package.metadata] +provides-extras = [] requires-dist = [ { name = "adyen", specifier = ">=4.0.0,<5.0.0" }, { name = "aniso8601", specifier = ">=7.0.0,<8.0.0" }, diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__transformers-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__transformers-lock-file.snap index 3481204a9388..f7143423f55a 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__transformers-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__transformers-lock-file.snap @@ -5874,6 +5874,7 @@ dev = [ ] [package.metadata] +provides-extras = ["ja", "sklearn", "tf", "tf-cpu", "torch", "accelerate", "retrieval", "flax", "tokenizers", "ftfy", "onnxruntime", "onnx", "modelcreation", "sagemaker", "deepspeed", "optuna", "ray", "sigopt", "integrations", "serving", "audio", "speech", "torch-speech", "tf-speech", "flax-speech", "vision", "timm", "torch-vision", "codecarbon", "video", "sentencepiece", "deepspeed-testing", "quality", "all", "docs-specific", "docs", "torchhub", "agents"] requires-dist = [ { name = "accelerate", marker = "extra == 'accelerate'", specifier = ">=0.21.0" }, { name = "accelerate", marker = "extra == 'agents'", specifier = ">=0.21.0" }, diff --git a/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-lock-file.snap b/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-lock-file.snap index 250e49b735ba..eea91143c868 100644 --- a/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-lock-file.snap +++ b/crates/uv/tests/it/snapshots/it__ecosystem__warehouse-lock-file.snap @@ -3957,6 +3957,7 @@ dev = [ ] [package.metadata] +provides-extras = ["deploy"] requires-dist = [ { name = "alembic", specifier = ">=0.7.0" }, { name = "alembic-postgresql-enum" }, diff --git a/crates/uv/tests/it/snapshots/it__workflow__jax_instability-2.snap b/crates/uv/tests/it/snapshots/it__workflow__jax_instability-2.snap index 54b71172a324..bf32af4bd588 100644 --- a/crates/uv/tests/it/snapshots/it__workflow__jax_instability-2.snap +++ b/crates/uv/tests/it/snapshots/it__workflow__jax_instability-2.snap @@ -168,6 +168,7 @@ dependencies = [ ] [package.metadata] +provides-extras = [] requires-dist = [{ name = "jax", specifier = "==0.4.17" }] [[package]] diff --git a/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_existing_package_noop-2.snap b/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_existing_package_noop-2.snap index 1724c2885e91..07e40724a51f 100644 --- a/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_existing_package_noop-2.snap +++ b/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_existing_package_noop-2.snap @@ -1,5 +1,5 @@ --- -source: crates/uv/tests/workflow.rs +source: crates/uv/tests/it/workflow.rs expression: lock --- version = 1 @@ -336,6 +336,7 @@ dev = [ ] [package.metadata] +provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, diff --git a/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_one_package-2.snap b/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_one_package-2.snap index 1724c2885e91..07e40724a51f 100644 --- a/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_one_package-2.snap +++ b/crates/uv/tests/it/snapshots/it__workflow__packse_add_remove_one_package-2.snap @@ -1,5 +1,5 @@ --- -source: crates/uv/tests/workflow.rs +source: crates/uv/tests/it/workflow.rs expression: lock --- version = 1 @@ -336,6 +336,7 @@ dev = [ ] [package.metadata] +provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, diff --git a/crates/uv/tests/it/snapshots/it__workflow__packse_promote_transitive_to_direct_then_remove-2.snap b/crates/uv/tests/it/snapshots/it__workflow__packse_promote_transitive_to_direct_then_remove-2.snap index 1724c2885e91..07e40724a51f 100644 --- a/crates/uv/tests/it/snapshots/it__workflow__packse_promote_transitive_to_direct_then_remove-2.snap +++ b/crates/uv/tests/it/snapshots/it__workflow__packse_promote_transitive_to_direct_then_remove-2.snap @@ -1,5 +1,5 @@ --- -source: crates/uv/tests/workflow.rs +source: crates/uv/tests/it/workflow.rs expression: lock --- version = 1 @@ -336,6 +336,7 @@ dev = [ ] [package.metadata] +provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, diff --git a/crates/uv/tests/it/sync.rs b/crates/uv/tests/it/sync.rs index 447d566efa67..f42ff1ab2880 100644 --- a/crates/uv/tests/it/sync.rs +++ b/crates/uv/tests/it/sync.rs @@ -1073,7 +1073,7 @@ fn sync_relative_wheel() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1088,6 +1088,10 @@ fn sync_relative_wheel() -> Result<()> { { filename = "ok-1.0.0-py3-none-any.whl", hash = "sha256:79f0b33e6ce1e09eaa1784c8eee275dfe84d215d9c65c652f07c18e85fdaac5f" }, ] + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "relative-wheel" version = "0.1.0" @@ -1097,8 +1101,9 @@ fn sync_relative_wheel() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "ok", path = "wheels/ok-1.0.0-py3-none-any.whl" }] - "### + "# ); } ); @@ -2406,7 +2411,7 @@ fn sync_group_legacy_non_project_member() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2433,6 +2438,7 @@ fn sync_group_legacy_non_project_member() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig", specifier = ">=1" }] [[package]] @@ -2452,7 +2458,7 @@ fn sync_group_legacy_non_project_member() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -2516,7 +2522,7 @@ fn sync_group_self() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -2564,6 +2570,7 @@ fn sync_group_self() -> Result<()> { ] [package.metadata] + provides-extras = ["test"] requires-dist = [ { name = "idna", marker = "extra == 'test'", specifier = ">=3" }, { name = "iniconfig", specifier = ">=2" }, @@ -2584,7 +2591,7 @@ fn sync_group_self() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); }); @@ -3001,7 +3008,7 @@ fn convert_to_virtual() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3026,8 +3033,9 @@ fn convert_to_virtual() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -3060,7 +3068,7 @@ fn convert_to_virtual() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3085,8 +3093,9 @@ fn convert_to_virtual() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -3128,7 +3137,7 @@ fn convert_to_package() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3153,8 +3162,9 @@ fn convert_to_package() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -3192,7 +3202,7 @@ fn convert_to_package() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -3217,8 +3227,9 @@ fn convert_to_package() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "iniconfig" }] - "### + "# ); }); @@ -4609,7 +4620,7 @@ fn sync_dynamic_extra() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -4639,6 +4650,7 @@ fn sync_dynamic_extra() -> Result<()> { ] [package.metadata] + provides-extras = ["dev"] requires-dist = [ { name = "iniconfig" }, { name = "typing-extensions", marker = "extra == 'dev'" }, @@ -4652,7 +4664,7 @@ fn sync_dynamic_extra() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); } ); @@ -5804,7 +5816,7 @@ fn sync_stale_egg_info() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.13" @@ -5821,6 +5833,7 @@ fn sync_stale_egg_info() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "member", git = "https://github.com/astral-sh/uv-stale-egg-info-test.git?subdirectory=member" }, { name = "root", git = "https://github.com/astral-sh/uv-stale-egg-info-test.git" }, @@ -5850,7 +5863,7 @@ fn sync_stale_egg_info() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl", hash = "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", size = 821485 }, ] - "### + "# ); } ); @@ -5910,7 +5923,7 @@ fn sync_git_repeated_member_static_metadata() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.13" @@ -5927,6 +5940,7 @@ fn sync_git_repeated_member_static_metadata() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "uv-git-workspace-in-root", git = "https://github.com/astral-sh/workspace-in-root-test.git" }, { name = "workspace-member-in-subdir", git = "https://github.com/astral-sh/workspace-in-root-test.git?subdirectory=workspace-member-in-subdir" }, @@ -5944,7 +5958,7 @@ fn sync_git_repeated_member_static_metadata() -> Result<()> { dependencies = [ { name = "uv-git-workspace-in-root" }, ] - "### + "# ); } ); @@ -6003,7 +6017,7 @@ fn sync_git_repeated_member_dynamic_metadata() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.13" @@ -6028,6 +6042,7 @@ fn sync_git_repeated_member_dynamic_metadata() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dependency", git = "https://github.com/astral-sh/uv-dynamic-metadata-test.git?subdirectory=dependency" }, { name = "package", git = "https://github.com/astral-sh/uv-dynamic-metadata-test.git" }, @@ -6059,7 +6074,7 @@ fn sync_git_repeated_member_dynamic_metadata() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", size = 33926 }, ] - "### + "# ); } ); @@ -6120,7 +6135,7 @@ fn sync_git_repeated_member_backwards_path() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.13" @@ -6142,6 +6157,7 @@ fn sync_git_repeated_member_backwards_path() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [ { name = "dependency", git = "https://github.com/astral-sh/uv-backwards-path-test?subdirectory=dependency" }, { name = "package", git = "https://github.com/astral-sh/uv-backwards-path-test?subdirectory=root" }, @@ -6154,7 +6170,7 @@ fn sync_git_repeated_member_backwards_path() -> Result<()> { dependencies = [ { name = "dependency" }, ] - "### + "# ); } ); @@ -6301,7 +6317,7 @@ fn sync_git_path_dependency() -> Result<()> { }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.13" @@ -6317,6 +6333,7 @@ fn sync_git_path_dependency() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "package2", git = "https://github.com/astral-sh/uv-path-dependency-test.git?subdirectory=package2" }] [[package]] @@ -6331,7 +6348,7 @@ fn sync_git_path_dependency() -> Result<()> { dependencies = [ { name = "package1" }, ] - "### + "# ); } ); @@ -6408,7 +6425,7 @@ fn sync_build_tag() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -6434,8 +6451,9 @@ fn sync_build_tag() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "build-tag" }] - "### + "# ); }); diff --git a/crates/uv/tests/it/tree.rs b/crates/uv/tests/it/tree.rs index 8cdb9961b35c..b5e06f0ff337 100644 --- a/crates/uv/tests/it/tree.rs +++ b/crates/uv/tests/it/tree.rs @@ -1246,7 +1246,7 @@ fn script() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.11" @@ -1382,7 +1382,7 @@ fn script() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", size = 121067 }, ] - "### + "# ); }); diff --git a/crates/uv/tests/it/workflow.rs b/crates/uv/tests/it/workflow.rs index 204a2137ee95..96669f9d3437 100644 --- a/crates/uv/tests/it/workflow.rs +++ b/crates/uv/tests/it/workflow.rs @@ -57,8 +57,8 @@ fn packse_add_remove_one_package() { { name = "pypiserver" }, { name = "watchfiles" }, ] - @@ -334,20 +335,21 @@ - [package.metadata] + @@ -335,20 +336,21 @@ + provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, @@ -79,7 +79,7 @@ fn packse_add_remove_one_package() { { name = "syrupy", specifier = ">=4.6.0" }, ] - @@ -599,20 +601,29 @@ + @@ -600,20 +602,29 @@ { name = "rfc3986" }, { name = "rich" }, { name = "urllib3" }, @@ -145,8 +145,8 @@ fn packse_add_remove_one_package() { { name = "pypiserver" }, { name = "watchfiles" }, ] - @@ -335,21 +334,20 @@ - [package.metadata] + @@ -336,21 +335,20 @@ + provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, @@ -167,7 +167,7 @@ fn packse_add_remove_one_package() { { name = "syrupy", specifier = ">=4.6.0" }, ] - @@ -598,29 +596,20 @@ + @@ -599,29 +597,20 @@ { name = "readme-renderer" }, { name = "requests" }, { name = "requests-toolbelt" }, @@ -299,9 +299,9 @@ fn packse_promote_transitive_to_direct_then_remove() { serve = [ { name = "pypiserver" }, { name = "watchfiles" }, - @@ -333,20 +334,21 @@ - + @@ -334,20 +335,21 @@ [package.metadata] + provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, @@ -357,9 +357,9 @@ fn packse_promote_transitive_to_direct_then_remove() { serve = [ { name = "pypiserver" }, { name = "watchfiles" }, - @@ -334,21 +333,20 @@ - + @@ -335,21 +334,20 @@ [package.metadata] + provides-extras = ["index", "serve"] requires-dist = [ { name = "chevron-blue", specifier = ">=0.2.1" }, { name = "hatchling", specifier = ">=1.20.0" }, @@ -431,7 +431,7 @@ fn jax_instability() -> Result<()> { insta::with_settings!({ filters => context.filters(), }, { - assert_snapshot!(diff, @r###" + assert_snapshot!(diff, @r#" --- old +++ new @@ -8,21 +8,21 @@ @@ -457,7 +457,7 @@ fn jax_instability() -> Result<()> { name = "jax" version = "0.4.17" source = { registry = "https://pypi.org/simple" } - @@ -149,28 +149,41 @@ + @@ -149,29 +149,42 @@ { url = "https://files.pythonhosted.org/packages/f3/31/91a2a3c5eb85d2bfa86d7c98f2df5d77dcdefb3d80ca9f9037ad04393acf/scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c", size = 45816713 }, { url = "https://files.pythonhosted.org/packages/ed/be/49a3f999dc91f1a653847f38c34763dcdeaa8a327f3665bdfe9bf5555109/scipy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35", size = 38929252 }, { url = "https://files.pythonhosted.org/packages/32/48/f605bad3e610efe05a51b56698578f7a98f900513a4bad2c9f12df845cd6/scipy-1.12.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067", size = 31356374 }, @@ -486,6 +486,7 @@ fn jax_instability() -> Result<()> { ] [package.metadata] + provides-extras = [] -requires-dist = [{ name = "jax", specifier = "==0.4.17" }] +requires-dist = [ + { name = "jax", specifier = "==0.4.17" }, @@ -500,7 +501,7 @@ fn jax_instability() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/c2/0a/ba9d0ee9536d3ef73a3448e931776e658b36f128d344e175bc32b092a8bf/zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", size = 8247 }, ] - "###); + "#); }); let diff = context.diff_lock(|context| { @@ -511,10 +512,10 @@ fn jax_instability() -> Result<()> { insta::with_settings!({ filters => context.filters(), }, { - assert_snapshot!(diff, @r###" + assert_snapshot!(diff, @r#" --- old +++ new - @@ -149,41 +149,28 @@ + @@ -149,42 +149,29 @@ { url = "https://files.pythonhosted.org/packages/f3/31/91a2a3c5eb85d2bfa86d7c98f2df5d77dcdefb3d80ca9f9037ad04393acf/scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c", size = 45816713 }, { url = "https://files.pythonhosted.org/packages/ed/be/49a3f999dc91f1a653847f38c34763dcdeaa8a327f3665bdfe9bf5555109/scipy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35", size = 38929252 }, { url = "https://files.pythonhosted.org/packages/32/48/f605bad3e610efe05a51b56698578f7a98f900513a4bad2c9f12df845cd6/scipy-1.12.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067", size = 31356374 }, @@ -543,6 +544,7 @@ fn jax_instability() -> Result<()> { ] [package.metadata] + provides-extras = [] -requires-dist = [ - { name = "jax", specifier = "==0.4.17" }, - { name = "tzdata", specifier = ">=2024.1" }, @@ -557,7 +559,7 @@ fn jax_instability() -> Result<()> { wheels = [ { url = "https://files.pythonhosted.org/packages/c2/0a/ba9d0ee9536d3ef73a3448e931776e658b36f128d344e175bc32b092a8bf/zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", size = 8247 }, ] - "###); + "#); }); // Back to where we started. diff --git a/crates/uv/tests/it/workspace.rs b/crates/uv/tests/it/workspace.rs index 62b9db0bd96d..2e58eb2132dd 100644 --- a/crates/uv/tests/it/workspace.rs +++ b/crates/uv/tests/it/workspace.rs @@ -1199,7 +1199,7 @@ fn workspace_inherit_sources() -> Result<()> { filters => context.filters(), }, { assert_snapshot!( - lock, @r###" + lock, @r#" version = 1 requires-python = ">=3.12" @@ -1221,6 +1221,7 @@ fn workspace_inherit_sources() -> Result<()> { ] [package.metadata] + provides-extras = [] requires-dist = [{ name = "library", editable = "../library" }] [[package]] @@ -1228,11 +1229,19 @@ fn workspace_inherit_sources() -> Result<()> { version = "0.1.0" source = { editable = "../library" } + [package.metadata] + provides-extras = [] + requires-dist = [] + [[package]] name = "workspace" version = "0.1.0" source = { editable = "." } - "### + + [package.metadata] + provides-extras = [] + requires-dist = [] + "# ); });