pyasynchat
Make asynchat available for Python 3.12 onwards
What it is and what it does
This package restores the asynchat module for Python 3.12 and later, where it was removed from the standard library. The module is taken directly from Python 3.9's standard library—the last version before deprecation warnings were added—and depends on pyasyncore. It is a compatibility shim for existing code that relies on asynchat without needing major refactoring.
The package is explicitly not maintained beyond packaging updates, since asynchat itself is no longer supported by Python core development. For Python 3.10–3.11, installing this package will not remove deprecation warnings; the warnings module must be used to suppress them.
Use it for:
- Running existing code that depends on asynchat when upgrading to Python 3.12 or later.
- Providing a stable, frozen version of asynchat for projects during migration planning.
- Avoiding import errors in codebases that use asynchat on Python 3.12+.
- Temporary bridge for legacy systems while planning longer-term architectural changes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides the asynchat module for Python 3.12 and later, where it was removed from the standard library, allowing existing code to run without refactoring.
Yes, if you have existing code that depends on asynchat and cannot immediately refactor. The package is stable with no known vulnerabilities, but understand it is not maintained and asynchat itself is deprecated. Install only as a temporary compatibility bridge, not for new projects.
Install
pyasynchat on PyPI
pip
pip install pyasynchatuv
uv add pyasynchatpoetry
poetry add pyasynchatInstalling pyasynchat
Before you install
Low install friction with a single runtime dependency (pyasyncore). Maintenance is aging—the package is intentionally not maintained beyond packaging updates, as the underlying code is no longer supported by Python core.
License in practice
Licensed under Python Software Foundation License Version 2, a permissive license. No restrictions on use, modification, or distribution for most purposes.
Quickstart
pip install pyasynchat
import asynchat
class MyHandler(asynchat.async_chat):
pass
Intended for Python 3.12 or later; on earlier versions the standard library version will be used instead.
Verify before relying
- Whether pyasyncore (the single runtime dependency) itself is maintained or carries known issues.
- How well the module's behavior is preserved across Python 3.12, 3.13, and 3.14 in practice.
- Whether deprecation warnings in Python 3.10 and 3.11 can be effectively suppressed when using this package.
Package facts
| License | Python Software Foundation License Version 2 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pyasyncore |
| Maintenance | aging — 221 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 824,832/month — #4,962 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyasynchat-1.0.5-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pyasyncoreProvides the asyncore module for Python 3.12…
permissive · top 5,000 on PyPI
contextlib2contextlib2 backports the Python standard…
permissive · top 5,000 on PyPI
pickle5Backports the pickle 5 protocol (PEP 574) and…
permissive · top 15,000 on PyPI
legacy-cgiProvides the cgi and cgitb modules removed from…
permissive · top 5,000 on PyPI
asyncioThis package is an obsolete backport of…
permissive · top 1,000 on PyPI
importlibProvides importlib.import_module() for Python…
unclear · top 15,000 on PyPI
channelsChannels augments Django with WebSocket,…
permissive · top 5,000 on PyPI
packaging-legacyProvides access to deprecated Python packaging…
permissive · top 15,000 on PyPI
standard-telnetlibProvides the telnetlib module removed from…
permissive · top 15,000 on PyPI
standard-chunkProvides the chunk module, a removed Python…
permissive · top 5,000 on PyPI