Awesome Asyncio 《碉堡的Asyncio·中文版》

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 转一篇关于Asyncio的资源帖。基本涵盖了基于Asyncio的Python生态,非常适合用Python编写高性能服务。可以和之前转的驹神的文章结合看。

转一篇关于Asyncio的资源帖。基本涵盖了基于Asyncio的Python生态,非常适合用Python编写高性能服务。可以和之前转的驹神的文章结合看。如果想让Python技能更上一层楼,强烈建议好好学习下这个资源列表!

img_d5e3183335277cc6acfefed93e27c89b.png
Awesome-Asyncio-CN

Awesome-Asyncio-CN

Awesome-Asyncio-CN Github 网址

Python Asyncio 精选资源列表,囊括了网络框架,库,软件等资源

Awesome-asyncioTimo Furrer 发起并维护的 Python Asyncio 资源列表。本项目是其中文版,在这里,收集了大量的 Asyncio 的最棒、最新的资源,供大家探索 Python 异步编程世界。

Python 3.4 引入了 Asyncio 模块作为标准库,通过协程、多路 I/O 访问 Socket 和其他资源来编写单线程并发代码,并在网络客户端与服务器上运行。Asyncio 内置了对异步 I/O 的支持,其编程模型类似于消息循环,从 Asyncio 模块可以直接获取 EventLoop 引用,再把需要执行的协程放到 EventLoop 中执行,就实现了异步 I/O。Asyncio 是由 Python 之父 Guido 领导的项目,该项目被命名为 Tulip(郁金香)。

Asyncio 并不是新出现的黑科技,一些社区有名的第三库如 Twisted、gevent 早就推出了异步编程模型。不过,自从 2016 年 3 月,Python 3.4 推出以后,这两年来,Asyncio 变得越来越流行,并且特别受到 Python 社区追捧。

贡献代码

欢迎大家为列表贡献高质量的新资源,提交 PR 时请参照以下要求

  • 注明推荐理由

  • 确保项目相对活跃

目录

Web框架

构建 Web 应用的库

  • aiohttp - 支持 Asyncio (PEP-3156) 的 HTTP 客户端/服务端网络库。

  • sanic - Python 3.5+ Web 服务器,主打速度与性能。

  • Quart - 支持 Asyncio 的 Web 微框架,使用与 Flask 相同的 API。

  • Kyoukai - 使用 Asyncio 编写的 Python3.5+ 完全异步 Web 框架。

  • cirrina - 基于 aiohttp 的异步 Web 框架。

  • autobahn - 支持 Asyncio 与 Twisted 的 WebSocket 及 WAMP,用于客户端与服务端。

  • websockets - Python 构建的 WebSocket 客户端/服务端的库,致力于简洁、正确地编写代码。

  • Tornado - 高性能 Web 框架以及异步网络库。

  • Japronto! - 基于 uvloop 和 picohttpparse 构建的实验性 HTTP 工具箱。

消息队列

使用消息队列执行应用的库

  • aioamqp - 使用 Asyncio 异步执行 AMQP。

  • aiozmq - 集成了 Asyncio (pep 3156) 的 ZeroMQ。

  • crossbar - Crossbar.io 是提供分布式和微服务应用的网络平台。

数据库驱动

数据库的驱动库

  • asyncpg - 快速访问 PostgreSQL 数据库客户端的异步驱动。

  • asyncpgsa - 提供 Sqlalchemy Core 支持的 Asyncpg。

  • aiopg - 访问 PostgreSQL 数据库的异步驱动。

  • aiomysql - 访问 MySQL 数据库的异步驱动。

  • aioodbc - 访问 ODBC 数据库的异步驱动。

  • motor - 访问 MongoDB 数据库的异步驱动。

  • aioredis - aio-libs 提供的异步 Redis 客户端 (PEP 3156)。

  • asyncio-redis - 访问 Redis 客户端 (PEP 3156)的异步驱动。

  • aiocouchdb - 基于 aiohttp (Asyncio) 构建的 CouchDB 客户端。

  • aioinflux - 基于 aiohttp 构建的 InfluxDB 客户端。

  • aioes - 兼容 elasticsearch 的 Asyncio 驱动。

  • peewee-async - 基于 peewee 和 aiopg 实现的 ORM。

  • GINO - 基于 SQLAlchemy Core 和 asyncpg 方言的轻量级 Python 异步 ORM。

  • aiocache - 支持多个后端 (Memory、Redis 和 Memcached) 的 Asyncio 缓存管理器。

  • aiomcache - 访问 Memcached 的 Asyncio(PEP 3156) 驱动库。

