PyWavelets / pywt

PyWavelets - Wavelet Transforms in Python
http://pywavelets.readthedocs.org
MIT License
1.97k stars 460 forks source link

Add aarch64 wheels for Python 3.7 and fix manylinux versions #626

Closed grlee77 closed 2 years ago

grlee77 commented 2 years ago

closes #625

aside from adding aarch64 for Python 3.7 this makes a few other changes:

1.) update to use manylinux2014 in most cases except for Python 3.7 or the i686 wheels (matching what NumPy provides). These are also the manylinux versions we used in the scikit-image 0.19.x releases.

2.) adds PIP_PREFER_BINARY=1 flag so that a binary wheel version of NumPy will always be preferred during testing. This avoids potentially building NumPy or SciPy from source if a wheel is missing (e.g. most recent releases dropped Python 3.7)

3.) I added CIBW_SKIP: "*-musllinux_*" to skip all musllinux wheels, but I can revert that change if preferred.

grlee77 commented 2 years ago

I ran the wheel building process for this in https://github.com/PyWavelets/pywt/issues/625#issuecomment-1056063545 and have only added the naming update in af24d86 since that time

rgommers commented 2 years ago

This avoids potentially building NumPy or SciPy from source if a wheel is missing (e.g. most recent releases dropped Python 3.7)

Did you actually see this happening? That would be a bug in the sdist metadata, python_requires>=3.8 should prevent this kind of trigger of a source build.

rgommers commented 2 years ago

Should we make either a 1.3.0 or a 1.2.1 release for this?

grlee77 commented 2 years ago

Should we make either a 1.3.0 or a 1.2.1 release for this?

I was initially planning to tag it as 1.2.1, but perhaps 1.3.0 is better given that we changed which wheels are provided?

grlee77 commented 2 years ago

This avoids potentially building NumPy or SciPy from source if a wheel is missing (e.g. most recent releases dropped Python 3.7)

Did you actually see this happening? That would be a bug in the sdist metadata, python_requires>=3.8 should prevent this kind of trigger of a source build.

In an early commit I saw this failure: https://github.com/grlee77/pywt/runs/5385058094?check_suite_focus=true That was prior to adding that prefer binary flag, but was also when it was still set to manylinux1. I could run it again just removing that flag from the final version here.

rgommers commented 2 years ago

I was initially planning to tag it as 1.2.1, but perhaps 1.3.0 is better given that we changed which wheels are provided?

1.3.0 sounds good to me.

I could run it again just removing that flag from the final version here.

No worries, thanks for pointing me at the older failure - that should be enough.