Skip to main content

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

PyPI - Python Version PyPI version Build [Coverage] Publish GitHub Pages pre-commit.ci Docs Conda version conda-forge feedstock Contributor Covenant

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.9.

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:

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 Tests
GitHub release Project stars PyPI - Implementation uv Pytest Maintenance Tests
GitHub release date GitHub forks Noarch ruff Sphinx-lint Contributions Welcome Warnings
Commits since last release GitHub watchers PyPI - Wheel ty Read the Docs PRs Welcome Expected failures
GitHub commit activity GitHub PyPI - Format SemVer Actionlint Beta Duration
GitHub issues GitHub Downloads (all assets, all releases) PyPI - License Sphinx setuptools Blazingly fast Skipped
GitHub pull requests Repo creation PyPI - Downloads GitHub Pages PyPI
GitHub contributors GitHub repo size Pre-commit Conda
GitHub last commit Top language detect-secrets conda-forge

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

py_asyncutils-0.9.9.tar.gz (206.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_asyncutils-0.9.9-py3-none-any.whl (231.3 kB view details)

Uploaded Python 3

File details

Details for the file py_asyncutils-0.9.9.tar.gz.

File metadata

  • Download URL: py_asyncutils-0.9.9.tar.gz
  • Upload date:
  • Size: 206.1 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

Hashes for py_asyncutils-0.9.9.tar.gz
Algorithm Hash digest
SHA256 71731d820af8ffdcfd20814bc9085b9b166dc6039f679a47fd020e3a209e9c23
MD5 a65ca521d898cb8186d6d982f60e36a9
BLAKE2b-256 abbc9e2691900488bde8cf5a087cb2038b2a2b6ece28079cacf3d39d15b32142

See more details on using hashes here.

File details

Details for the file py_asyncutils-0.9.9-py3-none-any.whl.

File metadata

  • Download URL: py_asyncutils-0.9.9-py3-none-any.whl
  • Upload date:
  • Size: 231.3 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

Hashes for py_asyncutils-0.9.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a15544f43abdf3f052e6a1a08c19e25558d19bcad65012f207446799b1c20b30
MD5 1c203355623e8c94beb9a397259eecbc
BLAKE2b-256 44b2ed023f486da33c022c2c0f2d7d18c6a0b509a06a187c8bc3e9a2610bdf99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page