一个基于未来的Python异步库。
项目描述
duet
注意:duet-async 已更名为 duet。请使用它。
一个基于未来的Python异步库
Duet 从惊人的 trio 库和它使用的结构化并发异步编程方法中汲取灵感。然而,duet 与 trio 在两个方面有所不同
-
duet 依赖于
Future
接口进行并行处理,而不是实现完整的异步IO,它提供了一个在那些Future
周围运行 async/await 协程的方法。如果你使用的是返回 futures 的 API,例如 gRPC 这样的 RPC 库,这将很有用。标准的Future
接口没有直接实现__await__
,因此必须将Future
实例包装在duet.AwaitableFuture
中。 -
duet 是可重入的。在顶层,你通过调用
duet.run(foo)
来运行异步代码。在foo
内部,假设你调用了一个尚未完全重构为异步的函数,但该函数本身调用了duet.run(bar)
。大多数异步库,包括trio
和asyncio
,如果以这种方式尝试“重入”事件循环,将会引发异常,但 duet 允许这样做。我们发现,这可以简化将代码重构为异步的过程,因为你不需要一次性完全分离代码库中的同步和异步部分。
安装
从 PyPI 安装
pip install duet-async
注意
duet 不是一个官方的 Google 项目。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
duet-async-0.1.3.tar.gz (20.5 kB 查看哈希值)
构建分发
duet_async-0.1.3-py3-none-any.whl (24.9 kB 查看哈希值)
关闭
duet-async-0.1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4772ca9dd4ccb313f02807c083e71791402498d43f28f50116480010c16121f0 |
|
MD5 | 1f2498441fd7c027c5c5bcfa76c96310 |
|
BLAKE2b-256 | 7b815c00c65901c2d96f790d9b7d87cac434703516d54cc184698b4b7bef9a91 |
关闭
duet_async-0.1.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3cd39a6aa312ffc944cb8ee5da88cd11d3f17e6302a81c5d326fa1062093ddeb |
|
MD5 | 8513d67f8d1bed4d56ccd182e16f3205 |
|
BLAKE2b-256 | 5fafe0d9f9e79f873c259ea3e93b7129aa32a06e79392431a45f6a780c402c55 |