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
相关文章
|
9天前
|
Python
Python中的异步编程:使用asyncio和aiohttp实现高效网络请求
【10月更文挑战第34天】在Python的世界里,异步编程是提高效率的利器。本文将带你了解如何使用asyncio和aiohttp库来编写高效的网络请求代码。我们将通过一个简单的示例来展示如何利用这些工具来并发地处理多个网络请求,从而提高程序的整体性能。准备好让你的Python代码飞起来吧!
27 2
|
16天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
60 6
|
13天前
|
调度 开发者 Python
Python中的异步编程:理解asyncio库
在Python的世界里,异步编程是一种高效处理I/O密集型任务的方法。本文将深入探讨Python的asyncio库,它是实现异步编程的核心。我们将从asyncio的基本概念出发,逐步解析事件循环、协程、任务和期货的概念,并通过实例展示如何使用asyncio来编写异步代码。不同于传统的同步编程,异步编程能够让程序在等待I/O操作完成时释放资源去处理其他任务,从而提高程序的整体效率和响应速度。
|
16天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
103 45
|
10天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
46 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
9天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
26 4
|
9天前
|
API 数据处理 Python
探秘Python并发新世界:asyncio库,让你的代码并发更优雅!
在Python编程中,随着网络应用和数据处理需求的增长,并发编程变得愈发重要。asyncio库作为Python 3.4及以上版本的标准库,以其简洁的API和强大的异步编程能力,成为提升性能和优化资源利用的关键工具。本文介绍了asyncio的基本概念、异步函数的定义与使用、并发控制和资源管理等核心功能,通过具体示例展示了如何高效地编写并发代码。
22 2
|
17天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
40 4
|
17天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
29 2
|
17天前
|
网络协议 物联网 API
Python网络编程:Twisted框架的异步IO处理与实战
【10月更文挑战第26天】Python 是一门功能强大且易于学习的编程语言,Twisted 框架以其事件驱动和异步IO处理能力,在网络编程领域独树一帜。本文深入探讨 Twisted 的异步IO机制,并通过实战示例展示其强大功能。示例包括创建简单HTTP服务器,展示如何高效处理大量并发连接。
39 1