编写安全异步代码的实用工具集合。
项目描述
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 查看哈希值)
关闭
asynchrony-0.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9589dca3257843294a9965fff2de41a45fd4356e94aeae8587e453b67e23260e |
|
MD5 | 288ba9be19ef8329e8c96789737b429b |
|
BLAKE2b-256 | 28f74c9dc1029e4ca6bd3c1893293af653c339ccb8ecee79a73f70416f10e777 |
关闭
asynchrony-0.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d1823458b27e9eecdd8dd034ae1010fdaa9e51fd44098a417cd7da10b747d4c8 |
|
MD5 | d8444e52c6d96af1210f430580b076f3 |
|
BLAKE2b-256 | e22c937b315a4d3600bc7d9c69b6ec83a0c1b04a67d57fed468d308199190233 |