-
-
Notifications
You must be signed in to change notification settings - Fork 419
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
chore(deps): update resolvelib to 1.1.0 #3235
Conversation
Signed-off-by: Frost Ming <me@frostming.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3235 +/- ##
==========================================
- Coverage 85.42% 85.42% -0.01%
==========================================
Files 112 112
Lines 11323 11317 -6
Branches 2459 2457 -2
==========================================
- Hits 9673 9667 -6
Misses 1125 1125
Partials 525 525
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Is there a reason you got rid of depth as a preference? I ask this because I am taking a look at pip's implementation and I have found at least one major bug. My experience looking at how uv performs compared to pip leads me to think depth is a general net positive, so I am going to try and fix the bug. But do you have a reason to think it's worth dropping altogether? |
Thanks for asking, First but not least, the depth is no longer available on resolvelib 1.1, it breaks, and hence the easy(and lazy) fix. And after all I just want to see wether it works well. |
Really? I thought this was something the provider implemented, not something resolvelib specifically offered?
Is this not the depth preference in pip: I don't get an error from it when I vendor resolvelib 1.1.0: pypa/pip#13001 and the known_depths tests don't fail, but I'll investigate a bit further on the output. I have found that it fails to calculate depth correctly when extras are involved, but that's not new. |
Also, FYI, I've been building a series of real world resolutions that are big and problamatic so I can test whether a particular change to the resolver causes problems or not:
The tooling itself is a little rough, but I'll improve it over time. |
I overlooked
Yes, let me clarify. Previously, the provider relies on the calling of The To reproduce you can try a single dependency with only one transitive dependency. |
Gotcha, this was my change, and not intentional. I'm going to investigate a bit and test adding depth back, there was a significant performance regression in this resolution and I wonder if it was because of losing depth: https://github.com/notatallshaw/Pip-Resolution-Scenarios-and-Benchmarks/blob/main/scenarios/problematic.toml#L58 If I do find out it causes issues, I think the best way to restore a provider being able to construct depth is to always call |
Okay, I spent the weekend running and adding scenarios, and the conclusions were pretty interesting:
|
Signed-off-by: Frost Ming me@frostming.com
Pull Request Checklist
news/
describing what is new.Describe what you have changed in this PR.