Match `--bounds` formatting for `uv_build` bounds in `uv init` (#14731)

Closes #14724 

https://chatgpt.com/codex/tasks/task_e_687a53ba646c8331baa4140c5b2bec70

---------

Co-authored-by: konstin <konstin@mailbox.org>
This commit is contained in:
Zanie Blue 2025-07-21 04:48:38 -05:00 committed by GitHub
parent a049ba78fc
commit 7c2819d1f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 22 deletions

View File

@ -680,7 +680,7 @@ mod tests {
license = { file = "license.txt" } license = { file = "license.txt" }
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}, },
@ -748,7 +748,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}, },
@ -812,7 +812,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
[tool.uv.build-backend] [tool.uv.build-backend]
@ -854,7 +854,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
[tool.uv.build-backend] [tool.uv.build-backend]
@ -879,7 +879,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
[tool.uv.build-backend] [tool.uv.build-backend]
@ -928,7 +928,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
[tool.uv.build-backend] [tool.uv.build-backend]
@ -959,7 +959,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1010,7 +1010,7 @@ mod tests {
version = "1.0.0" version = "1.0.0"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
[tool.uv.build-backend] [tool.uv.build-backend]
@ -1036,7 +1036,7 @@ mod tests {
module-name = "simple_namespace.part" module-name = "simple_namespace.part"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1104,7 +1104,7 @@ mod tests {
namespace = true namespace = true
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1127,7 +1127,7 @@ mod tests {
namespace = true namespace = true
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1188,7 +1188,7 @@ mod tests {
namespace = true namespace = true
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1211,7 +1211,7 @@ mod tests {
module-name = "cloud-stubs.db.schema" module-name = "cloud-stubs.db.schema"
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1261,7 +1261,7 @@ mod tests {
module-name = ["foo", "simple_namespace.part_a", "simple_namespace.part_b"] module-name = ["foo", "simple_namespace.part_a", "simple_namespace.part_b"]
[build-system] [build-system]
requires = ["uv_build>=0.5.15,<0.6"] requires = ["uv_build>=0.5.15,<0.6.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };

View File

@ -171,7 +171,7 @@ impl PyProjectToml {
/// ///
/// ```toml /// ```toml
/// [build-system] /// [build-system]
/// requires = ["uv_build>=0.4.15,<0.5"] /// requires = ["uv_build>=0.4.15,<0.5.0"]
/// build-backend = "uv_build" /// build-backend = "uv_build"
/// ``` /// ```
pub fn check_build_system(&self, uv_version: &str) -> Vec<String> { pub fn check_build_system(&self, uv_version: &str) -> Vec<String> {
@ -826,7 +826,7 @@ mod tests {
{payload} {payload}
[build-system] [build-system]
requires = ["uv_build>=0.4.15,<0.5"] requires = ["uv_build>=0.4.15,<0.5.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
} }
@ -909,7 +909,7 @@ mod tests {
foo-bar = "foo:bar" foo-bar = "foo:bar"
[build-system] [build-system]
requires = ["uv_build>=0.4.15,<0.5"] requires = ["uv_build>=0.4.15,<0.5.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1095,7 +1095,7 @@ mod tests {
foo-bar = "foo:bar" foo-bar = "foo:bar"
[build-system] [build-system]
requires = ["uv_build>=0.4.15,<0.5"] requires = ["uv_build>=0.4.15,<0.5.0"]
build-backend = "uv_build" build-backend = "uv_build"
"# "#
}; };
@ -1194,7 +1194,7 @@ mod tests {
version = "0.1.0" version = "0.1.0"
[build-system] [build-system]
requires = ["uv_build>=0.4.15,<0.5", "wheel"] requires = ["uv_build>=0.4.15,<0.5.0", "wheel"]
build-backend = "uv_build" build-backend = "uv_build"
"#}; "#};
let pyproject_toml = PyProjectToml::parse(contents).unwrap(); let pyproject_toml = PyProjectToml::parse(contents).unwrap();
@ -1230,7 +1230,7 @@ mod tests {
version = "0.1.0" version = "0.1.0"
[build-system] [build-system]
requires = ["uv_build>=0.4.15,<0.5"] requires = ["uv_build>=0.4.15,<0.5.0"]
build-backend = "setuptools" build-backend = "setuptools"
"#}; "#};
let pyproject_toml = PyProjectToml::parse(contents).unwrap(); let pyproject_toml = PyProjectToml::parse(contents).unwrap();

View File

@ -1,6 +1,7 @@
use anyhow::{Context, Result, anyhow}; use anyhow::{Context, Result, anyhow};
use owo_colors::OwoColorize; use owo_colors::OwoColorize;
use std::fmt::Write; use std::fmt::Write;
use std::iter;
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use std::process::{Command, Stdio}; use std::process::{Command, Stdio};
use std::str::FromStr; use std::str::FromStr;
@ -944,7 +945,13 @@ fn pyproject_build_system(package: &PackageName, build_backend: ProjectBuildBack
min_version.release()[0] == 0, min_version.release()[0] == 0,
"migrate to major version bumps" "migrate to major version bumps"
); );
let max_version = Version::new([0, min_version.release()[1] + 1]); let max_version = Version::new(
[0, min_version.release()[1] + 1]
.into_iter()
// Add trailing zeroes to match the version length, to use the same style
// as `--bounds`.
.chain(iter::repeat_n(0, min_version.release().len() - 2)),
);
indoc::formatdoc! {r#" indoc::formatdoc! {r#"
[build-system] [build-system]
requires = ["uv_build>={min_version},<{max_version}"] requires = ["uv_build>={min_version},<{max_version}"]

View File

@ -24,5 +24,5 @@ data = "assets"
headers = "header" headers = "header"
[build-system] [build-system]
requires = ["uv_build>=0.8,<0.9"] requires = ["uv_build>=0.8.0,<0.9.0"]
build-backend = "uv_build" build-backend = "uv_build"