- 
                Notifications
    
You must be signed in to change notification settings  - Fork 4
 
#12528 Add ABI3 wheels to support Python 3.14 and other future Python versions #15
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
| 
           @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.  | 
    
| 
           This should be ready for review. I hope I got the abi3 part right. PyPI publishing needs to be configured before doing the release.  | 
    
          
 Done.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
python_requires bump please
| 
           Thanks Thomas for the review. Good call.  | 
    
There was a problem hiding this comment.
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.
| 
           Thanks so much for taking care of this and moving the ecosystem forward @adiroiban !  | 
    
| 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. | 
There was a problem hiding this comment.
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)

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