Skip to content
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

Update Python version to at least 3.10 #389

Closed
krestenlaust opened this issue Nov 4, 2023 · 5 comments · Fixed by #409
Closed

Update Python version to at least 3.10 #389

krestenlaust opened this issue Nov 4, 2023 · 5 comments · Fixed by #409

Comments

@krestenlaust
Copy link
Member

krestenlaust commented Nov 4, 2023

The current version we're utilizing (3.6) reached EOL two years ago, having it updated along with the dependencies will make sure the Stregsystem will live long and prosper!

Picture of python release cycle

@jonasKjellerup
Copy link
Contributor

Since 3.8 will be EOL in < 1 year, would it not make more sense to target a version with a greater remaining support window?

@krestenlaust
Copy link
Member Author

The reason I ended up with 3.8 is that the latest version of Pillow requires that version at least, and upgrading in small steps to the common denominator seemed easier. But I agree having a newer version would be better, which version would you suggest?

@jonasKjellerup
Copy link
Contributor

jonasKjellerup commented Nov 6, 2023

Well, considering the fact that Python makes no forward or backwards compatibility guarantees, I don't really see any good rationale to make a choice based on, besides asking ourselves "How soon do we want to do this again?"

We can try to look at what the newest releases of our dependencies should support and use that. However this assumes that we will be updating all of our dependencies. Most of our dependencies are classified as "Python 3.11" (or newer) on PyPi, but not all. Namely:

  • freezegun is classified as 3.9. Latest PyPi release is Aug 12, 2022. Latest Github commit Feb 22, 2023.
  • qrcode is classified as 3.10. Latest PyPi Release is Feb 5, 2023. Latest Github commit Feb 22, 2023.

So we may consider 3.9 as a minimum target, where all our dependencies should "just work" (assuming that they haven't had any breaking changes).

So i see three possible routes:

  • Target the newest release possible and deal with all the issue that come with that.
  • Target the minimum version that should be supported by the newest releases of all our dependencies (3.9).
  • Or lastly, increment vesions until something breaks and stop there. (Although I don't think we are going to make is very far).

With that said, if our goal is to keep Stregsystemet up to date with security support, then the greater issue is that we are using Django 2.2 which went EOL Apr. 1 2022 (Django support table). A upgrade to a new major version (3.2 LTS or 4.2 LTS) is more or less guaranteed to break plenty of things.

@BoAnd
Copy link
Contributor

BoAnd commented Feb 25, 2024

@jonasKjellerup what about PR: #409

@krestenlaust krestenlaust changed the title Update Python version to 3.8 Update Python version to 3.9 May 13, 2024
@krestenlaust krestenlaust changed the title Update Python version to 3.9 Update Python version to at least 3.9 May 13, 2024
@krestenlaust krestenlaust changed the title Update Python version to at least 3.9 Update Python version to at least 3.10 May 13, 2024
@krestenlaust
Copy link
Member Author

krestenlaust commented May 13, 2024

It looks like Freezegun supports 3.12 now, and we can probably find another qr-code dependency if we liked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants