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

Set a minimum supported Python version #66

Closed
disinvite opened this issue Jan 8, 2025 · 1 comment · Fixed by #68
Closed

Set a minimum supported Python version #66

disinvite opened this issue Jan 8, 2025 · 1 comment · Fixed by #68
Labels
question Further information is requested

Comments

@disinvite
Copy link
Collaborator

Which Python version should be the oldest supported by reccmp?

3.10 or 3.11 seem like the most logical options: https://devguide.python.org/versions/


Background:

For our CI task runners, if a specific version is not installed with actions/setup-python@v5, the default Python version for ubuntu-latest is 3.10.12. For windows-latest it is 3.9.13.
https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md

ubuntu-latest will soon (Jan 17) update to 24.04, with a default python version of 3.12. actions/runner-images#10636

All the CI scripts on the isle repo that use Python specify Python 3.12. Our "format" script (black, pylint, mypy) is the only one to not specify a version. It runs ubuntu-latest so the version is 3.10 until next Friday when it will start using 3.12.

The effective minimum version for reccmp is 3.10 because we use union type syntax and match/case statements.

@disinvite disinvite added the question Further information is requested label Jan 8, 2025
@jonschz
Copy link
Collaborator

jonschz commented Jan 9, 2025

Just collecting a few thoughts:

  • Since reccmp is rather intended as a tool than a library (i.e. there won't be many (if any) other Python projects that import reccmp), supporting older Python versions is probably not that important.
  • I don't think CI compatibility is a major factor since you can always specify the version you want to use (unless I am mistaken here).
  • Would the main benefit of Python 3.11 be the availability of string enums? I don't see much of a reason why we'd have to support 3.10 if you see a significant benefit there.
  • I agree that we should specify a minimum of 3.10 due to the features we use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants