Skip to content

[Python] Raise minimum required Python version from 3.8 to 3.9#20086

Merged
guitargeek merged 1 commit intoroot-project:masterfrom
guitargeek:py38
Oct 13, 2025
Merged

[Python] Raise minimum required Python version from 3.8 to 3.9#20086
guitargeek merged 1 commit intoroot-project:masterfrom
guitargeek:py38

Conversation

@guitargeek
Copy link
Copy Markdown
Contributor

Python 3.8 has been end-of-life for one year already. The last platform that used it was AlmaLinux 8, but also there it has reached end of life. Instead, RHEL has committed to support Python 3.12 until the end-of-life of RHEL 8 itself:
https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle

Therefore, our CI images for alma8 also use Python 3.12 now.

And although Python 3.9 has also reached end-of-life now, we still need to support it because it's the system Python version on macOS.

See:
https://devguide.python.org/versions/

@guitargeek guitargeek requested a review from vepadulano October 12, 2025 11:06
@guitargeek guitargeek self-assigned this Oct 12, 2025
@guitargeek guitargeek added in:Python Interface clean build Ask CI to do non-incremental build on PR build-python-wheels Run the workflow to build Python wheels labels Oct 12, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Oct 12, 2025

Test Results

    22 files      22 suites   3d 16h 3m 20s ⏱️
 3 689 tests  3 689 ✅ 0 💤 0 ❌
79 225 runs  79 225 ✅ 0 💤 0 ❌

Results for commit cf27cd8.

♻️ This comment has been updated with latest results.

Copy link
Copy Markdown
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! I wasn't sure we could already make the move because of RHEL, but with the extra info you provide I think it's safe. We could even discuss about this for MacOS, in the end on that platform the "system Python version" is not as clearly defined, because versions of the official Python binaries can be downloaded at https://www.python.org/downloads/macos/

Another question, when you say that our alma8 CI runs python 3.12, is it because you modified the image configuration or because the alma8 runner picks up the latest Python by default?

Lastly, I believe this PR is just missing a line in the release notes

@guitargeek
Copy link
Copy Markdown
Contributor Author

guitargeek commented Oct 13, 2025

Thank you! I wasn't sure we could already make the move because of RHEL, but with the extra info you provide I think it's safe. We could even discuss about this for MacOS, in the end on that platform the "system Python version" is not as clearly defined, because versions of the official Python binaries can be downloaded at https://www.python.org/downloads/macos/

Yes, we can think about that, but not sure we should do it now given that the macOS runners seem kind of unstable to me 🙂

Also note that alma9 is still using Python 3.9, and different from the alma8 situation, Red Hat has not committed to supporting any other Python version until the end of the RHEL 9 lifetime. If they follow the same pattern as RHEL 8, we can expect them to ship Python 3.15 in 2027 (see the section "RHEL 8 Full Life Application Streams Release Life Cycle" in the link a posted above). And we have to support Python 3.10 as well until 2027 because of Ubuntu 22.04.

So as I see it, the next minimum Python version requirement raise we can make with our current approach for Linux is Python 3.9 -> 3.12 in April 2027. That means finding a solution for macOS to upgrade the Python version is not urgent.

Another question, when you say that our alma8 CI runs python 3.12, is it because you modified the image configuration or because the alma8 runner picks up the latest Python by default?

I have explicitly updated it in root-ci-images:
root-project/root-ci-images@1b5658f#diff-9b3e6b0f4447054ea45151f30aab4cfb65ae8ee729909d5721dae43908d757e4

Lastly, I believe this PR is just missing a line in the release notes

Done!

Python 3.8 has been end-of-life for one year already. The last platform
that used it was AlmaLinux 8, but also there it has reached end of life.
Instead, RHEL has committed to support Python 3.12 until the end-of-life
of RHEL 8 itself:
https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle

Therefore, our CI images for `alma8` also use Python 3.12 now.

And although Python 3.9 has also reached end-of-life now, we still need
to support it because it's the system Python version on macOS.

See:
https://devguide.python.org/versions/
Copy link
Copy Markdown
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@guitargeek guitargeek merged commit 599cbfd into root-project:master Oct 13, 2025
27 checks passed
@guitargeek guitargeek deleted the py38 branch October 13, 2025 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build-python-wheels Run the workflow to build Python wheels clean build Ask CI to do non-incremental build on PR in:Python Interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants