-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Description
Problem Description
The current PyPI releases are missing ARM64 wheel packages for macOS, specifically macosx_11_0_arm64.whl
files. This affects users with Apple Silicon Macs who cannot install optimized native packages.
Current State
- Only x86_64 wheels are being built and published to PyPI
- ARM64 Mac users have to fall back to source compilation or universal wheels
- This results in suboptimal performance on Apple Silicon hardware
Missing Package Example
Currently available (x86_64 only):
opencc-1.1.9-cp312-cp312-macosx_10_9_x86_64.whl
Missing (ARM64):
opencc-1.1.9-cp312-cp312-macosx_11_0_arm64.whl
Root Causes
- CI Matrix Missing macOS 14: GitHub Actions workflows don't include
macos-14
runners (ARM64) - Conda ToS Issues: PyPI release scripts fail due to unaccepted conda Terms of Service
- Architecture Hardcoding: macOS release script hardcodes x86_64 Miniconda, incompatible with ARM64 runners
Impact on Users
- ARM64 Mac users experience slower installation and runtime performance
- Increased build times for users who need to compile from source
- Inconsistent user experience across different Mac architectures
Error Examples
When trying to build on ARM64 runners:
CondaToSNonInteractiveError: Terms of Service have not been accepted for the following channels. Please accept or remove them before proceeding:
• https://repo.anaconda.com/pkgs/main
• https://repo.anaconda.com/pkgs/r
Expected Behavior
- PyPI releases should include both x86_64 and ARM64 wheels for macOS
- Users on Apple Silicon Macs should get native ARM64 packages automatically
- CI should test and build on both Intel and ARM64 macOS runners
Proposed Solution
- Add
macos-14
(ARM64) to GitHub Actions matrix in all workflows - Fix conda Terms of Service acceptance in PyPI release scripts
- Implement architecture detection in macOS PyPI build script
- Ensure ARM64 wheels are built and uploaded to PyPI
References
Environment
- Missing Wheels:
*-macosx_11_0_arm64.whl
for all Python versions - Affected Users: Apple Silicon Mac users (M1, M2, M3 chips)
- Current Workaround: Source compilation or universal wheels
Metadata
Metadata
Assignees
Labels
No labels