Who is this for?

This is an introductory topic for developers who are interested in building Python applications on Arm.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Understand the platform-dependency of Python packages
  • Leverage native Arm64 for Python applications

Prerequisites

Before starting, you will need the following:

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll use platform-specific Python packages on Windows on Arm to build an Arm64-native application with NumPy. First, you’ll create a sample.py script that generates noisy sine waves, computes fast Fourier transforms, and records timings for multiple input sizes. Then, you’ll run the script with Arm64 tooling and use the results to understand how package choice and input size affect performance.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
What result should I expect when I run the sample application?
The program computes FFTs of synthesized sine waves with added noise for several input lengths and prints execution times. Use the printed timings to compare how runtime changes as the input size varies on the same device.
Where can I find the complete sample code if my script differs?
A complete version of the code is available on GitHub. Compare your sample.py with that version if you see unexpected results.
What should I check if import numpy fails when running sample.py?
Confirm that you installed NumPy during setup. Also verify that you’re using the Windows on Arm environment and Arm64 tooling noted in the setup.
Which parts of the sample can I change to explore performance differences?
Modify the set of input lengths, the number of iterations, or the signal parameters used to synthesize the sine waves. Rerun the script and compare the new execution times.
How do I compare the Arm64 and x64 Python runs?
Run py -3.12-64 sample.py for x64 emulation, then run py -3.12-arm64 sample.py for Arm64. Run both commands from the directory containing sample.py and compare the execution times for the same signal lengths.
Next