网络

网络通讯库

  • AsyncSSH - 提供执行 SSHv2 协议的异步客户端/服务端。

  • asks - 与 requests 接口相似的异步 HTTP 库。

  • aioftp - 基于 Asyncio 的 ftp 服务。

  • aiodns - 简单的 Asyncio DNS 服务解析器。

  • websockets 构建于 Asyncio 之上的异步 websockets 库。

测试

测试 Asyncio 应用程序的库

  • aiomock - 支持异步的 Python mock 库。

  • asynctest - 一个增强标准 unittest 包的测试库。

  • pytest-asyncio - 支持 Asyncio 的 Pytest 库。

  • aioresponses - 一个适用于 aiohttp 的模拟请求库。

备选事件循环

备选的 Asyncio 循环库

  • uvloop - 基于 libuv 实现的 Asyncio 事件循环库。

  • curio - 协程并发库。

  • trio - 人性化的,Pythonic 的异步 IO 库。

并行

并行异步编程的库

  • aioprocessing - 结合 multiprocessing 与 Asyncio 的进程库,支持 Python3.4+。

  • aiomultiprocess - 进一步提升异步性能的多进程库。

其他

未归类的优秀 Asnycio 库

  • aiofiles - 基于 Asyncio,支持文件异步操作。

  • aiodebug - 用于监控和测试 Asyncio 程序的微型库。

  • aiorun - 提供处理通用 Asyncio 样板,启动和关闭事件驱动的 run 函数。

  • aiozipkin - 使用 zipkin 的分布式 Asyncio 追踪测量仪。

  • faust - 纯 Python 的流处理库,用于处理流数据和事件。

  • paco - 协程驱动的异步编程的工具库 (Python3.4+)。

文献

关于 Asyncio 的文档、博客等文献

演讲

关于 Asyncio 的主题演讲

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
10天前
|
调度 开发者 Python
异步编程在Python中的应用:Asyncio和Coroutines
【4月更文挑战第9天】本文介绍了Python中的异步编程,强调了其在提高程序性能和响应能力中的作用。文章重点讨论了`asyncio`模块和协程的概念,协程是可暂停和恢复的特殊函数,而`asyncio`提供事件循环和任务管理,实现异步I/O操作。通过一个简单的HTTP服务器示例,展示了如何使用`asyncio`和协程处理并发请求。异步编程已成为Python开发中的重要技能,尤其在处理大量I/O操作时。
|
3天前
|
API 调度 开发者
深入理解Python异步编程:从Asyncio到实战应用
在现代软件开发中,异步编程技术已成为提升应用性能和响应速度的关键策略。本文将通过实例讲解Python中的异步编程核心库Asyncio的基本概念、关键功能以及其在Web开发中的应用。我们不仅将理论与实践结合,还将展示如何通过实际代码示例解决常见的并发问题,帮助开发者更有效地利用Python进行异步编程。
|
1月前
|
调度 开发者 Python
Python的asyncio库:掌握异步编程的利器
Python的asyncio库:掌握异步编程的利器
23 0
|
5月前
|
Python
164 python网络编程 - 协程(gevent版)
164 python网络编程 - 协程(gevent版)
39 0
|
9月前
|
调度 Python 容器
Python中篇 3. asyncio中协称如何被事件循环调度的-Future/Task是关键先生
Python中篇 3. asyncio中协称如何被事件循环调度的-Future/Task是关键先生
|
JavaScript Python
playwright框架入门使用
playwright框架入门使用
415 1
playwright框架入门使用
|
网络协议 Java API
Py之gevent:gevent的简介、安装、使用方法之详细攻略
Py之gevent:gevent的简介、安装、使用方法之详细攻略
Py之gevent:gevent的简介、安装、使用方法之详细攻略
|
Python
完整官网asyncio协程学习
完整官网asyncio协程学习
139 0
|
消息中间件 NoSQL 关系型数据库
awesome asyncio-精选python异步框架清单集合
Python 3.4引入标准库的Python asyncio模块提供了使用协程编写单线程并发代码,通过套接字和其他资源对I / O进行多路访问,运行网络客户端和服务器以及其他相关原语的基础结构。 Asyncio并不是真正的崭新技术,但是自几年以来,它似乎一直非常流行,尤其是在Python社区以及2014年3月发布的Python 3.4中。要保持最新非常困难,在这里您可以找到一些很棒的软件包。
2086 0
awesome asyncio-精选python异步框架清单集合