Skip to content

Request PEP 387 exception for remove asyncore, asynchat and stmpd in Python 3.11 #86

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

Closed
vstinner opened this issue Nov 16, 2021 · 8 comments

Comments

@vstinner
Copy link
Member

Context:

My PR got 5 approvals by core devs and so I merged it, but Brett wrote on python-dev:

I don't think it should be ignored and the modules got yanked prematurely. A request can be made to the SC, though, to expedite the removal with only one release raising an exception.

So I formally asks for a SC exception for this removal. If it's rejeted, I understand that the module should be restored.

@vstinner
Copy link
Member Author

I advertized the removal on What's New in Python 3.11, python-dev and Twitter to make sure that most people are aware of the removal.

I'm not using Twitter as a poll to take decisions, it's only to attempt to announce the change to as much persons as possible before Python 3.11 is released. So if something goes wrong, there is enough time until "3.11.0 final: Monday, 2022-10-03" to revert the change.

@vstinner
Copy link
Member Author

asyncore/asynchat deprecation has a long history starting in 2015: https://bugs.python.org/issue25002

@hroncok
Copy link

hroncok commented Dec 3, 2021

I must say I hope announcing changes on Twitter is not relevant to requests like this.

@vstinner
Copy link
Member Author

vstinner commented Dec 6, 2021

I searched for import (asyncore|asynchat|smtpd) in the source code of PyPI top 5000 project. At December 1st, 21 projects match this regex and I warned 2 projects. See https://bugs.python.org/issue28533#msg407559 for more details.

@brettcannon
Copy link
Member

I must say I hope announcing changes on Twitter is not relevant to requests like this.

I'm not quite sure what you're referring to (which I guess answers your question of how relevant Twitter is 😉)?

@pablogsal
Copy link
Member

pablogsal commented Dec 7, 2021

After some exhaustive discussion, the Steering Council has decided to reject the proposal to remove asynccore, asyncchat and stmpd in Python 3.11. We strongly believe that we should strictly follow the backward compatibility policy. As the deprecation warnings for these modules have not been active for at least two releases and the fact that this is deprecating entire module has led us to consider that this doesn't qualify for an exception. Following our decision, the changes in PR29521 should be reverted at the earliest convenience.

We sympathize with the fact that these modules have been marked as deprecated for a long time and the arguments exposed, but we want to remark on the importance of following procedure and the importance of good communication and the trust relationship between the core team and users. This has to lead us to decide as described previously.

Please, feel free to reopen the issue if you have questions or you wish to discuss some aspect of the decision.

@vstinner
Copy link
Member Author

vstinner commented Dec 7, 2021

Ok, I created python/cpython#29951 to add again asyncore, asynchat and smtpd in Python 3.11. I also reopened https://bugs.python.org/issue28533.

AlexWaygood added a commit to AlexWaygood/typeshed that referenced this issue Dec 7, 2021
The note next to `asyncore` and `asynchat` is no longer strictly accurate following the decision of the steering Council to revert the removal of these modules in 3.11: python/steering-council#86 (comment)
hauntsaninja pushed a commit to python/typeshed that referenced this issue Dec 7, 2021
The note next to `asyncore` and `asynchat` is no longer strictly accurate following the decision of the steering Council to revert the removal of these modules in 3.11: python/steering-council#86 (comment)
@vstinner
Copy link
Member Author

vstinner commented Nov 8, 2022

FYI these modules are removed again in Python 3.12: python/cpython#72719

The removal is now covered by PEP 594, approved by the SC.

I must say I hope announcing changes on Twitter is not relevant to requests like this.

No, it's not. I communicated on python-dev. I also made an announcement on Twitter to attempt to notify people who are not subscribed to this mailing list. I'm trying to communicate as much as possible on incompatible changes so people have more time before Python 3.12 final release to adapt their code. But these announcements are not a justification for the removal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants