-
Notifications
You must be signed in to change notification settings - Fork 0
Description
WoA🐍Libs🦾
Python libs missing natively on Windows Arm64
These lists are designed to prioritize libraries that need to be fixed for Python development natively on WoA.
Based on this public list of top 1000 python packages by downloads. Orange 11% packages were investigated by automatic tests.
As of Oct 9, 2025, these lists are only the 8% of top 1000, the rest 92% already have native wheels or don't need them.
⬛ - No Win binaries / other hard block
❌ - No win_arm64 binaries/wheels available on PyPi
🟡 - Contribution was accepted, waiting for PyPi release
✅ - Globally available via PyPi
Contribution instructions
If you are already working on some of these libraries or just starting, here's how you can help others track your progress:
- Request access to this repo in the comments.
- Create a sub-issue with package name.
- Copy all information from table and and sync any additional.
- Work and share your progress in the issue. The issue can be closed only after the wheel lands on PyPi.
Libraries what not easy to build locally
Required noticable effort to build locally and contribute back to the community.
Some of the packages are blocked by others, making their build complexity unclear.
| Done | Tool | Issue | PR | Depend | Notes | Assigned | ETA/Wheel |
|---|---|---|---|---|---|---|---|
| ✅ | cryptography | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| ❌ | pyarrow | 🔗Issue | - | - | - | #25 | - |
| ✅ | scipy | 🔗Issue | 🔗PR | numpy | PR merged | #8 | 🔗pypi |
| ✅ | lxml | - | 🔗PR | - | - | - | 🔗pypi |
| ⬛ | grpcio | 🔗Issue | 🔗PR | - | RP rejected. Infra blocked. | #6 | 🔗temp |
| ❌ | grpcio-tools | - | - | grpcio | Coupled with grpcio | - | - |
| ✅ | pynacl | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| 🟡 | scikit-learn | 🔗Issue | 🔗PR | scipy | PR merged | #10 | - |
| 🟡 | snowflake-connector-python | 🔗Issue | 🔗PR | cryptography | Testing is required to accept | #27 | No ETA |
| 🟡 | shapely | 🔗Issue | 🔗PR | - | - | #13 | ~end 2025 |
| ⬛ | uvloop | 🔗Issue | 🔗PR | - | Do not support Windows at all. Alternative: winloop | - | - |
| ❌ | numba | 🔗Issue | - | llvmlite , Conda | Coupled with llvmlite | - | - |
| ✅ | sentencepiece | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| ❌ | llvmlite | 🔗Issue | - | Conda | They are migrating to GH Actions for other plats | #24 | - |
| ⬛ | triton | - | - | - | Do not support Windows at all. Alternative: triton-windows | - | - |
| ❌ | triton-windows | 🔗Issue | - | - | Support only x86 and Nvidia GPU | - | - |
| 🟡 | h5py | 🔗Issue | 🔗PR | - | - | #29 | - |
| ❌ | tensorflow | 🔗Issue | - | - | Google's library | - | - |
| ❌ | confluent-kafka | 🔗Issue | - | - | - | - | - |
| ❌ | pymssql | - | - | - | mssql don't support win-arm | - | - |
| ❌ | opencv-python | 🔗Issue | 🔗PR | - | - | #36 | - |
| 🟡 | torchvision | - | - | PR merged | Nightly wheels available | - | - |
| 🟡 | statsmodels | 🔗Issue | - | scipy, numpy, pandas | waiting for pandas release | - | official nightly builds available |
| spacy | 🔗Issue | - | blis | No maintainers activity | - | - | |
| ❌ | scikit-image | 🔗Issue | 🔗PR | - | - | #17 | - |
| ✅ | ddtrace | 🔗Issue | 🔗PR | libddwaf | - | #30 | 🔗pypi |
| ⬛ | mysqlclient | - | - | - | mysql don't support win-arm. Linaro tried initial support, patch was refused. MariaDB is much better candidate | - | - |
| ❌ | onnxruntime | 🔗Issue | - | - | Alternative package is onnxruntime-qnn There's confusion between the packages | - | - |
| ❌ | duckdb | 🔗Issue | - | - | - | - | - |
| blis | 🔗Issue | 🔗PR | - | Dependency for spacy, no respoinse from maintainers | #19 | - | |
| thinc | 🔗Issue | 🔗PR | - | - | #28 | - | |
| ❌ | apache-beam | 🔗Issue | - | grpcio | Coupled with grpcio | - | - |
| ❌ | pysftp | - | - | cryptography | Coupled with cryptography Python native package | - | - |
| ❌ | psycopg-binary | 🔗Issue | - | - | Blocked by libpq, discussion | - | - |
| ✅ | pyproj | 🔗Issue | 🔗PR | - | - | #14 | 🔗pypi |
| ⬛ | torchaudio | - | 🔗PR | - | Work stopped until the end of Y26 due refactoring effort from maintainers | - | - |
| ❌ | tensorflow-io-gcs-filesystem | - | - | - | Google's library | - | - |
| ✅ | google-re2 | 🔗Issue | 🔗PR | - | - | #23 | 🔗pypi |
| ❌ | pymupdf | 🔗Issue | - | - | - | - | - |
| ❌ | oracledb | - | - | cryptography | Oracle DB don't support win-arm64. Coupled with cryptography | - | - |
| ❌ | ray | 🔗Issue | - | - | - | - | - |
| ❌ | shap | - | - | scipy, numba | Coupled with scipy and fortran | - | - |
| ❌ | tensorflow-text | - | - | - | Google's library | - | - |
| ✅ | h3 | 🔗Issue | 🔗PR | - | - | #20 | 🔗pypi |
| ✅ | faiss-cpu | 🔗Issue | - | - | - | #16 | 🔗pypi |
| ✅ | onnx | - | - | - | - | - | 🔗pypi |
| ❌ | aliyun-python-sdk-core | - | - | cryptography | Coupled with cryptography Python native package | - | - |
| ❌ | jaxlib | 🔗Issue | - | SciPy | Google's library | - | - |
| ❌ | deltalake | - | - | pyarrow | Coupled with pyarrow | - | - |
| ✅ | xgboost-cpu | 🔗Issue | 🔗PR | - | - | #22 | 🔗pypi |
| ❌ | librosa | - | - | Numba | Coupled with Numba | - | - |
Libraries don't have wheels, but they are easy installed by PyPi
Potentially could be easily enabled due to a noncomplex build process.
This list was not processed; only granular updates related to previous table.
Still can be a blocker for other packages since local build process increses complexity of CIs and execution time.
| Done | Tool | Issue | PR | Depend | Notes | Assigned | ETA/Wheel |
|---|---|---|---|---|---|---|---|
| 🟡 | pandas | 🔗Issue | 🔗PR | numpy | - | - | Q4 2025 |
| ✅ | numpy | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| ✅ | pyyaml | 🔗Issue | 🔗PR | - | merged and released | #31 | 🔗pypi |
| ✅ | cffi | 🔗PR | - | - | - | - | 🔗pypi |
| ❌ | soundfile | 🔗Issue | - | - | Necessary for torchaudio. It builds but not usable in reality | - | - |
| ✅ | nh3 | - | 🔗PR | - | required by twine, which is useful for CI | - | 🔗pypi |
| ✅ | markupsafe | - | 🔗PR | - | Released on pypi | - | 🔗pypi |
| ❌ | aiohttp | - | - | - | - | - | - |
| ✅ | propcache | - | 🔗PR | - | Released on pypi | - | 🔗pypi |
| 🟡 | multidict | - | 🔗PR | - | PR merged | - | - |
| ✅ | coverage | - | 🔗PR | - | Released on pypi | - | 🔗pypi |
| 🟡 | psutil | 🔗Issue | 🔗PR | - | PR merged | - | - |
| ❌ | greenlet | - | - | - | - | - | - |
| ✅ | rpds-py | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| 🟡 | msgpack | - | 🔗PR | - | PR merged | - | - |
| ❌ | regex | - | 🔗PR | - | - | - | - |
| 🟡 | bcrypt | - | 🔗PR | - | - | #18 | no ETA |
| ❌ | google-crc32c | - | - | - | - | - | - |
| ✅ | matplotlib | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| ✅ | contourpy | - | - | - | - | - | 🔗pypi |
| ❌ | ruamel-yaml-clib | - | - | - | - | - | - |
| ✅ | winloop | 🔗Issue | 🔗PR | - | - | - | 🔗pypi |
| ✅ | zstandard | - | - | - | - | - | 🔗pypi |
| ✅ | tornado | 🔗Issue | 🔗PR | - | PR merged and releases are on pypi | - | 🔗pypi |
| ✅ | orjson | - | - | - | - | - | 🔗pypi |
| 🟡 | tokenizers | - | 🔗PR | - | PR merged | #11 | - |
| ✅ | pycryptodome | - | - | - | - | - | 🔗pypi |
| ✅ | pymongo | 🔗Issue | 🔗PR | - | PR merged and releases are on pypi | - | 🔗pypi |
| ✅ | pycryptodomex | - | - | - | - | - | 🔗pypi |
| ❌ | jiter | - | - | - | - | - | - |
| ❌ | pyspark | - | - | - | - | - | - |
| ❌ | setproctitle | - | - | - | - | - | - |
| ❌ | thriftpy2 | - | - | - | - | - | - |
| ❌ | tiktoken | - | 🔗PR | - | - | #12 | - |
| ❌ | zope-interface | - | - | - | - | - | - |
| ❌ | safetensors | - | - | - | - | - | - |
| ✅ | argon2-cffi-bindings | 🔗Issue | 🔗PR | - | Released on pypi | - | 🔗pypi |
| ❌ | httptools | - | - | - | - | - | - |
| ❌ | pyodbc | - | 🔗PR | - | - | - | - |
| ✅ | libcst | - | - | - | - | - | 🔗pypi |
| ❌ | thrift | - | - | - | - | - | - |
| ❌ | fastavro | - | - | - | - | - | - |
| ❌ | brotli | - | - | - | - | - | - |
| ✅ | ujson | - | - | - | - | - | 🔗pypi |
| ❌ | gevent | - | - | - | - | - | - |
| ❌ | ijson | - | - | - | - | - | - |
| ❌ | docopt | - | - | - | - | - | - |
| ❌ | preshed | - | - | - | - | - | - |
| ❌ | avro-python3 | - | - | - | - | - | - |
| ❌ | srsly | - | - | - | - | - | - |
| ❌ | cymem | - | 🔗PR | - | - | #15 | - |
| ❌ | murmurhash | - | - | - | - | - | - |
| ❌ | bitarray | - | - | - | - | - | - |
| ❌ | cramjam | - | - | - | - | - | - |
| ❌ | dbt-extractor | - | - | - | - | - | - |
| ✅ | ml-dtypes | - | - | - | - | - | 🔗pypi |
| ❌ | jpype1 | - | - | - | - | - | - |
| ❌ | asyncpg | - | - | - | - | - | - |
| ❌ | marisa-trie | - | - | - | - | - | - |
| ❌ | gym | - | - | - | - | - | - |
| ❌ | ratelimit | - | - | - | - | - | - |
| ❌ | fire | - | - | - | - | - | - |
| ❌ | fastparquet | - | - | - | - | - | - |
| ❌ | kfp | - | - | - | - | - | - |
| 🟡 | pywavelets | - | PR | - | - | - | Waiting for release |
| ❌ | starkbank-ecdsa | - | - | - | - | - | - |
| ❌ | jellyfish | - | - | - | - | - | - |
| ❌ | msgspec | - | - | - | - | - | - |
| ✅ | pycares | - | 🔗PR | - | Released on pypi | - | 🔗pypi |
| ❌ | litellm | - | - | - | - | - | - |
| ✅ | maxminddb | - | 🔗PR | - | Released on pypi | - | 🔗pypi |
| ❌ | ciso8601 | - | - | - | - | - | - |
| ❌ | protobuf3-to-dict | - | - | - | - | - | - |
| ❌ | python-nvd3 | - | - | - | - | - | - |
| ❌ | hiredis | - | - | - | - | - | - |
| 🟡 | logbook | - | 🔗PR | - | - | - | - |
| ❌ | typed-ast | - | - | - | is end of life since python 3.8 | - | - |
| ✅ | wrapt | - | 🔗PR | - | Released on pypi | - | 🔗pypi |
| ✅ | frozenlist | 🔗Issue | 🔗PR | #32 | 🔗pypi | ||
| ✅ | yarl | 🔗Issue | 🔗PR | #33 | 🔗pypi | ||
| 🟡 | sqlalchemy | 🔗Issue | 🔗PR | PR merged | #34 | ||
| ❌ | mypy | 🔗Issue | Maintainers want to see more downloads on WoA | #35 |
Template:
| Done | Tool | Issue | PR | Depend | Notes | Assigned | ETA/Wheel link |
|---|---|---|---|---|---|---|---|
| ❌/🟡/ ✅ | TEMPLATE | 🔗Issue | 🔗PR | DEPENDS | NOTES | ASSIGNED | ETA |