notatallshaw commented on PR #38753: URL: https://github.com/apache/airflow/pull/38753#issuecomment-2039907669
I wasn't able to quickly reproduce this, but some flags that help with reproducing these issues for uv in the future are `--dry-run` to not pollute your environment, `--reinstall` to take versions from the index even if you have installed versions that satisfy your requirements, and `--exclude-newer` to fix a point in time against the the index (e.g. `--exclude-newer 2024-04-04T17:00:00Z`). In general the behavior of uv's resolution algorithm (powered by pugrub-rs) has a tendency to want to exchaust all possible versions of a particular package more likely than pip's resolution algorithm (powered by resolvelib), though pip does sometimes produce the same behavior under certain circumstances. Part of the problem is that no one designing resolution algorithms is thinking of the idea that the source data is messy, and visiting a node on the resolution graph could be significantly more expensive (including causing resoluition to fail). For this issue of a bad specifier, pip currently supports all a very wide range of specifiers and versions due to using legacy specifier and version from an older version of packaging, however it is going to drop this specifiers and versions likely in the next version. Pip is going to become less lenient than uv, and therefore is going to skip over bad specifiers and versions, uv should do the same (and in fact I think uv should eventually drop supporting any kind of bad versions of specifiers). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
