Skip to content

Add pypy 3.11 support - #3527

Merged
ankith26 merged 6 commits into
mainfrom
pypy3.11
Jul 14, 2025
Merged

ankith26 merged 6 commits into
mainfrom
pypy3.11

Conversation

@oddbookworm

Copy link
Copy Markdown
Member

No description provided.

@oddbookworm oddbookworm added this to the 2.5.6 milestone Jul 9, 2025
@oddbookworm
oddbookworm requested a review from a team as a code owner July 9, 2025 02:05
@oddbookworm oddbookworm added CI Issue with the Continuous Integration (CI), the actions/bots that test things pypy labels Jul 9, 2025

@ankith26 ankith26 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.

numpy pypy 3.11 manylinux wheels are manylinux_2_28, so the wheels cannot be installed on our manylinux_2_17 (AKA manylinux2014) build environment. The easiest fix here is to simply skip numpy on pypy 3.11 manylinux.

Comment thread pyproject.toml Resolved
@oddbookworm

Copy link
Copy Markdown
Member Author

numpy pypy 3.11 manylinux wheels are manylinux_2_28, so the wheels cannot be installed on our manylinux_2_17 (AKA manylinux2014) build environment. The easiest fix here is to simply skip numpy on pypy 3.11 manylinux.

Is updating our build an option?

Co-authored-by: Ankith <itsankith26@gmail.com>
@ankith26

ankith26 commented Jul 9, 2025

Copy link
Copy Markdown
Member

Is updating our build an option?

That can be considered in the long term but for now I think that would be the worse option. We would loose support for some older platforms if we did that, and for little benefit (testing numpy specific features on pypy 3.11)

@oddbookworm

oddbookworm commented Jul 10, 2025 •

Copy link
Copy Markdown
Member Author

That can be considered in the long term but for now I think that would be the worse option. We would loose support for some older platforms if we did that, and for little benefit (testing numpy specific features on pypy 3.11)

"older platforms"
You mean EOL systems? We already have wheels that they can install, and those wheels aren't going anywhere. We shouldn't prevent ourselves from updating to new things because of EOL systems. We have to stop supporting them eventually

@Starbuck5

Copy link
Copy Markdown
Member

Is updating our build an option?

That can be considered in the long term but for now I think that would be the worse option. We would loose support for some older platforms if we did that, and for little benefit (testing numpy specific features on pypy 3.11)

We would lose support! @ankith26 It is now my mission in life to make sure you use the right lose/loose, I'm sorry to impose.

@Starbuck5

Copy link
Copy Markdown
Member

That can be considered in the long term but for now I think that would be the worse option. We would loose support for some older platforms if we did that, and for little benefit (testing numpy specific features on pypy 3.11)

"older platforms" You mean EOL systems? We already have wheels that they can install, and those wheels aren't going anywhere. We shouldn't prevent ourselves from updating to new things because of EOL systems. We have to stop supporting them eventually

So I did some research. We're using manylinux2014, which is still supported by the pypa. The next step up is manylinux_2_28. (manylinux2014 is basically manylinux_2_17). Making that jump drops Debian (8, 9) and Ubuntu (14.04, 16.04, 18.04).

Ubuntu 20.04 came out on April 23rd 2020, so if someone set up their computer on April 22nd 2020 with Ubuntu they would have 18.04 (I think). Being able to install new software on a computer set up a little bit over 5 years ago sounds reasonable to me. That being said that version of Ubuntu is officially out of support now. See this table for support dates vs manylinux versions: https://github.com/mayeut/pep600_compliance?tab=readme-ov-file#distro-compatibility

@oddbookworm

Copy link
Copy Markdown
Member Author

Being able to install new software on a computer set up a little bit over 5 years ago sounds reasonable to me

Sure, but that's assuming they haven't updated their distro at all to a newer release version and are actively rocking an EOL version of ubuntu.

@ankith26

Copy link
Copy Markdown
Member

I think we can merge this PR as it is and worry about manylinux bumping in a future PR (which will anyways involve a bit more work)

@ankith26
ankith26 merged commit 39c61e4 into main Jul 14, 2025
Starbuck5 pushed a commit to Starbuck5/pygame-ce that referenced this pull request Jul 17, 2025
* Add pypy 3.11 support

* Upgrade cython version

* Allow for numpy prerelease for pypy 3.11

* Numpy DOES have a full pypy 3.11 release...

* drop pypy 3.9

Co-authored-by: Ankith <itsankith26@gmail.com>

* Skip numpy on manylinux x86_64 pypy 3.11

---------

Co-authored-by: Ankith <itsankith26@gmail.com>
@ankith26
ankith26 deleted the pypy3.11 branch August 17, 2025 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Issue with the Continuous Integration (CI), the actions/bots that test things pypy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants