Is your feature request related to a problem? Please describe.
As of the lastest intake-esm release (2024.2.6), intake-esm no longer supports Python 3.9.
Currently, this package supports 3.9,3.10,3.11, leaving us with the option to use either 3.10 or 3.11.
Describe the feature you'd like
Add 3.12 support (and perhaps 3.13).
Additional context
Nothing in the test suite breaks when running tests on Python3.12 (on my machine). I haven't tested on CI against 3.12 (Ubuntu 22.04 I think versus local MacOS).
(N.B) Deprecating 3.9 would add support for typing syntactic sugar, eg.
def foo(x : float, y : float | None) -> float:
""" Return x + y if y is a float, else x """
if y is not None:
return x + y
return x
Previously, this would have had to have been written as
from typing import optional
def foo(x : float, y : Optional[float]) -> float:
""" Return x + y if y is a float, else x """
if y is not None:
return x + y
return x
This is potentially confusing as y is not an optional argument, it is optional as to whether it has a value. With that said, Python 3.9 is not deprecated until October 2025, so we should really keep supporting it.
Is your feature request related to a problem? Please describe.
As of the lastest intake-esm release (2024.2.6), intake-esm no longer supports Python 3.9.
Currently, this package supports 3.9,3.10,3.11, leaving us with the option to use either 3.10 or 3.11.
Describe the feature you'd like
Add 3.12 support (and perhaps 3.13).
Additional context
Previously, this would have had to have been written as
This is potentially confusing as y is not an optional argument, it is optional as to whether it has a value. With that said, Python 3.9 is not deprecated until October 2025, so we should really keep supporting it.