-
Notifications
You must be signed in to change notification settings - Fork 279
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
MNT: migrate away from distutils #3384
Comments
upstream issues worth keeping an eye on |
I'm taking action upstream to cut the remaining ties we have to distutils, see pypa/setuptools#3445 |
Discussions with setuptools maintainers helped clarified that we can still rely on setuptools' compatibility shim for distutils for now. This means that yt will still build on Python 3.12 as long as the shim is maintained, but it will also be removed at some point. An implication is that we should start pinning setuptools on release branches to make sure that releases can still be built from source in the future. |
The distutils builtin package is slanted for removal in Python 3.12, which should be released around October 2023.
It is currently used in several places in yt, making it de facto incompatible with Python 3.12
In #3380, among other things, I'm setting an explicit upper limit to compatible Python versions, as a temporary bandaid that can be shipped with yt 4.0, but it'd be preferable to solve this for 4.1, at the latest.
Note that we are already specifying
setuptools
(notdistutils
) as our build system inpyproject.toml
, which means that migrating away from the bits ofdistutils
that we do use (most importantly insetupext.py
) should be trivial.I do not know how hard (or necessary) it would be to migrate away from distutils directives (first introduced in #2509).
useful resources:
https://setuptools.pypa.io/en/latest/deprecated/distutils-legacy.html?highlight=distutils
https://www.python.org/dev/peps/pep-0632/#migration-advice
Originally posted by @neutrinoceros in #3380 (comment)
The text was updated successfully, but these errors were encountered: