Skip to main content

Async Chain

Utility for chaining awaits

About

This package allows library developers to write interfaces that are both fluent and async, avoiding ugly syntax, like in the following example:

async def on_message(event):
    # bad!
    (await (await (await event.get_message()).get_author()).send_message("Hello world!"))

Instead, by marking all involved methods with the @async_chain.method decorator:

import async_chain

class MyEvent:
    @async_chain.method
    async def get_message(self):
        ...

The following syntax can be achieved:

async def on_message(event):
    # nice!
    await event.get_message().get_author().send_message("Hello world!")

Links

Tools

Written in Python

Packaging

Available on PyPI   Available on Forgejo Packages

Documentation

Licensed under MIT license

Development

Code repository   Releases   Issues   Pull requests

Release files for async-chain 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for async-chain 0.1.5
File Size Uploaded
async_chain-0.1.5.tar.gz 3.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for async-chain 0.1.5
File Interpreter ABI Platform
async_chain-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 7.9 kB

Release files / async_chain-0.1.5.tar.gz

Download URL async_chain-0.1.5.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3f48678b047629d33c491432fb2942aee24a74ab2f82d3ebd15b958379d8f851
BLAKE2b-256 checksum
How to use checksums
51f55400e4e1f8be6b76058bf407b005349800eff79a6b041a9db8af8f6a7b27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / async_chain-0.1.5-py3-none-any.whl

Download URL async_chain-0.1.5-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6db0ca4d53ea24b983ffd7d7ac20247589143fefcc0ac8135f96de843a39e96
BLAKE2b-256 checksum
How to use checksums
4ffecf3236a2862020692051a5815a3d6c0b26251513ecc229ed9b6717416902
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page