djangoproject.com icon indicating copy to clipboard operation
djangoproject.com copied to clipboard

Upgrade Python to 3.13

Open ulgens opened this issue 5 months ago • 14 comments

Coming from https://github.com/django/djangoproject.com/issues/1890#issuecomment-3167984510

If that's okay, I can proceed with 3.13 update and demonstrate why we don't need the matrix anymore.

Absolutely. It should be a separate PR than removing tox though, the two things might be connected but we should still do them one at a time.

cc @bmispelon

ulgens avatar Oct 01 '25 12:10 ulgens

@pauloxnet Thanks for the exteremely quick response 😄 I was waiting to the see the CI results but I guess one potential issue would be: https://github.com/django/djangoproject.com/pull/2105 That PR needs a rebase but I don't have the permission to do that.

ulgens avatar Oct 01 '25 12:10 ulgens

@bmispelon Will have to confirm, but from my memory, the reason we're not using 3.13 is that Trac doesn't work on that version since it used some of the standard library removals, and Trac and the Website run on the same python binary right now.

Unless that has changed at the operations level, I don't think we can merge this.

Edit: I can confirm from an old forum message of mine the trac issue

Trac right now supports Python 3.5-3.11, and the current version won't run in 3.13 due to modules like crypt being removed.

alexgmin avatar Oct 01 '25 13:10 alexgmin

@alexgmin

but from my memory, the reason we're not using 3.13 is that Trac doesn't work on that version since it used some of the standard library removals, and Trac and the Website run on the same python binary right now.

You are right, but after that discussion, we also agreed that it's not that important and we can proceed with the update. I don't remember the exact thread where it happened so I can't share the link, sorry. In any case, I'm okay with @bmispelon 's decision.

ulgens avatar Oct 01 '25 13:10 ulgens

I remember writing a more detailed explanation somewhere, but I can't find it at the moment 🤷🏻

I think it's safe for the site and Trac to run separate Python versions. It's more important that they run the same Django version (because they share a database, and technically Django doesn't support running two different versions talking to the same db), but even that is not a hard requirement.

bmispelon avatar Oct 01 '25 13:10 bmispelon

Sounds like Trac could use some attention as well then to keep it up-to-date with the latest Python - is there a tracking issue for that?

Stormheg avatar Oct 02 '25 18:10 Stormheg

Sounds like Trac could use some attention as well then to keep it up-to-date with the latest Python - is there a tracking issue for that?

The last time I checked, it seemed like Trac was in a maintenance-only mode, and we were already discussing the move of issues to GitHub. I tried to find the old discussions and found these:

  • https://github.com/django/code.djangoproject.com/pull/219#issuecomment-2452482455
  • https://github.com/django/code.djangoproject.com/pull/219#issuecomment-2453461847

It seems the Trac issue @pauloxnet commented on had no updates for the last 11 months and Trac's release calendar has a delay of 21 months: https://trac.edgewall.org/milestone/1.6.1 The Github repo seems like it was getting new commits until 6 months ago. All in all, I think it's hard to say Trac is in active development, and I don't expect to get any new Python version support in the foreseeable future.

ulgens avatar Oct 02 '25 23:10 ulgens

Sounds like Trac could use some attention as well then to keep it up-to-date with the latest Python - is there a tracking issue for that?

The last time I checked, it seemed like Trac was in a maintenance-only mode, and we were already discussing the move of issues to GitHub. ... It seems the Trac issue @pauloxnet commented on had no updates for the last 11 months and Trac's release calendar has a delay of 21 months: https://trac.edgewall.org/milestone/1.6.1 The Github repo seems like it was getting new commits until 6 months ago.

Since Trac has the history of the Django project we can think to contribute to it to let it survive, at least the Python version upgrade.

We can also ask the Django community to help the project if we can't.

The goal here is to upgrade Trackat least to the Python 3.12 to be able to upgrade to Django 6.x

pauloxnet avatar Oct 03 '25 06:10 pauloxnet

Since Trac has the history of the Django project we can think to contribute to it to let it survive, at least the Python version upgrade.

I mostly agree with this, but do we have a long-term plan here? What will happen next year? I feel like the more we postpone ripping off the band-aid, the worse the situation gets.

ulgens avatar Oct 03 '25 07:10 ulgens

About

It's more important that they run the same Django version (because they share a database, and technically Django doesn't support running two different versions talking to the same db)

https://github.com/django/code.djangoproject.com/pull/274

ulgens avatar Oct 03 '25 09:10 ulgens

Since Trac has the history of the Django project we can think to contribute to it to let it survive, at least the Python version upgrade.

I mostly agree with this ...

:)

... but do we have a long-term plan here? What will happen next year? I feel like the more we postpone ripping off the band-aid, the worse the situation gets.

I was answering for the short-term issue, but this is an interesting point to propose for a further discussion.

pauloxnet avatar Oct 05 '25 12:10 pauloxnet

...I guess one potential issue would be: https://github.com/django/djangoproject.com/pull/2105

django-hosts update is handled in https://github.com/django/djangoproject.com/pull/2253

ulgens avatar Oct 11 '25 22:10 ulgens

I've just deployed this on the preview server for a final check, but I think this looks good to merge. 3.14 next? 😁

bmispelon avatar Oct 14 '25 18:10 bmispelon

@bmispelon Thank you 🌻

I can help with 3.14 update too but is there any concerns about Python - Django - Trac version compability between this repo and code.djangoproject.com? I feel like there will be a hard limit to the updates we can do, unless Trac project makes a move.

ulgens avatar Oct 15 '25 09:10 ulgens

@bmispelon Hey again and sorry for the ping, would you mind giving your approval if everything is okay on preview server?

ulgens avatar Dec 04 '25 15:12 ulgens