-
Notifications
You must be signed in to change notification settings - Fork 6
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
Python 3.11 #22
Python 3.11 #22
Conversation
Nice PR - thanks for doing this. Obviously, such a change requires a production server upgrade (both an Ubuntu version upgrade and a Python version upgrade), and the best time for this would probably be early summer. So, holding off on merging this PR until then. |
Generally with CSL stuff, we've held off on upgrading Django versions until an LTS version comes out (i.e. 5.2, 6.2, etc.). Not sure if that's what you want to do |
Sure, I don't mind, there's no features I'm particularly excited about in django 5. I'll just remove the changes regarding django and make this PR about Python 3.11.
Yup, I would've recommended the very same thing. |
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.
A minor suggestion before we get to testing/migration:
After #21 we would also have to update the ruff |
1f5f100
to
43cc9d0
Compare
c6685b9
to
1113e5e
Compare
6541411
to
173a7d8
Compare
8557e17
to
457a37d
Compare
305ca99
to
ad43913
Compare
3088323
to
1a8a0f9
Compare
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.
🤞
Followup to #22 - change ruff to use python 3.11 as the base version to get more up-to-date changes (from e.g. `pyupgrade`)
Django 5 (Removed from PR)
Took a look through the changelog of Django 5, didn't seem that bad so went ahead and updated it.
Only change was the removal of
USE_L10N
(the default value becameTrue
, and the setting was deprecated).Based off the changelog, the only breaking change that could happen is the following
But I find this unlikely, as we are already on 4.2 and don't have any warnings.
Python
I looked through the changelog for Python 3.9, 3.10, and 3.11. None of the changes should cause problems, at least based off the porting guides for the versions.
3.11
3.10
3.9
Why not Python 3.12?
To put it simply, python 3.12 is only recently getting "accepted" into the python and linux ecosystems (it's in bugfix stage), so I figured it would be better to wait on that one. Besides, Python 3.11 goes EOL in 2027, which is long enough that it shouldn't be a big deal (however, NEP 29 recommends that Python 3.11 support should end in April 2025).
Motivation
Django says that 4.2 is basically compatible with 5.0, after fixing deprecation warnings