Python 3.8 is our minimum supported version. Everything that works in 3.8 is likely to work in future Python version (Python is good at backwards compatibility).
The problem is that sometimes we developers add new features for e.g. 3.11 and then only notice once it fails on CI in cryptic ways, or worse, fails at run-time for things that aren't covered by CI.
I'm not sure how we enforce a specific Python version though. Perhaps we need to look to Conda or https://github.com/mitsuhiko/rye
Python 3.8 is our minimum supported version. Everything that works in 3.8 is likely to work in future Python version (Python is good at backwards compatibility).
The problem is that sometimes we developers add new features for e.g. 3.11 and then only notice once it fails on CI in cryptic ways, or worse, fails at run-time for things that aren't covered by CI.
I'm not sure how we enforce a specific Python version though. Perhaps we need to look to Conda or https://github.com/mitsuhiko/rye