ENH: add support for PEP 803 abi3t with Python 3.15.0b2+#856
Conversation
|
I didn't touch the test matrix, since testing on 3.15 is already being addressed by #853. |
|
Downstream testing, and releasing after rc1 in early August, is currently blocked on this, so I added a v0.21.0 tag - we should do that next month I think. |
rgommers
left a comment
There was a problem hiding this comment.
A couple of small issues in the test extension. The rest looks right; I refreshed my memory on Py_TARGET_ABI3T and that should be added automatically in Python.h for a free-threaded interpreter if Py_LIMITED_API is defined - so all good there.
|
This is looking pretty good now. Are you expecting it to be squash-merged, or do you want to rewrite history? (we usually do the latter, and rebase-merge) |
d955a22 to
da143e8
Compare
|
Rewrote it now. I've kept (and reworded) the commit changing |
rgommers
left a comment
There was a problem hiding this comment.
LGTM now, thanks @mgorny.
@dnicolodi WDYT about releasing this quickly as 0.21.0? Getting this supported would be nice, makes it more likely package authors will experiment with it before the ABI gets frozen in 5-6 weeks from now. I had a look through the rest of the PR queue, and nothing else is critical, although PR 838 is close and we could aim to get that in as well.
|
LGTM too, with the minor exception of the test package name: I am sure that I will promptly forget what ft stands for, thus a longer more descriptive name would help there.
I can try to get that in shape this evening. I would still like to get the RPATH handling in order sooner rather than later, but I didn't find the time to finish that work. I guess we can go another release without it. |
dnicolodi
left a comment
There was a problem hiding this comment.
Sorry, I have a couple more nits before merging this. Let me know if you prefer me to fix these small things up myself.
|
Fixed the indentation. Lemme know if you want to me reset the dates too, though the files have more original content from |
Add tag/extension support and initial tests for `abi3t` as specified in PEP 803 and implemented in Python 3.15.0b2. This is currently limited to building `abi3t` extensions from freethreading builds of Python, since Meson does not support forcing `abi3t` builds explicitly right now. See mesonbuild/meson#15637 for the relevant discussion. The additional test case utilizes the new API introduced in PEP 793 and PEP 820, and therefore requires Python 3.15.0b2. The relevant test tests wheel correctness both with GIL-enabled and free-threading builds of Python 3.15.0b2. The behavior for older versions of Python remains unchanged. Signed-off-by: Michał Górny <mgorny@quansight.com>
Signed-off-by: Michał Górny <mgorny@quansight.com>
|
Thanks! Merged. |
|
Thanks! |
Add tag/extension support and initial tests for
abi3tas specified in PEP 803 and implemented in Python 3.15.0b2. This is currently limited to buildingabi3textensions from freethreading builds of Python, since Meson does not support forcingabi3tbuilds explicitly right now. See mesonbuild/meson#15637 for the relevant discussion.The additional test case utilizes the new API introduced in PEP 793 and PEP 820, and therefore requires Python 3.15.0b2. The relevant test tests wheel correctness both with GIL-enabled and free-threading builds of Python 3.15.0b2.
The behavior for older versions of Python remains unchanged.