Build Python 3.14 wheels#419
Conversation
|
Python 3.10 is still in support until Oct 2026. Can you add it back into the cibuildwheel run? Does 3.14 build for free-threaded as well? |
Only to the cibuildwheel or also the
Not sure, how do I test for that? |
That might be true for the language, but most scientific Python packages follow the NEP-29 schedule for version support. Many similar tools have already dropped 3.10, so we don't need to add back in here
I believe you just need to add a |
|
Dropped 3.10 again and added free-threading to the wheel build list |
|
Hmm looks like the CI job is still not building 3.14 wheels yet https://github.com/innobi/pantab/actions/runs/20684555129/job/59421544218?pr=419#step:4:833 |
|
It seems like support for 3.14 was only added in cibuildwheel v3 so I updated the version of the GH actions plugin. I also removed the 3.13 free-threading wheel again as I found in the cibuildwheel docs that they are experimental and would require an extra flag (which is not required for 3.14) |
|
Looks like cffi doesn't create manylinux_2010 wheels. I'm OK to bump that to manylinux_2014 if it makes sense |
Where did you get those manylinux versions from? I though everything was built for We could either figure out which dependency that is and work with them to also allow newer cffi packages, or install |
Ah yea that's right. Its the tableauhyperapi dependency: https://github.com/innobi/pantab/actions/runs/20700784706/job/59427222181?pr=419#step:4:1678 Doesn't look like a 3.14 wheel was distributed by cffi until version 2.0 |
The former is preferable. There's a good chance its a misguided pin in the first place, but if not then installing cffi from source probably still leads to whatever issue the tableauhyperapi is trying to avoid |
|
As For the time being I think there is no harm in installing the required header files in CI. The wheel already builds fine so let's check if the tests pass... Otherwise everyone would need to downgrade to 3.13 if they want to use this package |
|
Yea the fact that tableauhyperapi is closed source is a challenge, for this and many other issues :-)
The harm is that the Python dependency system doesn't fully enforce binary dependencies, so even if we can convince the former everything is alright, that leaves a huge gap with the latter. Especially when dealing with a closed source library like Tableau, that can lead to a huge amount of hard-to-debug issues |
|
Ps.: The blocking Tableau Hyperapi fix is in the release from Feb 12 (see https://tableau.github.io/hyper-db/docs/releases) |
|
Hello |
e713ed0 to
a8df072
Compare
|
I have now dropped the second commit (installing ffi manually in the CI) which should hopefully no longer be necessary with upstream wheels available |
|
Looks like the CI failures have to do with a type mismatch on round-tripping |
Sadly this leaves my area of |
|
Copilot thinks that the error is related to an upstream pandas bug in pandas-dev/pandas#64578 |
|
@septatrix I believe #424 will fix all of the related CI issues - can you either rebase on that or merge it into here? |
|
Rebased |
|
Hmm looks like the free threaded wheels are taking 20x as long as the standard wheels to test - any idea what might cause that? |
|
Ah OK - looks like the longer runtime is from building polars, not from the tests themselves. that can be cleaned up in another PR |
|
Thanks @septatrix ! |
Closes #418