-
-
Notifications
You must be signed in to change notification settings - Fork 867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add python==3.13
and drop python==3.8
#1175
base: main
Are you sure you want to change the base?
add python==3.13
and drop python==3.8
#1175
Conversation
Is there anything forcing us to break compatibility with 3.8? My general intuition is that we can keep it around for now, and once we need any features that were added in 3.9, we drop it without much worry in the next release |
Generally we drop support for python versions once they become unsupported by the python developers. |
This isn't some dogma that we must always follow. My point is a bit more from first principles - there's a difference between actively and passively supporting some version. FWIW I just checked and I'm pretty sure this PR actually does it the way I'm proposing: Line 11 in 50bf685
If we really want to drop 3.8, we'd bump this to 3.9, so that users cannot (without some weird workarounds) install gymnasium on 3.8. I don't think that makes sense to do if we know that Gymnasium actually runs alright on 3.8. On the other hand, if we want to keep this "passive" support, removing it from the test suite makes it... awkward. Let's say in 1.1.0 we want to add a feature which uses, say, dict merging All this to say - we should add 3.13 to the test matrix, and keep a policy that 3.8 compatibility can be broken, but consciously. There is no reason that I see to actually drop support right now, so let's keep it to maintain wider compatibility. We definitely shouldn't do anything halfway, i.e. allow it to be installed but untested. |
pyproject.toml
Outdated
@@ -13,14 +13,14 @@ authors = [{ name = "Farama Foundation", email = "[email protected]" }] | |||
license = { text = "MIT License" } | |||
keywords = ["Reinforcement Learning", "game", "RL", "AI", "gymnasium"] | |||
classifiers = [ | |||
"Development Status :: 4 - Beta", # change to `5 - Production/Stable` when ready |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is done because 1.0 release
Most libraries such as |
This would break what @RedTachyon is suggesting, but if we completely dropping 3.8 then we should update pyupgrade in pre-commit to |
Python 3.13 has been delayed by a week due to unexpected performance regressions fyi |
Waiting for |
Mujoco |
MuJoCo 3.2.6 has prebuilt wheels for Python 3.13. |
Thanks @saran-t We are still waiting on TensorStore that flax uses - google/tensorstore#204 |
No description provided.