Python 3.15 advances the native developer experience on Windows on Arm
Python 3.15 strengthens native development on Windows on Arm with broader package support, improved tooling, and native GitHub Actions workflows for teams
By Tom Dunkle

Python 3.15 is here, marking another important milestone for developers building on Windows on Arm.
Over the past several years, native Python development on Arm has continued to mature. Developers have access to more native packages, a growing range of Arm-based cloud infrastructure, capable Windows on Arm development environments, and native CI infrastructure that makes it easier for open source maintainers to build and test their projects on Arm.
Together, these capabilities make it easier for developers leveraging Python to use the tools and workflows they already know when developing on Arm.
This progress is the result of work across the ecosystem. CPython contributors, package maintainers, Microsoft, GitHub, Arm, CoreCollective and the broader open source community have all helped remove barriers to native Python development on Arm.
Python 3.15 provides a useful milestone for assessing that progress, and for continuing the work required to make Arm a routine part of how Python projects build, test, and ship.
Working together to deliver Python on Arm
With Python 3.15, developers can run Python natively on Windows on Arm and use a growing ecosystem of native packages, development tools, and infrastructure.
Just as importantly, the infrastructure available to package maintainers has improved. Native Arm runners in GitHub Actions gives open source projects a practical way to incorporate Arm into existing build and test workflows.
For maintainers, this makes it possible to identify architecture-specific issues during development and testing rather than waiting for users to encounter them after a release.
“Making Windows on Arm64 a mainstream Python target requires maintainers to build and test on native infrastructure. Arm’s work with GitHub and the open source community has brought native Arm compute into familiar CI workflows, lowering the infrastructure barrier and making it easier for maintainers to identify architecture-specific issues and publish native packages”
- Chris Anderson, Distinguished Engineer, Windows Platform + Developer, Microsoft.
The goal is straightforward: developers shouldn’t need a separate development process for Arm. Instead, Arm can become another standard target within the tools and workflows they already use.
GitHub connects directly to native Arm workflows
GitHub Actions has become a critical part of how open source software is built and tested. Bringing native Arm compute into GitHub Actions means developers can build and test on Arm using infrastructure already integrated into their existing workflows.
Through its partnership with Arm, GitHub introduced hosted Arm64 runners for both Linux and Windows, with runner images initially built by Arm and managed through GitHub Actions.
For developers, that removed a significant piece of infrastructure overhead.
Previously, projects building for Arm through GitHub Actions often needed to maintain their own Arm hardware or use virtualization such as QEMU. With native Arm runners, developers could instead build, test, and create release assets directly on Arm compute from their existing GitHub Actions workflows.
For Windows developers, the addition of a native Windows 11 Arm environment extended that capability directly to Windows on Arm.
And making Windows Arm runners available at no cost for public repositories was particularly important for open source. It gave maintainers access to native Windows on Arm compute without requiring them to purchase, configure, and maintain dedicated infrastructure.
That lowers the barrier to including Arm in a project’s continuous integration strategy and gives maintainers an earlier opportunity to identify architecture-specific issues.
Progress happens through open source collaboration
None of this progress belongs to Arm alone. It reflects work happening throughout the Python and open source communities: CPython contributors improving the interpreter and its platform support, maintainers adding Arm builds and fixing architecture-specific issues, Microsoft supporting Windows on Arm, GitHub expanding native Arm CI infrastructure, and developers testing software and reporting issues upstream.
This collaboration is how an architecture moves from being technically supported to becoming an everyday development target.
Arm contributes to that work by helping reduce friction across the development experience. That means working upstream alongside open source communities, improving the tools and libraries developers depend on, expanding access to native development and CI infrastructure, and helping maintainers identify and resolve issues that affect how their projects run on Arm.
The aim is to make Arm fit naturally into the tools, frameworks, and workflows developers already use.
Put your Python project to the test on Arm
For years, the question around many open source projects was: Does it run on Arm? As native tooling and infrastructure mature, the question changes to: Is Arm already part of the project’s test matrix?
If you maintain a package, test it on Arm. If it works, consider adding Arm to your continuous integration and publishing native artifacts where appropriate. If it doesn't, tell us what is blocking you. File issues upstream. Share reproductions. Help identify the gaps that remain.
And if you are a Python developer rather than a package maintainer, try your existing projects on an Arm-based environment. The most useful test may be the simplest one: take the workflow you already use and see what happens.
The Python ecosystem on Arm is entering a stage where native development, testing, and continuous integration can increasingly become part of routine project workflows rather than architecture-specific exceptions. Python 3.15 is another step toward making Arm a normal part of how the Python ecosystem builds, tests, and ships software.
Ready to get started?
Run Python 3.15 on Windows on Arm
Try Python 3.15 natively on a Windows on Arm device and see how the experience fits into your existing development workflow. The Python Install Manager can select the native Arm64 runtime by default, making it straightforward to create virtual environments, install packages, and run applications without relying on x64 emulation. Test your own projects and dependency sets natively, and report any compatibility gaps you find to the relevant projects.
Get started with Python 3.15 on Windows on Arm
Explore Python optimization resources on Arm
Once your application is running natively, explore Arm’s developer resources for taking the next step. Guidance, tools, and examples on Arm Developer can help you understand how Python workloads behave on Arm, work with native libraries and compiled extensions, and identify opportunities to improve application performance.
Whether you are developing an application, maintaining a package, or working on the underlying native code, these resources provide a starting point for moving from basic compatibility to an optimized Arm-native experience.
By Tom Dunkle
Re-use is only permitted for informational and non-commercial or personal use only.
