chore: enforce python version within EEST
Following, https://github.com/ethereum/execution-spec-tests/pull/1495#discussion_r2068897965, should we enforce a specific python version to use in the repo?
Opening the discussion here!
I'd be in favor of recommending 3.11, labelling that as the version we use and letting the user decide otherwise.
Note 3.11 is around 25% faster than 3.10 :)
cc-ing @danceratopz
I think this would be the way to achieve it: https://docs.astral.sh/uv/guides/projects/#python-version
Note that uv will download the correct compiled version of python if it's not available.
Perhaps we should drop 3.10 support entirely, btw?
Thanks for creating the issue! I think defining an exact Python version that everyone uses can help us avoid lots of problems over time. I would prefer being very specific and not just say 3.11 (could be anything in 3.11.0 to 3.11.12) but specify exact version. I think we should drop support for anything that isn't the exact version, as in you are free to experiment with other Python versions and it might or might not work because we as a team have agreed to exclusively use version x.y.z. And we only upgrade it when there is a specific reason to do so (e.g. Python feature we actively want to start using or great performance gains etc.). I think 3.13.x is too much trouble now so I would be fine with either 3.11.12 or 3.12.10
We should reconsider this in the context of the merge, we have to find an acceptable range of python versions that eels agrees with. Will close for now, but it will come up again at some point