跳转到主要内容

编写安全异步代码的实用工具集合。

项目描述

asynchrony

Python asyncio 框架,用于编写安全且快速的并发代码。

特性

  • 类型注释和类型安全
  • 易于处理取消、错误和调度。
  • 经过良好测试和文档化。
  • 无依赖。
  • 基于实际经验和痛点。

安装和使用

python3 -m pip install asynchrony

一个简单的示例,用于启动所有URL的并发任务(同时最多100个任务)并等待它们全部完成

from asynchrony import Tasks

async def download_page(url: str) -> bytes:
    ...

urls = [...]
tasks = Tasks[bytes](timeout=10, max_concurrency=100)
tasks.map(urls, download_page)

try:
    pages = await tasks
except Exception:
    failed = sum(t.failed for t in tasks)
    print(f'{failed} tasks failed')
    cancelled = sum(t.cancelled for t in tasks)
    print(f'{cancelled} tasks cancelled')
else:
    print(f'finished {len(tasks)} tasks')

查看教程获取可运行的示例。

项目详情


下载文件

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

源代码分发

asynchrony-0.2.0.tar.gz (11.9 kB 查看哈希值)

上传时间 源代码

构建分发

asynchrony-0.2.0-py3-none-any.whl (8.6 kB 查看哈希值)

上传时间 Python 3

由以下支持