一个简单的基于future的Python异步库。
项目描述
duet
一个简单的基于future的Python异步库
Duet从惊人的trio库和它使用的结构化并发异步编程方法中汲取灵感。然而,duet在两个方面与trio不同
-
duet不是异步IO的全面实现,而是依赖于
Future
接口进行并行处理,并提供在那些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
注意
duet不是官方的Google项目。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
duet-0.2.9.tar.gz (24.4 kB 查看哈希值)
构建分布
duet-0.2.9-py3-none-any.whl (29.6 kB 查看哈希值)
关闭
duet-0.2.9.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d6fa39582e6a3dce1096c47e5fbcbda648a633eed94a38943e68662afa2587f3 |
|
MD5 | 45374b25cda1be268c2309224868ecfd |
|
BLAKE2b-256 | c7b8ef7c1a8a515d5195970ba5fdf420400052346873d3370de75f8b97e413bd |
关闭
duet-0.2.9-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a16088b68b0faee8aee12cdf4d0a8af060ed958badb44f3e32f123f13f64119a |
|
MD5 | fe740d4e86a20efd57dc6e8565f334e8 |
|
BLAKE2b-256 | be9503c8215f675349ff719cb44cd837c2468fdc0c05f55f523f3cad86bbdcc6 |