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瓶。

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服务器。

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抓取微框架。

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

python消息队列框架_awesome asyncio-精选python异步框架清单集合相关推荐

  1. Python运维管理系统源代码,基于fastapi异步框架

    Python运维管理系统源代码,基于fastapi异步框架 部署方式 创建虚拟环境 python -m venv venv 安装依赖库 pip install -r requirements.txt ...

  2. python消息队列框架持久化_消息队列如果持久化到数据库的话,相对于直接操作数据库有啥优势?...

    MQ的作用很多,典型作用: 1.削峰填谷:如果短时间内要处理的业务量大于数据库的服务能力,则可能会卡死数据库:使用MQ可以慢慢处理. 2.异步化:如果处理的工作非常耗时,则RPC的请求一直halt,对 ...

  3. python消息队列celery高可用_分布式消息队列-Celery

    怎么能不恨呢,在我发现自己是恶鬼的时候,在我最绝望最虚弱的时候,这个世上最该跟我在一起的人却用刀把我的心刺穿了 Celery 是 Distributed Task Queue,分布式任务队列.分布式决 ...

  4. python 消息队列、异步分布式

    一.消息队列 消息队列:是在消息的传输过程中保存消息的容器. 消息队列最经典的用法就是消费者和生成者之间通过消息管道来传递消息,消费者和生成者是不同的进程.生产者往管道中写消息,消费者从管道中读消息. ...

  5. python 消息队列 get是从队首还是队尾取东西_python分布式爬虫中消息队列知识点详解...

    当排队等待人数过多的时候,我们需要设置一个等待区防止秩序混乱,同时再有新来的想要排队也可以呆在这个地方.那么在python分布式爬虫中,消息队列就相当于这样的一个区域,爬虫要进入这个区域找寻自己想要的 ...

  6. python消息队列中间件_python-RabbtiMQ消息队列

    1.RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之 ...

  7. python消息队列模块_day43-python消息队列二-queue模块

    Python提供了Queue模块来专门实现消息队列Queue对象 Queue对象实现一个fifo队列(其他的还有lifo.priority队列,这里不再介绍).queue只有maxsize一个构造参数 ...

  8. python 消息队列 go_gmq: gmq是基于redis提供的特性,使用go语言开发的一个简单易用的消息队列;支持延迟任务,异步任务,超时任务,优先级任务...

    1. 概述 gmq是基于redis提供的特性,使用go语言开发的一个简单易用的队列;关于redis使用特性可以参考之前本人写过一篇很简陋的文章Redis 实现队列; gmq的灵感和设计是基于有赞延迟队 ...

  9. python消息队列celery_【干货分享】NTI任务管理之django+python篇celery异步任务使用...

    阅读: 3,538 新浪微博的新鲜事推送如何实现?大规模的服务器如何实现Crontab管理?里面的秘密就在于消息队列.Celery是一个使用Python开发的分布式任务调度模块,是一个简单.灵活.可靠 ...

最新文章

  1. CTOR在区块熵编码中的优点
  2. FPGA 中 IO 口时序分析(Input Delay /output Delay)
  3. 《死亡笔记》与绵球方块先生
  4. python商用_python实现sm2和sm4国密(国家商用密码)算法的示例
  5. stl list 删除元素_删除所有出现的元素,并从列表中删除一些特定的元素。 C ++ STL...
  6. 信息学奥赛C++语言:斐波那契第n项
  7. Windows 下命令行修改文件夹的控制权限 Cacls
  8. 美女,真的有标准吗?
  9. Spring Cloud与微服务学习总结(1)——Spring Cloud及微服务入门
  10. 宽度为100%的HTML表格,在tbody中有垂直滚动
  11. C++基础语法-02-运算符重载
  12. spring-第六篇之创建bean的3种方式
  13. 一次idea上使用logback+slf4j乱码的解决,问题不在logback
  14. Android PDF文件阅读方案
  15. cad放大_最新CAD软件插件大全+上千款字体,内附使用教程,只分享3天
  16. 日语入门难?学日语最好用的工具——早道五十音图
  17. xshell6配色-保护您的眼睛
  18. 大一计算机系挂科,大一挂科和大三挂科,哪个后果更严重?实际差距不是一星半点...
  19. 记录一次uni-app按导航栏左边返回,app闪退问题
  20. PS2020从入门到卸载

热门文章

  1. 百德医疗上市遇挫:极其依赖单一产品,已签对赌协议,业绩承压
  2. 大数据数仓搭建-大数据用户画像推荐系统搭建
  3. 腾讯发布 3D 虚拟场景自动生成解决方案,用 AIGC 助力游戏开发提效
  4. 华为升级后打不开htmL文件了,为什么192.168.3.1进不去 华为192.168.3.1登录页面打不开-192路由网...
  5. 练习:任意多行字条串拆分数值求和冒泡排序两数的最大公约数和最大公倍数
  6. JLU吉林大学2022-2023年度第1学期软件学院《计算机网络》真题回顾(2020级)
  7. 骁龙8gen1和A15哪个好 骁龙8gen1和a15差距 功耗
  8. 如何SCP从服务器远程下载文件到本地
  9. java中如何实现继承_Java继承
  10. PropertyUtils.copyProperties和BeanUtils.copyProperties使用区别