A library containing versatile tools to well complement the asyncio framework. Not as performant as C extensions, but startup speed is great considering the features it provides.
Project description
asyncutils
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
Setup
This package probably wouldn't work on alternate Python implementations. Make sure you have CPython 3.12 or above (even 3.15 will do), and at least one of many Python package managers you're comfortable with.
Discounting the installation, no extra setup is usually needed. See the installation guide for more.
Usage
This package is very resourceful, containing everything from higher-order error handling functions to network protocols. See the usage guide for some basic examples.
Version
This is asyncutils v0.9.8.
This library is currently in the beta stage, meaning the public API is subject to change even between patch versions, and changes made may be backward-incompatible. See the compatibility page.
See this page for the version tags up to now. Version tags for alpha versions have been phased out and cleansed with the release of v0.9.1, so you will only see tags beginning with 0.9.
Configuration
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.
Remarks
Regarding .markdownlint.json, even though there is no longer a pre-commit or workflow step requiring it, it contains the most basic ignores suitable for this project's files and should be respected. It will be auto-detected by relevant IDE extensions and allows running the linter locally.
It is strongly recommended that you read the asyncio docs thoroughly if using event loop related features.
Resources
Here are some resources if you're new to the world of async. They were of great assistance on my async journey:
- asyncio HOWTO
- Basic tutorial
- Basic video guide
- asyncio, threading, multiprocessing
- Event loop
- In-depth tutorial
Contributing
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.
License
MIT © 2026 Jonathan Dung
Have fun!
| GitHub | Repo | Package | Uses | Status | |
|---|---|---|---|---|---|
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_asyncutils-0.9.8.tar.gz.
File metadata
- Download URL: py_asyncutils-0.9.8.tar.gz
- Upload date:
- Size: 201.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83ab1b91f462cb638f4624af9cb56ff5a5315e984c25ac0f9f06b620b16d7d8f
|
|
| MD5 |
84416cd0c9ccd9a43c6ddbaef1c00db0
|
|
| BLAKE2b-256 |
a08bde2d2b865fb18251cdcb59d874b3dab8746ee2a228014c52b1c82fd48c36
|
File details
Details for the file py_asyncutils-0.9.8-py3-none-any.whl.
File metadata
- Download URL: py_asyncutils-0.9.8-py3-none-any.whl
- Upload date:
- Size: 228.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
408e394224fce13de57f890cdaeae63d780f26d1466794679b65f271e685ff56
|
|
| MD5 |
3adc37710a05f4d2a77b2632766bfdf0
|
|
| BLAKE2b-256 |
9873538128f8ec428ba50ebb6a40f7a9deb9ad42c4c078173abeebd46aaf08b8
|