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

本文涉及的产品
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 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
相关文章
|
7天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
9天前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
34 5
|
10天前
|
机器学习/深度学习 PyTorch 算法框架/工具
python这些库和框架哪个更好
【9月更文挑战第2天】python这些库和框架哪个更好
25 6
|
10天前
|
机器学习/深度学习 数据采集 算法框架/工具
python有哪些常用的库和框架
【9月更文挑战第2天】python有哪些常用的库和框架
16 6
|
13天前
|
SQL 数据挖掘 API
ibis:极具潜力的Python数据分析新框架
ibis:极具潜力的Python数据分析新框架
|
12天前
|
测试技术 API 开发者
Python 魔法:打造你的第一个天气查询小工具自动化测试框架的构建与实践
【8月更文挑战第31天】在这篇文章中,我们将一起踏上编程的奇妙旅程。想象一下,只需几行代码,就能让计算机告诉你明天是否要带伞。是的,你没有听错,我们将用Python这把钥匙,解锁天气预报的秘密。不论你是编程新手还是想拓展技能的老手,这篇文章都会为你带来新的视角和灵感。所以,拿起你的键盘,让我们一起创造属于自己的天气小工具吧!
|
12天前
|
Web App开发 XML 测试技术
自动化测试框架设计:以Python和Selenium为例
【8月更文挑战第31天】在软件开发的快节奏中,自动化测试成为确保产品质量的关键步骤。本文将引导读者了解如何结合Python语言和Selenium工具来设计一个高效的自动化测试框架。通过浅显易懂的语言和实际代码示例,我们将探索自动化测试框架的核心组件,并学习如何实现它们。无论你是测试新手还是希望提升自动化技能的开发者,这篇文章都将为你打开一扇通向高效软件测试的大门。
|
13天前
|
开发框架 Java 数据管理
我使用Python开发网站的3个主要框架库,强烈推荐
我使用Python开发网站的3个主要框架库,强烈推荐
|
11天前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。
|
12天前
|
前端开发 IDE 测试技术
自动化测试中的代码魔法:使用Python和Selenium框架
【8月更文挑战第31天】在软件开发的海洋中,自动化测试是一艘能够带领团队穿越波涛的帆船。本文将引导读者了解如何利用Python语言结合Selenium框架,编写简洁而强大的自动化测试脚本。我们将从搭建开发环境开始,逐步深入到实际案例,最后通过一个简单示例展示如何实现端到端的自动化测试流程。文章不仅提供实用的代码片段,还旨在激发读者对于软件测试深层次思考的热情。