New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

Security News

PyPI Now Supports iOS and Android Wheels for Mobile Python Development

PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.

PyPI Now Supports iOS and Android Wheels for Mobile Python Development

Sarah Gooding

February 12, 2025


In a landmark development for the Python community, the Python Packaging Index (PyPI) has officially begun accepting and distributing pre-compiled binary packages, known as "wheels," for both iOS and Android platforms. This advancement significantly streamlines the deployment process for developers targeting mobile environments, enhancing Python's versatility across diverse operating systems.

This milestone originated in the recent acceptance of two pivotal Python Enhancement Proposals (PEPs):

PEP 730: Adding iOS as a Supported Platform

Authored by Russell Keith-Magee, PEP 730 proposes integrating iOS into CPython's supported platforms, targeting Tier 3 support in Python 3.13. The PEP outlines necessary technical modifications, including platform identification adjustments, subprocess support limitations due to iOS's lack of multiprocess capabilities, and dynamic module loading adaptations. It also discusses the importance of extending Python's reach to widely adopted mobile platforms.

PEP 738: Adding Android as a Supported Platform

Authored by Malcolm Smith, PEP 738 aims to incorporate Android into CPython's supported platforms, also targeting Tier 3 support in Python 3.13. The proposal addresses Android's POSIX compliance, differences from standard Linux distributions due to its use of the Bionic C library, and the need for platform-specific adaptations in CPython. It emphasizes Android's significant market share and the necessity for Python to operate on prevalent mobile operating systems.

“Over the last 15 years, mobile platforms have become increasingly important parts of the computing landscape,” Smith said in PEP 738. “Android is the operating system that runs on about 70% of these devices. However, there is no official support for Android in CPython.

“The ChaquopyBeeWare and Kivy projects have all supported Android for many years, and they have all been used to generate applications that have been accepted for publication in the Google Play Store. This demonstrates the technical feasibility of Android support.

“It is important for the future of Python as a language that it is able to be used on any platform that has widespread adoption. Otherwise, potential users will choose other languages that do provide support for these platforms. This is especially true in education, where the next generation of developers is in many cases already spending more time using mobile platforms than desktop ones.”

cibuildwheel Updates Are in Progress to Simplify iOS and Android Wheel Creation#

The integration of iOS and Android wheels into PyPI is a direct outcome of these PEPs, reflecting the Python community's commitment to embracing mobile platforms. The BeeWare Project, a key contributor to this initiative, announced:

"Another big milestone for Python support for iOS and Android has been reached - PyPI will now accept (and return) iOS and Android wheels! We're still working on updates to cibuildwheel to make it easy to produce these wheels... but we're getting close."

The mention of "cibuildwheel" refers to a tool that simplifies the process of building wheels for multiple platforms. These ongoing efforts to update this tool aim to facilitate the creation of iOS and Android wheels, making the development process easier for Python developers targeting mobile platforms.

This development is expected to have a profound impact on the Python ecosystem, particularly for developers focused on mobile applications. By enabling the distribution of pre-compiled binaries for iOS and Android, PyPI reduces the barriers to entry for mobile development, allowing developers to focus more on innovation and less on configuration and setup.

As the Python community continues to refine tools like cibuildwheel, the process of producing and distributing mobile-compatible packages is anticipated to become even more accessible.

For more details on the platform compatibility tags, packaging specifications, and other technical aspects of iOS and Android support, see PEP 730 and PEP 738.

Subscribe to our newsletter

Get notified when we publish new security blog posts!

Try it now

Ready to block malicious and vulnerable dependencies?

Install GitHub AppBook a demo

Related posts

Back to all posts
SocketSocket SOC 2 Logo

Product

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc