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

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包内,用到的小伙伴可以自行寻找。

(0)

相关推荐

  • 理解 asyncio 来构建高性能 Python 网络程序

    Python 是一门上手快.优雅简洁的编程语言,其多范式.丰富的标准库和第三方库能够让编程人员把精力集中在逻辑和思维方法上,而不用去担心复杂语法.类型系统等外在因素,从而高效地达成自己的编程目标.Py ...

  • 异步 Python 比同步 Python 快在哪里?

    Python那些事 1周前 原文链接: https://blog.miguelgrinberg.com/post/sync-vs-async-python-what-is-the-difference ...

  • 如何使用Python异步编程进行API调用 | 区块链研究实验室

    原创 链三丰 区块链研究实验室 今天 收录于话题 #Python1 #区块链技术33 #区块链44 #API1 #区块链应用30 本文中,将向大家介绍如何使用Python异步编程,以便您可以更快地进行 ...

  • 比 requests 更强大 Python 库,让你的爬虫效率提高一倍

    最近公司  Python 后端项目进行重构,整个后端逻辑基本都变更为采用'异步'协程的方式实现.看着满屏幕经过 async await(协程在 Python 中的实现)修饰的代码,我顿时感到一脸懵逼, ...

  • Python Urllib和urllib2哪个模块好?Python入门

    Python是一门高级的编程语言,它语法简单.清晰,容易入门,可用的包.库.模块有很多,即便是初学者也能够快速实现简单的网络爬虫,那么你知道Python中爬虫模块有哪些吗?我们一起来看看吧. Pyth ...

  • Python君,快给朕来一部电影~

    第一时间获取 Python 技术干货! 阅读文本大概需要 6 分钟. 目 标 今天的目标很简单,就是想下载一些「微电影」回家过年. 以国内微电影活跃度最高的社区,「新片场」为例,爬取站内所有的高清电影 ...

  • 用一个开源工具实现多线程 Python 程序的可视化 | Linux 中国

    原创 邀你一起成为开源贡献者 Linux中国   导读:VizTracer 可以跟踪并发的 Python 程序,以帮助记录.调试和剖析. 本文字数:4686,阅读时长大约:6分钟 https://li ...

  • 第102天: Python异步之aiohttp

    什么是 aiohttp?一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块.可用于实现异步爬虫,更快于 requests 的同步爬虫. 安装 pip install aioht ...

  • Python - 进程、线程与协程

    在操作系统中,每一个独立运行的程序,都占有 操作系统 分配的资源,这些程序中间互不干涉,都只负责运行自己的程序代码,这就是进程. 但是当操作系统频繁的创建销毁进程时,大量的系统资源被浪费在创建和销毁的 ...

  • eventlet-具有WSGI支持的python异步框架

    Eventlet 是 Python 的并发网络库,它允许您更改运行代码的方式,而不是编写代码的方式. 它使用 epoll 或 kqueue 或 libevent 来实现高度可扩展的非阻塞 I/O. 协 ...

  • Python GUI框架有哪些?Linux入门

    GUI,全称为图形用户界面,又称为图形用户接口,是一种人与计算机通信的界面显示格式.那么Python常用GUI框架有哪些呢?我们来看看具体介绍. Tkinter:一个轻量级的跨平台图形用户界面开发工具 ...

  • 15个最受欢迎的Python开源框架

    编辑推荐: 本文来源博客园,主要通过示例演示15个最受欢迎的Python开源框架,希望对您的学习有所帮助. 一.Django: Python Web应用开发框架 Django是一个开放源代码的Web应 ...

  • Python开源框架有哪些?这几个最常见!

    当我们学习python的时候,会遇到很多开源框架,这些框架可以实现很多事情,在不同岗位上都具有重要作用.面对python开源框架,你最中意哪一个呢? 1.Django: Python Web应用开发框 ...

  • Python爬虫框架有哪些?这几种最常见!

    Python之所以被称为"爬虫"的首选语言,主要原因是因为Python拥有很多爬虫框架,不仅功能齐全.优点多,而且可以帮助程序员以更少的代码实现更多的功能,让工作变得更加轻松便利. ...

  • 什么是Python web2py框架?看完就明白了!

    众所周知,Python的框架有很多,除了我们经常提到的Django.flask框架之外,Python还有很多框架是我们没有介绍过的,比如说web2py框架,那么什么是web2py框架呢?它有什么特性? ...

  • 7款好用的Python爬虫框架!

    Python是网络爬虫的首选语言,在爬虫领域有着独特的优势和用途,而且Python还拥有很多爬虫框架,那么你知道哪个Python爬虫框架最高效吗?这几个你一定要知道. 1.Scrapy Scrapy是 ...

  • Python Django框架有什么优势?功能介绍

    Python Django框架是一款全能框架,内置许多模块,极大方便了web开发者,同时它也被称之为Python最重要的框架.那么为什么Django框架很重要呢?我们来看看吧. Django是Pyth ...