-
Notifications
You must be signed in to change notification settings - Fork 106
Supported C API Extensions
Sam Gross edited this page Mar 11, 2023
·
13 revisions
The table below lists C API extensions with pre-built pip wheels that are compatible with "nogil" Python. Linux and Windows wheels are for x86-64. MacOS wheels support both x86-64 (Intel) and ARM.
Note that even the "supported" extensions are not well tested. Please file GitHub issue if you run into any problems.
Extension | Linux | macOS | Windows |
---|---|---|---|
bitarray | ✅ | ✅ | ✅ |
blis | ✅ | ✅ | ✅ |
cffi | ✅ | ✅ | ✅ |
cryptography | ✅ | ||
cymem | ✅ | ||
cython | ✅ | ✅ | ✅ |
h5py | ✅ | ||
jax | ✅ | ||
kiwisolver | ✅ | ✅ | ✅ |
llvmlite | ✅ | ||
lxml | ✅ | ||
markupsafe | ✅ | ✅ | ✅ |
matplotlib | ✅ | ✅ | ✅ |
numexpr | ✅ | ✅ | ✅ |
numpy | ✅ | ✅ | ✅ |
opencv-python | ✅ | ||
orjson | ✅ | ✅ | ✅ |
pglast | ✅ | ||
pillow | ✅ | ✅ | ✅ |
psycopg2-binary | ✅ | ||
pybind11 | ✅ | ✅ | ✅ |
pydantic | ✅ | ✅ | ✅ |
pytorch | ✅ | ✅ | |
scikit-learn | ✅ | ✅ | |
scipy | ✅ | ✅ | |
spacy | ✅ | ||
thinc | ✅ | ||
torchvision | ✅ |
Unsupported extensions
- Aspose.Email-for-Python-via-NET (closed source, incompatible native binaries)
- Numba (incompatible byte code changes)
Wheels are primarily built using the GitHub actions workflows at https://github.com/colesbury/nogil-wheels.
Seems to work, but I'm not sure about using Jax from multiple threads. Need someone with Jax expertise.
The interpreter.py file needs to be updated for the nogil interpreter's bytecode.
I haven't figured out how to build it from source yet.
Believed to work well.