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]

Reply via email to