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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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
相关文章
|
10天前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
10天前
|
Python
深入理解 Python 中的异步操作:async 和 await
Python 的异步编程通过 `async` 和 `await` 关键字处理 I/O 密集型任务,如网络请求和文件读写,显著提高性能。`async` 定义异步函数,返回 awaitable 对象;`await` 用于等待这些对象完成。本文介绍异步编程基础、`async` 和 `await` 的用法、常见模式(并发任务、异常处理、异步上下文管理器)及实战案例(如使用 aiohttp 进行异步网络请求),帮助你高效利用系统资源并提升程序性能。
25 7
|
11天前
|
SQL 网络协议 安全
Python异步: 什么时候使用异步?
Asyncio 是 Python 中用于异步编程的库,适用于协程、非阻塞 I/O 和异步任务。使用 Asyncio 的原因包括:1) 使用协程实现轻量级并发;2) 采用异步编程范式提高效率;3) 实现非阻塞 I/O 提升 I/O 密集型应用性能。然而,Asyncio 并不适合所有场景,特别是在 CPU 密集型任务或已有线程/进程方案的情况下。选择 Asyncio 应基于项目需求和技术优势。
|
27天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
57 7
|
25天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
62 2
|
2月前
|
API 调度 开发者
探索Python中的异步编程:从asyncio到Trio
本文将带你深入Python异步编程的心脏地带,从asyncio的基本概念到Trio的高级特性,我们将一起揭开Python异步编程的神秘面纱,并探讨它们如何改变我们的编程方式。
|
1月前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
1月前
|
数据采集 JSON 测试技术
Grequests,非常 Nice 的 Python 异步 HTTP 请求神器
在Python开发中,处理HTTP请求至关重要。`grequests`库基于`requests`,支持异步请求,通过`gevent`实现并发,提高性能。本文介绍了`grequests`的安装、基本与高级功能,如GET/POST请求、并发控制等,并探讨其在实际项目中的应用。
54 3
|
2月前
|
API 开发者 Python
探索Python中的异步编程:Asyncio与Tornado的对决
在这个快节奏的世界里,Python开发者面临着一个挑战:如何让代码跑得更快?本文将带你走进Python异步编程的两大阵营——Asyncio和Tornado,探讨它们如何帮助我们提升性能,以及在实际应用中如何选择。我们将通过一场虚拟的“对决”,比较这两个框架的性能和易用性,让你在异步编程的战场上做出明智的选择。
|
2月前
|
缓存 API 数据库
Python哪个框架合适开发速卖通商品详情api?
在跨境电商平台速卖通的商品详情数据获取与整合中,Python 语言及其多种框架(如 Flask、Django、Tornado 和 FastAPI)提供了高效解决方案。Flask 简洁灵活,适合快速开发;Django 功能全面,适用于大型项目;Tornado 性能卓越,擅长处理高并发;FastAPI 结合类型提示和异步编程,开发体验优秀。选择合适的框架需综合考虑项目规模、性能要求和团队技术栈。
35 2