Skip to content

#12528 Add ABI3 wheels to support Python 3.14 and other future Python versions#15

Merged
adiroiban merged 10 commits into
trunkfrom
12528-python-3.14
Nov 2, 2025
Merged

#12528 Add ABI3 wheels to support Python 3.14 and other future Python versions#15
adiroiban merged 10 commits into
trunkfrom
12528-python-3.14

Conversation

@adiroiban

@adiroiban adiroiban commented Oct 29, 2025

Copy link
Copy Markdown
Member

This is to help fix twisted/twisted#12528

Instead of building separate wheels for Python 3.14, I went with abi3 wheels.

This should reduce the need to recreate wheels for each new Python version.

abi3audit is used to validate the files.

I don't know if PyPY has ABI3... so we still have separate wheels for PyPY 3.10

The wheels are build for Python 3.8 since this is the minimum ABI3 that covers Python 3.9 and 3.10.

Once we remove support for Python 3.10 we can move to the ABI from 3.11

For macOS we only have ARM64 wheels. I hope this is fine and nobody used Intel CPU with macOS for any serious business :)

I have renamed the default branch to "trunk" to match the other repos.

I have enabled branch protection for the default branch.

The list of files to be published can be reviewed here

https://github.com/twisted/cython-test-exception-raiser/actions/runs/18911800632/job/53984931607?pr=15#step:3:8

@adiroiban

Copy link
Copy Markdown
Member Author

@glyph I am still working on this... when you have time, can you please move the PyPI project https://pypi.org/project/cython-test-exception-raiser/ to the Twisted organization.

I don't have access to this project on PyPi and I can't enable PyPI publishing.

@adiroiban adiroiban requested a review from a team October 29, 2025 14:44
@adiroiban

Copy link
Copy Markdown
Member Author

This should be ready for review. I hope I got the abi3 part right.

PyPI publishing needs to be configured before doing the release.

@glyph

glyph commented Oct 29, 2025

Copy link
Copy Markdown
Member

@glyph I am still working on this... when you have time, can you please move the PyPI project https://pypi.org/project/cython-test-exception-raiser/ to the Twisted organization.

Done.

@adiroiban

Copy link
Copy Markdown
Member Author

Thanks. Publishing configured

I am waiting for a review and then I will publish the new packages

image

Comment thread setup.cfg

@graingert graingert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

python_requires bump please

@adiroiban

Copy link
Copy Markdown
Member Author

Thanks Thomas for the review. Good call.
I have updated the package config. Should be rease for review

@adiroiban adiroiban requested a review from a team October 30, 2025 17:54

@glyph glyph left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks for the extra docs.

@adiroiban adiroiban dismissed graingert’s stale review November 1, 2025 09:05

approved by Glyph

Comment thread CHANGELOG.rst Outdated
Comment thread setup.cfg Outdated
@adiroiban

adiroiban commented Nov 2, 2025

Copy link
Copy Markdown
Member Author

Comment thread setup.cfg Outdated
@adiroiban adiroiban enabled auto-merge November 2, 2025 11:43
@adiroiban adiroiban merged commit 45f6c14 into trunk Nov 2, 2025
5 checks passed
@adiroiban adiroiban deleted the 12528-python-3.14 branch November 2, 2025 11:44
@glyph

glyph commented Nov 2, 2025

Copy link
Copy Markdown
Member

Thanks so much for taking care of this and moving the ecosystem forward @adiroiban !

Comment thread setup.py
name="raiser",
sources=["cython_test_exception_raiser/raiser.pyx"],
define_macros=[
# For now we are at python 3.8 as we still support 3.10.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just FYI - it's not that Cython only supports those three values. They're just "important" values where the list of features available changes.

If you want to support 3.10+ then the best value to use would be 0x030A0000. It won't make a huge amount of difference but it may have have slightly better performance for example.

(Or you might decide that you don't care if it's only test code... That's fair enough too)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the info. You are right.

But since this is just testing helper, I think that we are fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create cython-test-exception-raiser wheels for Python 3.14

4 participants