Platform resolution problems for the MacOS Universal wheel #562

Closed
opened 2026-01-29 20:45:53 +00:00 by claunia · 5 comments
Owner

Originally created by @GrinningSoulGH on GitHub (Nov 10, 2025).

UV doesn't see Universal wheels as ARM64. I know it's UV's problem, but still humbly ask you to adapt your universal wheel name to satisfy their platform resolution algo. Currently, there is a brotli-1.2.0-cp312-cp312-macosx_10_13_universal2.whl wheel on PyPI, the format that would work is brotli-1.2.0-cp312-cp312-macosx_10_13_x86_64.macosx_11_0_arm64.macosx_10_13_universal2.whl.

Originally created by @GrinningSoulGH on GitHub (Nov 10, 2025). UV doesn't see Universal wheels as ARM64. I know it's UV's problem, but still humbly ask you to adapt your universal wheel name to satisfy their platform resolution algo. Currently, there is a `brotli-1.2.0-cp312-cp312-macosx_10_13_universal2.whl` wheel on PyPI, the format that would work is `brotli-1.2.0-cp312-cp312-macosx_10_13_x86_64.macosx_11_0_arm64.macosx_10_13_universal2.whl`.
Author
Owner

@eustas commented on GitHub (Nov 20, 2025):

@anthrotype could we do that (with 1.2.1 release)?

@eustas commented on GitHub (Nov 20, 2025): @anthrotype could we do that (with 1.2.1 release)?
Author
Owner

@anthrotype commented on GitHub (Nov 20, 2025):

yes we can certainly fix in the 1.2.1 release. I'm surprised to hear this though.. Given the popularity of both uv and cibuildwheel (which we use to build the wheels themselves) I'd have expected this to just work, or cibuildwheel to take care of this automatically.

@anthrotype commented on GitHub (Nov 20, 2025): yes we can certainly fix in the 1.2.1 release. I'm surprised to hear this though.. Given the popularity of both uv and cibuildwheel (which we use to build the wheels themselves) I'd have expected this to just work, or cibuildwheel to take care of this automatically.
Author
Owner

@anthrotype commented on GitHub (Nov 20, 2025):

actually, I just tried installing brotli in a python3.12 virtual environment created by uv... and it works:

clupo@clupo-macbookpro3 /tmp
$ uv pip install --only-binary=brotli brotli
Using Python 3.12.11 environment at: venv312
Resolved 1 package in 99ms
Prepared 1 package in 45ms
Installed 1 package in 2ms
 + brotli==1.2.0
(venv312) clupo@clupo-macbookpro3 /tmp
$ uv pip show brotli
Using Python 3.12.11 environment at: venv312
Name: brotli
Version: 1.2.0
Location: /private/tmp/venv312/lib/python3.12/site-packages
Requires:
Required-by:
(venv312) clupo@clupo-macbookpro3 /tmp
$ python -c "import brotli; print(brotli.__version__)"
1.2.0
@anthrotype commented on GitHub (Nov 20, 2025): actually, I just tried installing brotli in a python3.12 virtual environment created by `uv`... and it works: ```sh clupo@clupo-macbookpro3 /tmp $ uv pip install --only-binary=brotli brotli Using Python 3.12.11 environment at: venv312 Resolved 1 package in 99ms Prepared 1 package in 45ms Installed 1 package in 2ms + brotli==1.2.0 (venv312) clupo@clupo-macbookpro3 /tmp $ uv pip show brotli Using Python 3.12.11 environment at: venv312 Name: brotli Version: 1.2.0 Location: /private/tmp/venv312/lib/python3.12/site-packages Requires: Required-by: (venv312) clupo@clupo-macbookpro3 /tmp $ python -c "import brotli; print(brotli.__version__)" 1.2.0 ```
Author
Owner

@anthrotype commented on GitHub (Nov 20, 2025):

I did that on a macbook pro M4 so this is arm64

@anthrotype commented on GitHub (Nov 20, 2025): I did that on a macbook pro M4 so this is `arm64`
Author
Owner

@GrinningSoulGH commented on GitHub (Nov 20, 2025):

Hello, thanks for the feedback! The way to reproduce it used to be uv pip install --only-binary=brotli --python-platform=macos brotli, but it doesn't reproduce for me atm. Most likely a problem on my part, thanks for checking! I took the format for the universal wheel name from orjson's wheels, maybe there is still some reasoning behind it.

@GrinningSoulGH commented on GitHub (Nov 20, 2025): Hello, thanks for the feedback! The way to reproduce it used to be `uv pip install --only-binary=brotli --python-platform=macos brotli`, but it doesn't reproduce for me atm. Most likely a problem on my part, thanks for checking! I took the format for the universal wheel name from orjson's wheels, maybe there is still some reasoning behind it.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/brotli#562