Omit PEP 751 version for source trees (#13030)

## Summary

This is a "MUST NOT" in the spec.
This commit is contained in:
Charlie Marsh 2025-04-21 18:58:39 -04:00 committed by GitHub
parent 6130524585
commit 12bfbed0ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 14 deletions

View file

@ -289,10 +289,15 @@ impl<'lock> PylockToml {
continue;
}
// "The version MUST NOT be included when it cannot be guaranteed to be consistent with the code used (i.e. when a source tree is used)."
let version = version
.as_ref()
.filter(|_| !matches!(&**dist, Dist::Source(SourceDist::Directory(..))));
// Create a `pylock.toml`-style package.
let mut package = PylockTomlPackage {
name: dist.name().clone(),
version: version.clone(),
version: version.cloned(),
marker: node.marker.pep508(),
requires_python: None,
dependencies: vec![],
@ -737,9 +742,21 @@ impl<'lock> PylockToml {
.index(target.install_path())?
.map(IndexUrl::into_url);
// Extract the `packages.name` field.
let name = package.id.name.clone();
// Extract the `packages.version` field.
// "The version MUST NOT be included when it cannot be guaranteed to be consistent with the code used (i.e. when a source tree is used)."
let version = package
.id
.version
.as_ref()
.filter(|_| directory.is_none())
.cloned();
let package = PylockTomlPackage {
name: package.id.name.clone(),
version: package.id.version.clone(),
name,
version,
marker: node.marker,
requires_python: None,
dependencies: vec![],

View file

@ -3281,7 +3281,6 @@ fn pep_751_dependency() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3343,7 +3342,6 @@ fn pep_751_export_no_header() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3454,7 +3452,6 @@ fn pep_751_dependency_extra() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3515,7 +3512,6 @@ fn pep_751_project_extra() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3555,7 +3551,6 @@ fn pep_751_project_extra() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3595,7 +3590,6 @@ fn pep_751_project_extra() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3642,7 +3636,6 @@ fn pep_751_project_extra() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3689,7 +3682,6 @@ fn pep_751_project_extra() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -3995,7 +3987,6 @@ fn pep_751_infer_output_format() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]
@ -4035,7 +4026,6 @@ fn pep_751_infer_output_format() -> Result<()> {
[[packages]]
name = "project"
version = "0.1.0"
directory = { path = ".", editable = true }
[[packages]]

View file

@ -16420,7 +16420,6 @@ fn pep_751_compile_directory() -> Result<()> {
[[packages]]
name = "foo"
version = "1.0.0"
directory = { path = "foo" }
[[packages]]