mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-08 05:45:00 +00:00
![]() <!-- Thank you for contributing to uv! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary Closes #2410 <!-- What's the purpose of the change? What does it do, and why? --> This changes the name of files in `wheels` bucket to use a hash instead of the wheel name as to not exceed maximum file length limit on various systems. This only addresses the primary concern of #2410. It still does _not_ address: - Path limit of 260 on windows: https://github.com/astral-sh/uv/issues/2410#issuecomment-2062020882 To solve this we need to opt-in to longer path limits on windows ([ref](https://github.com/astral-sh/uv/issues/2410#issuecomment-2150532658)), but I think that is a separate issue and should be a separate MR. - Exceeding filename limit while building a wheel from source distribution As per my understanding, this is out of uv's control. Name of the output wheel will be decided by build-backend used by the project. For wheels built from source distribution, pip also uses the wheel names in cache. So I have not touched `sdists` cache. I have added a `filename: WheelFileName` field in `Archive`, so we can use it while indexing instead of relying on the filename on disk. Another way to do this was to read `.dist-info/WHEEL` and `.dist-info/METADATA` and build `WheelFileName` but that seems less robust and will be slower. ## Test Plan <!-- How was it tested? --> Tested by installing `yt-dlp`, `httpie` and `sqlalchemy` and verifying that cache files in `wheels` bucket use hash. --------- Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |