-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Another magic pip resolver hint #53329
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
Another magic pip resolver hint #53329
Conversation
|
cool @notatallshaw thanks :) |
|
let me close and reopen PR with full tests |
|
Triggered with full tests. |
|
Oh. Cool. Let's just merge it - currently the "push" step will not happen even if we do full tests - it is only run in canary builds and that requires maintainer to run PR from Airflow repo. |
|
Thanks a lot @notatallshaw !. I am triggering canary build now. |
|
Thanks a lot @notatallshaw ! |
|
Nice the magic worked 😄 |
|
thanks @notatallshaw ! |
See #53306 and CC: @potiuk
The issue is many versions (e.g. 1.33.0) of
snowflake-snowpark-pythonrequireprotobuf<6,>=3.20but this conflicts largely withgrpcio-statuswhere many versions (e.g. 1.73.1) requireprotobuf<7.0.0,>=6.30.0.This takes advantage of the fact that pip uses an upper bound as an indicator that that requirement must be resolved first, without adding any actual restrictions on upper bounds: https://pip.pypa.io/en/stable/topics/more-dependency-resolution/#the-resolver-algorithm
Unfortunately this particular one trips up even the optimistic back tracker optimization coming in pip 25.2, so either I need to figure out some more optimizations for pip's resolver to handle this, or pip needs a whole new resolver.