Skip to content
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

Unbundle asyncore and asynchat #637

Merged
merged 1 commit into from
Jul 4, 2024

Conversation

penguinpee
Copy link
Contributor

Use pyasyncore and pyasynchat from PyPI instead.

Use `pyasyncore` and `pyasynchat` from PyPI instead.
@penguinpee
Copy link
Contributor Author

For the current release the patch is a little more elaborate due to the PY3 specific checks. But I have a patch ready for that as well, if needed.

Motivation for the patch: In Fedora we prefer shared libraries/modules over bundling them. In this case pyasyncore and pyasynchat fill the gap left behind in Python >= 3.12 when those modules were removed from core.

install_requires=[
"pyasyncore;python_version>='3.12'",
"pyasynchat;python_version>='3.12'",
],
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to remove the 3.12 dependency and always install these 2 libs. Reason: according to https://github.com/simonrob/pyasyncore, they reflect the Python 3.9 incarnation, so I think it's better to stick with that same version also for people using Python < 3.9.

The [specific version of asyncore that is provided (https://github.com/simonrob/pyasyncore/blob/master/asyncore/init.py) is the last update before the addition of deprecation/removal warnings at import time, and is essentially equivalent to the version bundled with Python 3.9 (which was the last time the module was meaningfully updated).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's better to remove the 3.12 dependency and always install these 2 libs. Reason: according to https://github.com/simonrob/pyasyncore, they reflect the Python 3.9 incarnation, so I think it's better to stick with that same version also for people using Python < 3.9.

The [specific version of asyncore that is provided (https://github.com/simonrob/pyasyncore/blob/master/asyncore/init.py) is the last update before the addition of deprecation/removal warnings at import time, and is essentially equivalent to the version bundled with Python 3.9 (which was the last time the module was meaningfully updated).

Fair enough. I can change it, though it won't have any effect on Python < 3.12 as per the Installation part of pyasyncore's README:

"The module can be installed for earlier Python versions, but it will have no effect, and the standard library version of asyncore will be used in its place."

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh you're right. Then I think we're fine.

@giampaolo giampaolo merged commit eef1696 into giampaolo:master Jul 4, 2024
4 of 5 checks passed
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

Successfully merging this pull request may close these issues.

2 participants