Require Python 3.12#1417
Conversation
b59cbc3 to
ee9fe26
Compare
Sphinx and various other packages have started dropping support for Python 3.10, so require Python 3.12 and upgrade the source code to use Python 3.12 features where possible. The most noticeable change for OWS is that the override decorator is part of typing, and the UTC alias declared in datetime.
ee9fe26 to
11d4ed8
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #1417 +/- ##
===========================================
- Coverage 92.81% 92.79% -0.02%
===========================================
Files 53 53
Lines 7233 7221 -12
===========================================
- Hits 6713 6701 -12
Misses 520 520
🚀 New features to boost your workflow:
|
|
Our experience has been that installations into quite old Python environments are fairly common, and we have generally tried to support the oldest officially supported version of Python at any given time (currently 3.10, with scheduled end-of-life October 2026). I think there is a strong case to be made that "production service" repos like OWS and Explorer can live a bit closer to the bleeding edge, but I think it needs broader discussion - in the technical subcommittee if not the Steering Council. I'll open a thread on Discord. |
|
I'm not sure about making code not work on older versions that are supported (currently Personally, I'm on According to this, Can you clarify if this is a hard requirement, or a recommended requirement? |
|
As discussed on Discord, it appears the upcoming 1.5 release of rasterio may require Python >=3.12. If this is the case (and especially if rasterio 1.5 finally fixes the rio_slurp bug with GDAL 3.12) then we will probably need to required Python 3.12 for ALL repos, at least from core upwards. I propose we stick with Python 3.10 until rasterio 1.5 is released and the status of the rio_slurp bug is clear. |
Sphinx and various other packages
have started dropping support
for Python 3.10, so require
Python 3.12 and upgrade the source
code to use Python 3.12 features
where possible.
The most noticeable change for OWS
is that the override decorator is
part of typing, and the UTC alias
declared in datetime.
📚 Documentation preview 📚: https://datacube-ows--1417.org.readthedocs.build/en/1417/