Skip to content

Conversation

mnonnenmacher
Copy link

@mnonnenmacher mnonnenmacher commented Oct 2, 2025

Fix two issues with dependency resolution:

  • Add the missing platform "manylinux_2_31_x86_64".
  • Fix an edge case which happens if a transitive dependency does not have a version constraint and the only available version is a prerelease.

See the commit messages for details.

@mnonnenmacher mnonnenmacher force-pushed the fix-resolution-issues branch 2 times, most recently from 5a82762 to 5767cf6 Compare October 2, 2025 18:17
Signed-off-by: Martin Nonnenmacher <[email protected]>
Use the list of linux platforms as defined in utils_pypi for testing,
instead of redefining the list in the test. This ensures that newly
added platforms are tested and fixes the problem that the list in the
test was already outdated.

Signed-off-by: Martin Nonnenmacher <[email protected]>
For example, the platform is used by open3d 19.0.0 [1].

[1]: https://pypi.org/project/open3d/0.19.0/#files

Signed-off-by: Martin Nonnenmacher <[email protected]>
By default, the check if an empty specifier contains a prerelease
version returns `false`. This made the `is_valid_version()` check for
prerelease versions fail, when there is also a requirement with a
non-empty specifier. In this case, the previous logic detected a
conflict of the prerelease version and the empty specifier.

Fix this by explicitly allowing prerelease versions when checking if a
specifier contains a version.

Note that the function that collects candidates for a dependency still
ignores prerelease versions if any release versions are available, as
required by the specs [1].

[1]: https://packaging.python.org/en/latest/specifications/version-specifiers/#handling-of-pre-releases

Signed-off-by: Martin Nonnenmacher <[email protected]>
@mnonnenmacher mnonnenmacher force-pushed the fix-resolution-issues branch from 5767cf6 to 418962d Compare October 2, 2025 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant