Opened 21 months ago

Last modified 22 hours ago

#36123 new Cleanup/optimization

Remove reference to PyPy

Reported by: Paolo Melchiorre Owned by:
Component: Documentation Version: dev
Severity: Normal Keywords: pypy
Cc: Mariusz Felisiak Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

We removed PyPy support in commit ​f5772de, since there is no version of PyPy compatible with the minimum Python version currently supported (Python 3.12).

To avoid confusion for users, I propose to remove references to PyPy in the documentation, making it very explicit in the release notes that Django 6.0 does not support PyPy.

I believe there are still some references to PyPy in Django code that could be removed.

Of course, we may reinstate support when a version of PyPy compatible with Python 3.12+ is released (I don't think there will realistically be a version of PyPy compatible with Python 3.12 before Django 6.0 is released).

Change History (9)

comment:1 by Sarah Boyce, 21 months ago

Cc: Mariusz Felisiak added
Resolution: → wontfix
Status: new → closed

This was discussed as part of the ​PR and was decided against
Unless we plan on "giving up" on PyPy, removing all references and adding them back in will cause quite an additional maintenance burden between releases
If you're in favor of no longer supporting PyPy, I think that will require a forum discussion

comment:2 by Carlton Gibson, 7 days ago

Resolution: wontfix
Status: closed → new
Triage Stage: Unreviewed → Accepted

The Steering Council discussed this on Monday, 5 October 2026 and think that we should proceed with removing the references to PyPy at this time.

As per #37363 the recent PyPy version just added support for Python 3.12, so the project isn't dead, but we're on the verge of making Python 3.14 the minimum supported version. PyPY is significantly behind where we need it to be. (It also seems that PyPy is slowly losing mindshare, with much of the energy in the space being taken by CPython's JiT efforts.)

We discussed various caveats or weakenings to the phrasing about support but ultimately felt that just removing the references is cleaner.

Re-adopting PyPy would need something like them to be compatible with the most recent two versions of Python, matching Django's support from Django 2028, and there be people actively testing and ensuring PyPy compatibility with Django. If such comes to pass, we could discuss again then.

comment:3 by Vaibhav Pant, 5 days ago

Hello! I'd be glad to work on this ticket, if that's alright.

PR #22086 was closed automatically because the ticket wasn't yet Accepted when it was opened. @muhammad-a-dev, if you're planning to resubmit, I'd be happy to step aside or help review. Otherwise, would it be okay if I took this on? I'd cover the docs and the remaining code references (django.utils.version.PYPY and the PyPy branches in the tests and django.test.utils).

Thank you!

comment:4 by Abheet, 2 days ago

Hi! I'd be interested in contributing to this ticket and investigating the remaining PyPy-specific code and test references.

I noticed the discussion about PR #22086 and the offer to take on the ticket. Before starting, could you clarify whether someone is already proceeding with the work, or whether there is an opportunity for me to contribute to a specific part of it?

Thanks!

comment:5 by Raiden, 2 days ago

Owner: set to Raiden
Status: new → assigned

comment:6 by Raiden, 2 days ago

Hi! I'd like to contribute to this ticket, starting with the documentation updates. I noticed others are also interested in working on it. Would it be okay if I handle the documentation changes while coordinating with the other contributors on the remaining code references? Thanks!

comment:7 by Raiden, 2 days ago

Has patch: set

comment:8 by Wasif Shahzad, 2 days ago

Patch needs improvement: set

comment:9 by Jacob Walls, 22 hours ago

Has patch: unset
Owner: Raiden removed
Patch needs improvement: unset
Status: assigned → new
Note: See TracTickets for help on using tickets.
Back to Top