A Python library abstracting all the common patterns I can think of that somehow always pop up in async code.
Includes a wide range of submodules tailored for specific usages, though concrete low-level implementations are lacking.
Takes pride in:
- being as fast as can be in terms of import time
- providing detailed type checking via stub files included in the distribution
- having a well-equipped command line interface taking many flags and options
Make sure you have CPython 3.12 or above; even a pre-release of 3.15 will do. GraalPy 25.0 or above is also acceptable. You should have at least one Python package manager you are comfortable with. CPython free-threaded and debug builds are also supported. I have plans to support PyPy, but they are currently lagging behind the releases of the reference implementation and a 3.11 backport would be required, which is not going to happen.
The support for GraalPy is also experimental and I don't think its particular performance benefits would apply to this library, provided that part of
asyncio is written in C, and GraalPy's asyncio doesn't support Windows yet.
Discounting the installation, no extra setup is needed. See the installation guide for more.
This package is very resourceful, containing everything from higher-order error handling functions to network protocols. See the usage guide for some basic examples.
This is asyncutils v1.0.0. For your reference, here are all version tags up to now.
Besides using command line arguments to change console settings, the behaviour of this module as a library can be customized as well. See the configuration guide.
It is strongly recommended that you read the asyncio docs thoroughly if using event loop and async generator related features, since their behaviours are central points of confusion and have troubled me greatly in the development of this library.
Here are some resources if you're new to the world of async. They were of great assistance when I was learning async (I still am):
- asyncio how-to
- Basic walkthrough
- Basic video guide
- asyncio, threading, multiprocessing
- Event loop
- In-depth tutorial
If you have suggestions for how asyncutils could be improved, or want to report a bug, do open an issue! All contributions are welcome. For more, check out the contributing guide.
MIT © 2026 Jonathan Dung
| GitHub | Repo | Package | Uses | Status | Tests |
|---|---|---|---|---|---|