-
Notifications
You must be signed in to change notification settings - Fork 266
WHL: build limited-api compliant wheels #1427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ccbf3a7
to
ade4072
Compare
Python 3.9 EoL is next month. What do you all think if we drop it now in this PR? |
As far as I'm concerned I'd rather do it in a separate PR, but I'm happy to contribute this too, either now or after this PR is ready (and merged ?). |
I'm also working on cftime to modernize infrastructure before I attempt to do the same thing there: Unidata/cftime#371 |
8a417c8
to
ccfe53c
Compare
The remaining failures seem unrelated (stubtests + a network error), so I'll undraft now |
ccfe53c
to
6724a31
Compare
@jswhit this is highly desirable IMO, it will reduce the build matrix and make it easier to maintain them. We could do some dev releases if you want to be careful and have more people testing the performance impacts. However, I'm 99% sure they'll be minor and the benefits will outweigh the disadvantages. PS: I would remove py39 here b/c we are unlikely to mint a new version release before its EoL. It will reduce the matrix even further and remove on of the matrix items where ABI3 isn't possible. |
6724a31
to
69fecee
Compare
Rebased to resolve merge conflicts, and added a commit to drop 3.9 |
9450110
to
0c6af9c
Compare
0c6af9c
to
5e4ba55
Compare
Should I also add a |
good idea, please do |
done ! |
This contains a couple separable changes:
cibuildwheel
intopyproject.toml
Note that abiding to the limited API drastically improves wheels portability, but may incur a cost in performance. In my experience so far with packages using Cython+numpy to build extensions, I haven't seen any measurable performance regression anywhere, but I still strongly advise experts to run benchmarks before blessing the PR as the default way to build wheels for this package.