bpo-42611: PEP 594 - Remove asyncore, asynchat, and smptd from stdlib #23728
+1,604
−4,927
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As per PEP 594, this PR removes asyncore, asynchat, and smptd. This includes any documentation, tests, and source code, except for parts that were needed for existing tests. Those were moved to
Lib/test/support/<module>
, and the essential parts were determined through usage of coverage.py. After I removedtest_<module>
, I looked to see which members were utilized in the existing tests, and removed any that were not used. I did not do any partial removals though; e.g. specific unused branches within a member that is otherwise used. I also left unused__repr__
for debugging purposes.For improved communication and convenience to users, importing any of the 3 removed modules after these changes results in the following:
This could potentially be removed in couple versions if needed, but since it imposes no real maintenance burden I think we can leave the custom ImportError indefinitely. The only change would possibly be updating tiran/legacylib to python/legacylib, assuming it is eventually moved there.
https://bugs.python.org/issue42611