Android and iOS promoted to Tier 3 platforms
Hi all, We just had two very long-running PRs merged to add source-level support and CI jobs for Android and iOS. Kudos to Malcolm Smith and Russell Keith-Magee for getting those PRs, and all the work needed for it in CPython, PyPI, cibuildwheel, auditwheel, Meson, meson-python, pip, uv and perhaps more tools in good shape. The NumPy PRs themselves are now pretty straightforward, mostly test suite skips because these platforms don't support subprocesses (just like Pyodide). For those who are interested in the details: https://github.com/numpy/numpy/pull/28759 https://github.com/numpy/numpy/pull/30412 I just opened a PR to document the Tier 3 promotion in NEP 57: https://github.com/numpy/numpy/pull/32032. Both platforms should support the Limited C API and Stable ABI just fine. Experimental work in NumPy is ongoing to figure out if we can support that at the source level (see https://github.com/numpy/numpy/issues/31913); for mainstream platforms it's likely not okay performance-wise to ship only Stable ABI wheels, but for newer/niche/legacy platforms, that could be a solution to keep the wheel build load manageable. So when the people supporting these platforms come asking for Tier 2 status after running in CI without problems for a couple of months, we have a potential solution that doesn't explode our wheel build matrix (the queue for these requests is long: RISC-V, Pyodide, Android, iOS, ppc64le). For right now, it's now straightforward to build numpy wheels from source (or grab them off of a regular CI job as artifact), so if anyone is interested in trying out NumPy on their phone, now is a good time to do so. Cheers, Ralf
Hi Ralf, Thanks for the kind words; and thanks to yourself for your efforts reviewing the various patches that were needed to add these two new platforms. One additional detail regarding trying NumPy on these new platforms: I've published iOS versions of these wheels (as of NumPy 2.5.0) to the BeeWare repo (https://anaconda.org/channels/beeware/packages/numpy/overview); that channel will be included automatically if you build an iOS app with Briefcase. Malcolm hasn't published the equivalent Android wheels yet, but I'm sure he will be able to once he's back from EuroPython. Yours, Russ Magee %-)
participants (2)
-
Ralf Gommers -
russell@keith-magee.com