Add support to Python 3.14, drop Python < 3.10#115
Open
carlosantoniodasilva wants to merge 14 commits intomainfrom
Open
Add support to Python 3.14, drop Python < 3.10#115carlosantoniodasilva wants to merge 14 commits intomainfrom
carlosantoniodasilva wants to merge 14 commits intomainfrom
Conversation
6d24c17 to
212b24c
Compare
Released Oct 7, 2025. https://docs.python.org/3/whatsnew/3.14.html
I'm running into some test trouble with supporting Python v3.8 all the
way to v3.14 now, and what seems to be incompatibilities here and there.
This fixes the last build issue to get v3.14 working:
error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13)
= help: please check if an updated version of PyO3 is available. Current version: 0.22.2
= help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
I couldn't find the magic incantation to get the fastapi tests running
with the right dependencies across all versions, so using this ENV var
for now to get it green.
https://github.com/PyO3/pyo3/blob/v0.27.1/CHANGELOG.md#0271---2025-10-21
I'll circle back on it as we will be dropping support to older versions
at some point soon hopefully, so for now I just want to get the build on
Python v3.14 going.
212b24c to
2193f6d
Compare
Drop support to Python < 3.10 officially, since they've reached EOL: https://devguide.python.org/versions/ This simplifies our test matrix and makes it easier to support new versions such as Python 3.14 going forward.
87aa17e to
44c4c56
Compare
44c4c56 to
576ab8f
Compare
Even though I don't think we're using it?
Django v2.2 does not support Python v3.10, according to their release notes: > Django 2.2 supports Python 3.5, 3.6, 3.7, 3.8 (as of 2.2.8), and 3.9 (as of 2.2.17) https://docs.djangoproject.com/en/6.0/releases/2.2/ Plus, the last release was in 2022. https://docs.djangoproject.com/en/6.0/releases/2.2.28/ Django v3.2 seems to be the first version to officially support Python v3.10: https://docs.djangoproject.com/en/6.0/releases/3.2/ I'm keeping our other Django samples which are using v4.2 now, for testing / coverage.
``` % poetry --version Poetry (version 1.8.4) ```
So they don't install dependencies every time. Poetry should be smart enough to run install & use the .venv cache when available. This also changes the main cache to just hash the main `poetry.lock` file, since that's all it needs, and it'd potentially cause a cache miss when only the sample apps might've changed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Python 3.14 was released Oct 7, 2025.
https://docs.python.org/3/whatsnew/3.14.html
Python 3.8 and 3.9 have ended support.
https://devguide.python.org/versions/
Python 3.10 should be supported for security fixes until 2026-10.
Some additional changes: