awesome asyncio-精选python异步框架清单集合

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Python 3.4引入标准库的Python asyncio模块提供了使用协程编写单线程并发代码,通过套接字和其他资源对I / O进行多路访问,运行网络客户端和服务器以及其他相关原语的基础结构。Asyncio并不是真正的崭新技术,但是自几年以来,它似乎一直非常流行,尤其是在Python社区以及2014年3月发布的Python 3.4中。要保持最新非常困难,在这里您可以找到一些很棒的软件包。

Python 3.4引入标准库的Python asyncio模块提供了使用协程编写单线程并发代码,通过套接字和其他资源对I / O进行多路访问,运行网络客户端和服务器以及其他相关原语的基础结构。

Asyncio并不是真正的崭新技术,但是自几年以来,它似乎一直非常流行,尤其是在Python社区以及2014年3月发布的Python 3.4中。要保持最新非常困难,在这里您可以找到一些很棒的软件包。

Web框架

**用于构建Web应用程序的库。
**
aiohttp-异步的Http客户端/服务器(PEP-3156)。

sanic-编写速度更快的Python 3.5+ Web服务器。

quart-一个ASYNCIO网络microframework用相同的API瓶。
QQ截图20201209153738.jpg

Vibora-受Flask启发的高性能Web框架。

cirrina-有意见的基于aiohttp的异步Web框架。

autobahn-用于客户端和服务器的WebSocket和WAMP支持asyncio和Twisted。

websockets-一个库,用于在Python中构建WebSocket服务器和客户端,重点是正确性和简单性。

Tornado -Performance Web框架和异步网络库。

Japronto!-基于uvloop和picohttpparser构建的实验性HTTP工具包。

Starlette-用于构建高性能服务的轻量级ASGI框架/工具包。

uvicorn-快如闪电的ASGI服务器。

FastAPI-基于类型提示的非常高性能的Python 3.6+ API框架。由Starlette和Pydantic提供支持。

消息队列

**使用消息队列实现应用程序的库。
**
aioamqp-使用asyncio的AMQP实现。

pyzmq -ZeroMQ的Python绑定。

aiozmq-与ZeroMQ的替代性Asyncio集成。

crossbar-Crossbar.io是用于分布式和微服务应用程序的网络平台。

asyncio-nats -NATS邮件系统的客户端。

aiokafka -Apache Kafka的客户端。

数据库驱动程序

**库连接到数据库。
**
asyncpg-适用于Python / asyncio的快速PostgreSQL数据库客户端库。

asyncpgsa-具有sqlalchemy核心支持的Asyncpg。

aiopg-用于访问PostgreSQL数据库的库。

aiomysql-用于访问MySQL数据库的库

aioodbc-用于访问ODBC数据库的库。

motor -MongoDB的异步Python驱动程序。

aioredis - aio-libs Redis客户端(PEP 3156)。

asyncio- redis-用于Python asyncio的Redis客户端(PEP 3156)。

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

aioinflux-在aiohttp之上构建的InfluxDB客户端。

aioes-用于Elasticsearch的Asyncio兼容驱动程序。

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

GINO-是基于SQLAlchemy核心的轻量级异步Python ORM ,带有asyncpg方言。

Tortoise ORM-具有类似Django的API和易于进行的关系管理的本机多后端ORM。

数据库-对SQLAlchemy核心的异步数据库访问,并支持PostgreSQL,MySQL和SQLite。

网络

**在您的网络中进行通信的库。
**
AsyncSSH-提供SSHv2协议的异步客户端和服务器实现。

aiodns-用于asyncio的简单DNS解析器

httpx-具有请求兼容API的Python 3异步HTTP客户端。

GraphQL

**用于构建GraphQL服务器的库。
**
Ariadne -Schema-first Python库,用于实现GraphQL服务器。
QQ截图20201209154003.jpg

Tartiflette-基于Schema的Python 3.6+ GraphQL引擎libgraphqlparser。

测验

**用于测试基于异步应用程序的库。
**
aiomock-一个支持异步方法的python模拟库。

asynctest-使用测试功能增强标准的单元测试软件包。异步库

pytest-asyncio-对异步的Pytest支持。

响应-Asyncio http模拟。类似于用于请求的响应库

aioresponses -Python aiohttp包中的模拟/伪造Web请求的帮助器。

备用循环

**可选的异步循环实现。
**
uvloop-在libuv之上的asyncio事件循环的超快速实现。

杂项

**其他很棒的asyncio库。
**
aiocache-不同后端的缓存管理器。

aiofiles-对asyncio的文件支持。

aiodebug-一个用于监视和测试asyncio程序的小型库。

aiorun -一个run()函数来处理所有常见的样板启动和正常关机。

aioserial - pySerial的直接替代。

aiozipkin -分布式跟踪ASYNCIO与基普金仪器

asgiref-从ASGI到WSGI集成的后端实用程序,包括sync_to_async和async_to_sync函数包装。

ruia-基于asyncio的异步Web抓取微框架。
QQ截图20201209154019.jpg

清单内的所有库模块下载地址已经打包在awesome-asyncio的ZIP包内,用到的小伙伴可以自行寻找。

相关实践学习
基于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
相关文章
|
13天前
|
调度 数据库 Python
【专栏】异步IO在处理IO密集型任务中的高效性
【4月更文挑战第27天】本文介绍了Python并发编程和异步IO,包括并发的基本概念(多线程、多进程、协程),线程与进程的实现(threading和multiprocessing模块),协程的使用(asyncio模块),以及异步IO的原理和优势。强调了异步IO在处理IO密集型任务中的高效性,指出应根据任务类型选择合适的并发技术。
|
2天前
|
数据采集 NoSQL 中间件
python-scrapy框架(四)settings.py文件的用法详解实例
python-scrapy框架(四)settings.py文件的用法详解实例
8 0
|
2天前
|
存储 数据采集 数据库
python-scrapy框架(三)Pipeline文件的用法讲解
python-scrapy框架(三)Pipeline文件的用法讲解
6 0
|
2天前
|
存储 数据采集 JSON
python-scrapy框架(二)items文件夹的用法讲解
python-scrapy框架(二)items文件夹的用法讲解
10 0
|
2天前
|
数据采集 前端开发 中间件
python-scrapy框架(一)Spider文件夹的用法讲解
python-scrapy框架(一)Spider文件夹的用法讲解
9 0
|
4天前
|
API UED Python
使用Python进行异步HTTP请求的实践指南
使用Python进行异步HTTP请求的实践指南
18 4
|
11天前
|
缓存 前端开发 安全
Python web框架fastapi中间件的使用,CORS跨域详解
Python web框架fastapi中间件的使用,CORS跨域详解
|
11天前
|
API 数据库 Python
Python web框架fastapi数据库操作ORM(二)增删改查逻辑实现方法
Python web框架fastapi数据库操作ORM(二)增删改查逻辑实现方法
|
11天前
|
关系型数据库 MySQL API
Python web框架fastapi数据库操作ORM(一)
Python web框架fastapi数据库操作ORM(一)
|
11天前
|
Python
python web框架fastapi模板渲染--Jinja2使用技巧总结
python web框架fastapi模板渲染--Jinja2使用技巧总结