Skip to content

Update macOS "What to provide" guidance #2377

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

Open
bdarnell opened this issue Apr 30, 2025 · 2 comments
Open

Update macOS "What to provide" guidance #2377

bdarnell opened this issue Apr 30, 2025 · 2 comments

Comments

@bdarnell
Copy link
Contributor

Description

The FAQ says "Generally speaking, because Pip 20.3 is required for the universal2 wheel, most packages should provide both x86_64 and one of universal2/arm64 wheels. When Pip 20.3+ is common on macOS, then it might be possible to ship only the universal2 wheel."

Is Pip 20.3+ now common enough on macOS? I think the answer is yes, since a few paragraphs above it says that Pip 20.3+ is required to install an x86_64 binary wheel on Big Sur and above, and Big Sur was released in 2020. The only time you'd be able to install an x86_64 binary wheel but unable to install a universal2 one would be if you were running a 5+ year old operating system on an intel mac (and have not updated pip in that time).

I think this recommendation can be updated to specify that the two reasonable options are either universal2 alone, or x86_64 and arm64, and remove references to the combination of x86_64 and universal2.

Build log

No response

CI config

No response

@henryiii
Copy link
Contributor

That's really not accurate anyway, you can actually just tag a wheel instead of making multiple wheels. With scikit-build-core, that's just:

[tool.scikit-build]
wheel.expand-macos-universal-tags = true

It's still a choice though if you want dual wheels or a universal wheel; especially with native runners now, I think quite a few packages go with dual wheels.

You can merge a wheel into a universal wheel, which someone should research and put a guide on probably.

@bdarnell
Copy link
Contributor Author

bdarnell commented May 1, 2025

especially with native runners now, I think quite a few packages go with dual wheels.

Dual wheels are appealing because that's what we're doing on linux and windows. But the native runner issue will turn the other way one day as the intel macOS runners are decommissioned (I haven't seen any public timelines from github but patterns from older macOS images suggest macos-13 could be gone in less than a year, and they haven't made newer images for intel hardware).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants