The SC is accepting PEP 632: deprecating distutils
On behalf of the SC, I'm happy to announce that we have chosen to accept PEP 632. Congrats, Steve, and thanks for the work on the PEP! I'll let Steve outline what the next steps are for implementing the PEP.
On 1/21/2021 6:30 PM, Brett Cannon wrote:
On behalf of the SC, I'm happy to announce that we have chosen to accept PEP 632. Congrats, Steve, and thanks for the work on the PEP!
I'll let Steve outline what the next steps are for implementing the PEP.
Thanks. Work from this point on will be tracked at https://bugs.python.org/issue41282 The next immediate step is finishing off https://github.com/python/cpython/pull/23142 to do the biggest task of bringing sysconfig up to compatibility with distutils.sysconfig. Once merged, we'll add the deprecation warning on import (Lib/distutils/__init__.py) and close all the current issues in the tracker (and any associated PRs). That should be done before 3.10 Beta 1. From there, I'll spend time publicising the deprecation as much as possible (and everyone is welcome to help out) to find enough cases for retaining functionality that we can make sensible decisions on where to move things. From discussions so far, most of the functionality that people expect is well covered by either setuptools or the standard library. The rest, officially, should be copied into your own project as needed. Eventually, my plan is to move distutils into our Tools folder and update the setup.py we use for building stdlib extension modules (and the PEG parser tests) to point at it there. However, if someone else updates our build system to do it all through the Makefile, that won't be necessary, and I know a few people were keen to do it. I'm not *requiring* that it be done, and we have an easy fallback plan, but I'll happily *encourage* anyone who wants to update the Makefile to go ahead. One thing I do *not* intend to do is go through and thoroughly document everything that's being deleted. Some have asked or implied that this should be done, but it's just not going to happen. Everything beyond the package build support and sysconfig is helper functions, and mostly pretty rough ones to be honest. There are almost certainly 1st or 3rd party modules with better quality implementations, and if not then I expect there will be (and if you're one of the really concerned people, the best thing you can do to help now that the PEP is accepted is to create a new library with these helpers). Feel free to raise any questions here or on the bug linked above. Cheers, Steve
participants (2)
-
Brett Cannon
-
Steve Dower