Drop support for Python 3.10 and ensure compatibility with 3.14
xarray dropped support for Python 3.10 about 4 months ago. I'd like to drop support too as soon Herbie can support Python 3.14.
Here's some documents on how other packages are supported:
Numpy's NEP 29 gives guidance on when to drop support for older Python and packages. https://numpy.org/neps/nep-0029-deprecation_policy.html
- Drop support for Python versions released more than 42 months ago (3.5 years)
- Drop support for packages released more than 24 months ago (2 years)
Also, the Scientific Python community's "Minimum Supported Dependencies" has a nice table https://scientific-python.org/specs/spec-0000/
According to that table, Herbie's minimum dependencies today should be:
- Python 3.12 (this seems a little strict, I should probably test against 3.11 too for a little while)
- Numpy 2.0
- Pandas 2.2
- xarray 2023.11.0
- scipy 1.12
- scikit-learn 1.4
From https://pypistats.org/packages/herbie-data, most Herbie users are using Python 3.12. A fair share use 3.11. There are much fewer people using 3.10. People have adopted 3.13 yet (that's the Python version I use).
I think it's safe to say it's time to drop support for 3.10.