pycryptodome
pycryptodome copied to clipboard
Build wheel for aarch64 as well
Thank you for your work on this project!
I see that wheels are built using cibuildwheel and github actions. Due to that, I think we can quite easily expand it to also build aarch64 wheels which is something I'd like to reduce the complexity of using this package in an arm64/aarch64 context.
There is documentation about this in https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation.
That approach is quite slow though. However, it seems that Azure is now making available real ARM machines (https://azure.microsoft.com/en-us/blog/now-in-preview-azure-virtual-machines-with-ampere-altra-armbased-processors/), so there are good chances that Github will soon allow running Actions natively on Aarch64.
I think github will be slow with this, largely because if they provide runners in arm they probably want to provide an environment out of the box with misc things installed as they do for their amd64 runners. I followed this discussion a while and isnt optimistic to see that within a year.
Related: https://github.community/t/ask-about-github-hosted-runners-arm64-platform-support/167483
While it is slow to make a build with emulation, how would you feel about getting a PR to get it done? My perception is that it does add some complexity to the automation, it can be done quite cleanly without causing a mess.
@consideRatio that's an interesting take. I will need to run some tests to get an idea of the slowdown.
I should have added that AArch64 wheels are already built and tested on a "real" ARM SoC (Raspberry PI3 with 64-bit Debian) but not with cibuildwheel. You can find them on PyPI:
https://pypi.org/project/pycryptodome/#files
Having this automated with GitHub Actions would still be very nice. The other pain point is that I can't right now build wheel for Mac M1, but only for Linux Aarch64. And Win Arm64 is coming too.
Wheels are available have been available for aarch64 for a while now. Still, they are not built using github workers.