-
Notifications
You must be signed in to change notification settings - Fork 762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uv pip compile
error message not readable.
#1718
Comments
What version of |
uv 0.1.5 (maybe for lowest resolution it may be nice to provide barier date to not get packages older than a given date, with exception for packages that do not have newer release). |
That's the fun thing about sdists, at least for now, you can't tell what they're compatible with until you try to build them! |
Yeah I don't think there's any way for us to know that unfortunately. |
Maybe you could use python classifier provided by package? For example for setuptools 0.7.2 provides information that is compatible up to python 3.3 so maybe should not be checked for python 3.8? |
Python classifiers are not very useful beyond as documentation metadata the author put of we expect it to support this version. Except for many packages (especially most pure python ones), they usually support newer python versions just fine. And many packages don't have classifiers in first place. I think today classifiers do not effect resolution at all for other python resolvers, and heuristics here would likely throw out a lot of valid solutions. |
I do not know any python resolver that supports |
We should exempt unconstrained build dependencies from using the lowest version, otherwise we'll break everyone using a plain |
@konstin - this must be a direct dependency, right? We don’t propagate resolution-lowest to build dependencies. |
In which case, it’s kind of… correct, to fail here? Since the markers are incorrect. The package doesn’t work with arbitrary setuptools versions. |
I assumed reading this thread that error was indeed correct, as testing the lowest resolution will mostly be revealing failing builds. I thought the ask here from OP is that when a package build fails, to show the dependency chain of how uv got to that package, so the appropriate requirements can be added. In general though I think users are going to find task of creating requirements that work on lowest resolution very tough, without specifying every transitive dependency. The ecosystem has never had good tooling around this, so very few maintainers add lower bound requirements unless they have a specific reason. It depends on the motivation of the user, but it may make sense to build a lower bounds constraints file rather than an extensive requirements file. |
uv pip compile
erro message not readable.uv pip compile
error message not readable.
Indeed! I think we should warn when we encounter dependencies with now lower limit and |
Warn when there are missing bounds on transitive dependencies with `--resolution lowest`. Implemented as a lazy resolution graph check. Dev deps are odd because they are missing the edge from the root that extras have, but this is more complex because we can put dev dep information in a `Requirement` so i special cased them here. Closes #2797 Should help with #1718
Warn when there are missing bounds on transitive dependencies with `--resolution lowest`. Implemented as a lazy resolution graph check. Dev deps are odd because they are missing the edge from the root that extras have, but this is more complex because we can put dev dep information in a `Requirement` so i special cased them here. Closes #2797 Should help with #1718
Warn when there are missing bounds on transitive dependencies with `--resolution lowest`. Implemented as a lazy resolution graph check. Dev deps are odd because they are missing the edge from the root that extras have (they are currently orphans in the resolution graph), but this is more complex to solve properly because we can put dev dep information in a `Requirement` so i special cased them here. Closes #2797 Should help with #1718 --------- Co-authored-by: Ibraheem Ahmed <[email protected]>
Warn when there are missing bounds on transitive dependencies with `--resolution lowest`. Implemented as a lazy resolution graph check. Dev deps are odd because they are missing the edge from the root that extras have (they are currently orphans in the resolution graph), but this is more complex to solve properly because we can put dev dep information in a `Requirement` so i special cased them here. Closes #2797 Should help with #1718 --------- Co-authored-by: Ibraheem Ahmed <[email protected]>
Closing as we've added more warnings here. |
I try to play with
--resolution=lowest
for minimum requirements testing.However, it fails with following traceback. As the same command passes with
resolution=lowest-direct
it looks like there is a problem with some indirect dependecy dependecies not pinning setuptools to proer version.However traceback do not consin any information about dependecy path to problematic package.
It will be nice to add such information. It will be also nice to not try using python2 only packages.
The pyproject toml used as input is available here:
napari/napari#6673
The text was updated successfully, but these errors were encountered: