跳转到主要内容

一个简单的基于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)。大多数异步库,包括trioasyncio,如果在这种方式尝试“重入”事件循环时将引发异常,但duet允许这样做。我们发现,这可以简化将代码重构为异步的过程,因为您不需要一次性完全分离代码库中的同步和异步部分。

安装

从PyPI安装

pip install duet

注意

duet不是官方的Google项目。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

duet-0.2.9.tar.gz (24.4 kB 查看哈希值)

上传时间

构建分布

duet-0.2.9-py3-none-any.whl (29.6 kB 查看哈希值)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面