Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Python Package

Status

Dependencies

CI/CD

Commit/PR

Notes

setuptools

Win/ARM64 support

Released in 57.4.0

https://github.com/pypa/setuptools/commit/f15f814e9e82c2343280e8f62360f12b3023eb5f

Windows Launcher support

Released in in 58.2.0

https://github.com/pypa/setuptools/pull/2758/

https://github.com/pypa/setuptools/issues/2757

pip

Released 21.3

  • distlib

distlib

simple_launcher

Released in 0.3.3

https://bitbucket.org/pypa/distlib/pull-requests/5?t=1

https://bitbucket.org/vinay.sajip/simple_launcher/pull-requests/1

numpy

Released in 1.21.2

  • Fortran compiler

  • Setuptools

  • Azure pipelines for release (Linux only)

  • Github actions for CD

https://github.com/numpy/numpy/pull/19513

Generic issue for numpy, conflicting with coming Pythong 3.10: https://linaro.atlassian.net/wiki/spaces/WOAR/pages/28593914166/setuptools-distutils#2.-Important-issues

cffi

Released in 1.15.0

https://foss.heptapod.net/pypy/cffi/-/merge_requests/107

scipy

Investigation Done

  • Numpy

  • OpenBLAS

  • Fortran compiler

Blocked due to fortran compiler avaiability

sci-kit learn

Investigation Done

  • Numpy

  • Scipy

  • Fortran

https://github.com/scikit-learn/scikit-learn/pull/20997

flang dlls should be feed into this package, which is a manual step now

Expand
titleTest Results

unit-tests mostly passed
2 failed, 21039 passed, 1097 skipped, 61 xfailed, 38 xpassed, 4005 warnings

pandas

No porting required.

numpy

-

if numpy is installed manually for win-arm64, then with “--no-build-isolation” flag, the installation will be successful

lxml

Released

  • zlib

  • iconv

  • libxml2

  • libxslt

Expand
titlePull Requests

https://github.com/winlibs/libiconv/pull/11

https://github.com/mhils/libxml2-win-binaries/pull/21

https://github.com/lxml/lxml/pull/326

https://github.com/lxml/libxml2-win-binaries/pull/1/

pyarrow

Release v6.0.0

arrow

https://github.com/apache/arrow/pull/11383

greenlet

Merged.

https://github.com/python-greenlet/greenlet/pull/271

Pillow

Released in 9.1.0

  • lcms2

  • freetype

  • zlib

  • libwebp

  • libjpeg

  • libpng

  • libimagequant

  • libtiff

  • openjpg

  • fribidi

https://github.com/python-pillow/Pillow/pull/5811

A tale of a dependency chain: Pillow and the crew

pip install by source doesn’t work, because Pillow has its own logic build from source that is not implemented in its setup.py, so win-arm64 specific wheel file release is needed

Pywin32

Released

https://github.com/mhammond/pywin32/pull/1793

Maturin

Released

https://github.com/PyO3/maturin/pull/674

Expand
titleNotes

Build

python setup.py install

Alternatively can build with cargo command directly

cargo run -- build --release -b bin --target aarch64-pc-windows-msvc --no-sdist --cargo-extra-args="--no-default-features" --cargo-extra-args="--features log,upload,human-panic"

The above command works on GitHub CI on x64 machine but seems to fail on arm64 as the cargo-extra-args seems to be ignored.

Test

Remove rustls from cargo.toml

cargo run -- build -i python -m test-crates/pyo3-mixed-submodule/Cargo.toml

pip install --force-reinstall --no-index --find-links test-crates/pyo3-mixed-submodule/target/wheels pyo3-mixed-submodule

pytest test-crates/pyo3-mixed-submodule/tests/

This seems to be the test on CI and test pass on win/arm64 but doesn't look like the right test set.

Pywinpty

Released

  • winpty

  • gyp

Expand
titlePull Requests

https://github.com/spyder-ide/pywinpty/pull/198

https://github.com/spyder-ide/pywinpty/pull/199

https://github.com/rprichard/winpty/pull/187

https://chromium-review.googlesource.com/c/external/gyp/+/3268692

https://chromium-review.googlesource.com/c/external/gyp/+/3268691

Expand
titleNotes

To build,

maturin develop --release

To run tests,

python runtests.py

All tests should be passing with all of the PRs

cibuildwheel

Released

https://github.com/pypa/cibuildwheel/pull/920

grpcio

Released

https://github.com/grpc/grpc/pull/28164

skbuild (sci-kit build)

Released in 0.13.0
https://github.com/scikit-build/scikit-build/releases/tag/0.13.0

https://github.com/scikit-build/scikit-build/pull/612

https://linaro.atlassian.net/wiki/spaces/WOAR/pages/28654632982/A+tale+of+a+dependency+chain+Pillow+and+the+crew#scikit-build

pycryptodome

Blocked

https://github.com/Legrandin/pycryptodome/pull/579

azure-uamqp-python

Merged

https://github.com/Azure/azure-uamqp-python/pull/286

TensorFlow

In Progress

PyTorch

Merged

https://github.com/pytorch/pytorch/pull/72424

Building Pytorch

matplotlib

Merged

https://github.com/matplotlib/matplotlib/pull/22429

cython-blis

Released

https://github.com/explosion/cython-blis/pull/67

CMake

Released by 3.22.4

sci-kit build

https://github.com/scikit-build/cmake-python-distributions/pull/231

x86 emulated CMake is deployed for win-arm64 by this change, so as soon as official native win-arm64 CMake is released, this should be updated

mysqlclient

blocked on dependant proprietary 3rd party library: https://mariadb.com/downloads/connectors/

OpenCV

Merged

https://github.com/opencv/opencv-python/pull/644