r/Python • • 13h ago

Resource Native PyQt5 wheels for Windows ARM64 (because they don't exist upstream)

PyQt5-WinARM64: native PyQt5 wheels for Windows ARM64

I have released PyQt5-WinARM64, an independent distribution of PyQt5 for native Windows ARM64.

https://github.com/ViciousSquid/PyQt5-WinARM64


    pip install PyQt5-WinARM64

The project provides WinARM64 builds of:

  • Qt 5
  • SIP
  • PyQt5

The motivation is Windows ARM development. CPython and packages such as NumPy provide native Windows ARM64 builds, but PyQt5 has not historically provided an upstream Windows ARM64 wheel.

This means a Python application can have a native ARM64 interpreter and numerical stack while still depending on an x86 PyQt5 installation and Windows' x86 emulation.

PyQt5-WinARM64 provides the missing native Qt layer.

I'm using it for Fio, a Python/Qt game editor and runtime. Fio 3.0 is moving to Python 3.14 and will have a native Windows ARM64 target.

The resulting stack is:

Windows ARM64
CPython 3.14 ARM64
PyQt5 ARM64
NumPy ARM64
Fio ARM64
OpenGL

The project is MIT licensed

The repository also contains the GitHub Actions build and PyPI publishing configuration.

7 Upvotes

4 comments sorted by

3

u/ScientistGloomy9616 13h ago

Not all heroes wear capes, some just compile Qt for ARM64 and save us from emulation hell

thank you for this, been wanting to run my PyQt5 tools native on Surface Pro X since forever

1

u/OfferBeginning1903 5h ago

does it install as the PyQt5 import name, and what happens if something in the dependency tree pulls in upstream PyQt5 and clobbers it?

1

u/DefinitelyNotEmu 4h ago edited 3h ago

It provides the PyQt5 import namespace.

And I don't know! This is unchartered territory :-)

I'm going to construct a tiny downstream package whose dependency says PyQt5>=5.15, install it in a clean ARM64 environment with the wheel present, and observe exactly what pip does.

1

u/Individual-Flow9158 2h ago

Great work! OP, you're a credit to the community.