-
Notifications
You must be signed in to change notification settings - Fork 133
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
Remove 32-bit ABIs (armeabi-v7a and x86) #709
Comments
Google recently released the "Pixel 7, the first 64-bit-only Android phone". However, at the end of the article they say "Please continue supporting 32-bit ABIs", because they "will continue to be important for Android Go", which is aimed at low-end devices. |
64-bit support has now reached 92% of devices with known ABIs (81/88): @freakboy3742: So my proposal is that we omit Android 32-bit support when we add Python 3.12 and later, but maintain it for now in the existing versions (3.11 and earlier). |
Agreed that this approach seems reasonable. By the time 3.12 has any sort of serious adoption, 32 bit platforms will be even more marginal; given that we're about to start upstreaming changes, making a clean break sounds reasonable. |
Interesting – both of those CPUs are 64-bit capable, but I guess they decided to use a 32-bit OS to save RAM. We're not removing 32-bit ABIs entirely, we just won't be including them in Python 3.12 or newer. But we'll keep 32-bit support in Python 3.11 and earlier for now, and probably right up until Python 3.11 is retired in 2027. Hopefully Android will be 64-bit only by then. |
That is great! Although it would be nice to have Python 3.12 be the last 32 bit version since it includes some pretty significant performance improvements: https://docs.python.org/3.12/whatsnew/3.12.html#optimizations |
Implemented as discussed. |
When you start building pip packages for Python 3.11 and 3.12 will you compile Python 3.11 packages for 32 bit ABIs? |
Yes, because those ABIs wouldn't be much use otherwise. |
"Much use"? What do you mean by that? The previous 32 bit packages built for 3.8, 3.9 and 3.10 will still be kept I am guessing so I don't get your point. So to clarify, when we start building pip packages for 3.11 and 3.12, all 3.11 packages will also be built for 32 bit ABIs while 3.12 packages will only be built for 64 bit. Is that correct? |
Yes, that's correct. I meant to say "Python 3.11 wouldn't be much use on those ABIs". Sorry for the confusion. |
Here are the ABI statistics for Electron Cash, which was first released in 2018.
To find this in the Google Play console for your own app:
This includes devices which have the app installed and have been turned on within the last 30 days.
Obviously there's a glitch with the "unreported" category, but if we exclude that category, 64-bit support over the last 12 months has risen from 82% to 86%. So we shouldn't remove 32-bit support yet, but we can probably do it in 1 or 2 years.
The text was updated successfully, but these errors were encountered: