mirror of
https://github.com/astral-sh/uv.git
synced 2025-11-02 21:02:37 +00:00
Group resolver options in lockfile (#5853)
There are three options that determine resolver behavior: * resolution mode * prerelease mode * exclude newer They are different from the other top level options: If they mismatch, we recreate the resolution. To distinguish them from the rest of the lockfile, we group them under an `[options]` header. 1/3 for #4893
This commit is contained in:
parent
8c6b667eeb
commit
a3569b5b96
14 changed files with 226 additions and 68 deletions
|
|
@ -59,12 +59,8 @@ pub struct Lock {
|
|||
fork_markers: Option<BTreeSet<MarkerTree>>,
|
||||
/// The range of supported Python versions.
|
||||
requires_python: Option<RequiresPython>,
|
||||
/// The [`ResolutionMode`] used to generate this lock.
|
||||
resolution_mode: ResolutionMode,
|
||||
/// The [`PrereleaseMode`] used to generate this lock.
|
||||
prerelease_mode: PrereleaseMode,
|
||||
/// The [`ExcludeNewer`] used to generate this lock.
|
||||
exclude_newer: Option<ExcludeNewer>,
|
||||
/// We discard the lockfile if these options match.
|
||||
options: ResolverOptions,
|
||||
/// The actual locked version and their metadata.
|
||||
distributions: Vec<Distribution>,
|
||||
/// A map from distribution ID to index in `distributions`.
|
||||
|
|
@ -161,14 +157,16 @@ impl Lock {
|
|||
|
||||
let distributions = locked_dists.into_values().collect();
|
||||
let requires_python = graph.requires_python.clone();
|
||||
let options = graph.options;
|
||||
let options = ResolverOptions {
|
||||
resolution_mode: graph.options.resolution_mode,
|
||||
prerelease_mode: graph.options.prerelease_mode,
|
||||
exclude_newer: graph.options.exclude_newer,
|
||||
};
|
||||
let lock = Self::new(
|
||||
VERSION,
|
||||
distributions,
|
||||
requires_python,
|
||||
options.resolution_mode,
|
||||
options.prerelease_mode,
|
||||
options.exclude_newer,
|
||||
options,
|
||||
graph.fork_markers.clone(),
|
||||
)?;
|
||||
Ok(lock)
|
||||
|
|
@ -179,9 +177,7 @@ impl Lock {
|
|||
version: u32,
|
||||
mut distributions: Vec<Distribution>,
|
||||
requires_python: Option<RequiresPython>,
|
||||
resolution_mode: ResolutionMode,
|
||||
prerelease_mode: PrereleaseMode,
|
||||
exclude_newer: Option<ExcludeNewer>,
|
||||
options: ResolverOptions,
|
||||
fork_markers: Option<BTreeSet<MarkerTree>>,
|
||||
) -> Result<Self, LockError> {
|
||||
// Put all dependencies for each distribution in a canonical order and
|
||||
|
|
@ -338,9 +334,7 @@ impl Lock {
|
|||
version,
|
||||
fork_markers,
|
||||
requires_python,
|
||||
resolution_mode,
|
||||
prerelease_mode,
|
||||
exclude_newer,
|
||||
options,
|
||||
distributions,
|
||||
by_id,
|
||||
})
|
||||
|
|
@ -363,17 +357,17 @@ impl Lock {
|
|||
|
||||
/// Returns the resolution mode used to generate this lock.
|
||||
pub fn resolution_mode(&self) -> ResolutionMode {
|
||||
self.resolution_mode
|
||||
self.options.resolution_mode
|
||||
}
|
||||
|
||||
/// Returns the pre-release mode used to generate this lock.
|
||||
pub fn prerelease_mode(&self) -> PrereleaseMode {
|
||||
self.prerelease_mode
|
||||
self.options.prerelease_mode
|
||||
}
|
||||
|
||||
/// Returns the exclude newer setting used to generate this lock.
|
||||
pub fn exclude_newer(&self) -> Option<ExcludeNewer> {
|
||||
self.exclude_newer
|
||||
self.options.exclude_newer
|
||||
}
|
||||
|
||||
/// If this lockfile was built from a forking resolution with non-identical forks, return the
|
||||
|
|
@ -491,14 +485,25 @@ impl Lock {
|
|||
// Write the settings that were used to generate the resolution.
|
||||
// This enables us to invalidate the lockfile if the user changes
|
||||
// their settings.
|
||||
if self.resolution_mode != ResolutionMode::default() {
|
||||
doc.insert("resolution-mode", value(self.resolution_mode.to_string()));
|
||||
}
|
||||
if self.prerelease_mode != PrereleaseMode::default() {
|
||||
doc.insert("prerelease-mode", value(self.prerelease_mode.to_string()));
|
||||
}
|
||||
if let Some(exclude_newer) = self.exclude_newer {
|
||||
doc.insert("exclude-newer", value(exclude_newer.to_string()));
|
||||
if self.options != ResolverOptions::default() {
|
||||
let mut options_table = Table::new();
|
||||
|
||||
if self.options.resolution_mode != ResolutionMode::default() {
|
||||
options_table.insert(
|
||||
"resolution-mode",
|
||||
value(self.options.resolution_mode.to_string()),
|
||||
);
|
||||
}
|
||||
if self.options.prerelease_mode != PrereleaseMode::default() {
|
||||
options_table.insert(
|
||||
"prerelease-mode",
|
||||
value(self.options.prerelease_mode.to_string()),
|
||||
);
|
||||
}
|
||||
if let Some(exclude_newer) = self.options.exclude_newer {
|
||||
options_table.insert("exclude-newer", value(exclude_newer.to_string()));
|
||||
}
|
||||
doc.insert("options", Item::Table(options_table));
|
||||
}
|
||||
|
||||
// Count the number of distributions for each package name. When
|
||||
|
|
@ -603,6 +608,20 @@ impl Lock {
|
|||
}
|
||||
}
|
||||
|
||||
/// We discard the lockfile if these options match.
|
||||
#[derive(Clone, Debug, Default, serde::Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
struct ResolverOptions {
|
||||
/// The [`ResolutionMode`] used to generate this lock.
|
||||
#[serde(default)]
|
||||
resolution_mode: ResolutionMode,
|
||||
/// The [`PrereleaseMode`] used to generate this lock.
|
||||
#[serde(default)]
|
||||
prerelease_mode: PrereleaseMode,
|
||||
/// The [`ExcludeNewer`] used to generate this lock.
|
||||
exclude_newer: Option<ExcludeNewer>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, serde::Deserialize)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
struct LockWire {
|
||||
|
|
@ -613,12 +632,9 @@ struct LockWire {
|
|||
/// forks in the lockfile so we can recreate them in subsequent resolutions.
|
||||
#[serde(rename = "environment-markers")]
|
||||
fork_markers: Option<BTreeSet<MarkerTree>>,
|
||||
/// We discard the lockfile if these options match.
|
||||
#[serde(default)]
|
||||
resolution_mode: ResolutionMode,
|
||||
#[serde(default)]
|
||||
prerelease_mode: PrereleaseMode,
|
||||
#[serde(default)]
|
||||
exclude_newer: Option<ExcludeNewer>,
|
||||
options: ResolverOptions,
|
||||
#[serde(rename = "distribution", default)]
|
||||
distributions: Vec<DistributionWire>,
|
||||
}
|
||||
|
|
@ -629,9 +645,7 @@ impl From<Lock> for LockWire {
|
|||
version: lock.version,
|
||||
requires_python: lock.requires_python,
|
||||
fork_markers: lock.fork_markers,
|
||||
resolution_mode: lock.resolution_mode,
|
||||
prerelease_mode: lock.prerelease_mode,
|
||||
exclude_newer: lock.exclude_newer,
|
||||
options: lock.options,
|
||||
distributions: lock
|
||||
.distributions
|
||||
.into_iter()
|
||||
|
|
@ -671,9 +685,7 @@ impl TryFrom<LockWire> for Lock {
|
|||
wire.version,
|
||||
distributions,
|
||||
wire.requires_python,
|
||||
wire.resolution_mode,
|
||||
wire.prerelease_mode,
|
||||
wire.exclude_newer,
|
||||
wire.options,
|
||||
wire.fork_markers,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ Ok(
|
|||
version: 1,
|
||||
fork_markers: None,
|
||||
requires_python: None,
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
options: ResolverOptions {
|
||||
resolution_mode: Highest,
|
||||
prerelease_mode: IfNecessaryOrExplicit,
|
||||
exclude_newer: None,
|
||||
},
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
|
|
|
|||
|
|
@ -212,6 +212,8 @@ fn root_package_splits_transitive_too() -> Result<()> {
|
|||
"python_version < '3.12'",
|
||||
"python_version >= '3.12'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -386,6 +388,8 @@ fn root_package_splits_other_dependencies_too() -> Result<()> {
|
|||
"python_version < '3.12'",
|
||||
"python_version >= '3.12'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -531,6 +535,8 @@ fn branching_between_registry_and_direct_url() -> Result<()> {
|
|||
"python_version < '3.12'",
|
||||
"python_version >= '3.12'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -608,6 +614,8 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> {
|
|||
"python_version < '3.12'",
|
||||
"python_version >= '3.12'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -723,6 +731,8 @@ fn dont_pre_visit_url_packages() -> Result<()> {
|
|||
assert_snapshot!(fs_err::read_to_string(context.temp_dir.join("uv.lock"))?, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.11, <3.13"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ fn add_registry() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -222,6 +224,8 @@ fn add_git() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -427,6 +431,8 @@ fn add_git_raw() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -639,6 +645,8 @@ fn add_unnamed() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -732,6 +740,8 @@ fn add_remove_dev() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -848,6 +858,8 @@ fn add_remove_dev() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -933,6 +945,8 @@ fn add_remove_optional() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1050,6 +1064,8 @@ fn add_remove_optional() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1174,6 +1190,8 @@ fn add_remove_workspace() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1247,6 +1265,8 @@ fn add_remove_workspace() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1356,6 +1376,8 @@ fn add_workspace_editable() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1551,6 +1573,8 @@ fn update() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1818,6 +1842,8 @@ fn add_no_clean() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1950,6 +1976,8 @@ fn remove_registry() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2569,6 +2597,8 @@ fn add_lower_bound_optional() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2774,6 +2804,8 @@ fn add_virtual() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ fn lock_wheel_registry() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -264,6 +266,8 @@ fn lock_sdist_git() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -747,6 +751,8 @@ fn lock_wheel_url() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -857,6 +863,8 @@ fn lock_sdist_url() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -968,6 +976,8 @@ fn lock_project_extra() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1194,6 +1204,8 @@ fn lock_dependency_extra() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1392,6 +1404,8 @@ fn lock_conditional_dependency_extra() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.7"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1665,6 +1679,8 @@ fn lock_dependency_non_existent_extra() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1847,6 +1863,8 @@ fn lock_upgrade_log() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -1923,6 +1941,8 @@ fn lock_upgrade_log() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2008,6 +2028,8 @@ fn lock_upgrade_log_multi_version() -> Result<()> {
|
|||
"sys_platform == 'win32'",
|
||||
"sys_platform != 'win32'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2088,6 +2110,8 @@ fn lock_upgrade_log_multi_version() -> Result<()> {
|
|||
"sys_platform == 'win32'",
|
||||
"sys_platform != 'win32'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2158,6 +2182,8 @@ fn lock_preference() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2214,6 +2240,8 @@ fn lock_preference() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2256,6 +2284,8 @@ fn lock_preference() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2318,6 +2348,8 @@ fn lock_git_sha() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2375,6 +2407,8 @@ fn lock_git_sha() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2416,6 +2450,8 @@ fn lock_git_sha() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2515,6 +2551,8 @@ fn lock_requires_python() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.7"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2664,6 +2702,8 @@ fn lock_requires_python() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.7.9"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2803,6 +2843,8 @@ fn lock_requires_python() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -2944,6 +2986,8 @@ fn lock_requires_python_wheels() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12, <3.13"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3014,6 +3058,8 @@ fn lock_requires_python_wheels() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.11, <3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3109,6 +3155,8 @@ fn lock_requires_python_star() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.11, <3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3219,6 +3267,8 @@ fn lock_requires_python_pre() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.11"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3328,6 +3378,8 @@ fn lock_requires_python_unbounded() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = "<=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3415,6 +3467,8 @@ fn lock_python_version_marker_complement() -> Result<()> {
|
|||
"python_full_version > '3.10' and python_version < '3.10' and python_version > '3.10'",
|
||||
"python_full_version > '3.10' and python_version > '3.10'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3500,6 +3554,8 @@ fn lock_dev() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3601,6 +3657,8 @@ fn lock_conditional_unconditional() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3663,6 +3721,8 @@ fn lock_multiple_markers() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3765,6 +3825,8 @@ fn relative_and_absolute_paths() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.11, <3.13"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -3829,6 +3891,8 @@ fn lock_cycles() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4028,6 +4092,8 @@ fn lock_new_extras() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4138,6 +4204,8 @@ fn lock_new_extras() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4366,6 +4434,8 @@ fn lock_resolution_mode() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4443,6 +4513,8 @@ fn lock_resolution_mode() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
resolution-mode = "lowest-direct"
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
|
|
@ -4594,6 +4666,8 @@ fn lock_same_version_multiple_urls() -> Result<()> {
|
|||
"sys_platform == 'darwin'",
|
||||
"sys_platform != 'darwin'",
|
||||
]
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4775,6 +4849,8 @@ fn lock_exclusion() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4878,6 +4954,8 @@ fn lock_dev_transitive() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -4965,6 +5043,8 @@ fn lock_redact() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -5083,6 +5163,8 @@ fn lock_no_sources() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
@ -5137,6 +5219,8 @@ fn lock_no_sources() -> Result<()> {
|
|||
lock, @r###"
|
||||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[options]
|
||||
exclude-newer = "2024-03-25 00:00:00 UTC"
|
||||
|
||||
[[distribution]]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue