【翻譯】AwesomeAsyncio中文版
Python Asyncio 精選資源列表,囊括了網路框架,庫,軟體等資源。
Awesome-asyncio是 Timo Furrer 發起並維護的 Python Asyncio 資源列表。本專案是其中文版,在這裡,收集了大量的 Asyncio 的最棒、最新的資源,供大家探索 Python 非同步程式設計世界。
Python 3.4 引入了 Asyncio 模組作為標準庫,通過協程、多路 I/O 訪問 Socket 和其他資源來編寫單執行緒併發程式碼,並在網路客戶端與伺服器上執行。Asyncio 內建了對非同步 I/O 的支援,其程式設計模型類似於訊息迴圈,從 Asyncio 模組可以直接獲取 EventLoop 引用,再把需要執行的協程放到 EventLoop 中執行,就實現了非同步 I/O。Asyncio 是由 Python 之父 Guido 領導的專案,該專案被命名為 Tulip(鬱金香)。
Asyncio 並不是新出現的黑科技,一些社群有名的第三庫如 Twisted、gevent 早就推出了非同步程式設計模型。不過,自從 2016 年 3 月,Python 3.4 推出以後,這兩年來,Asyncio 變得越來越流行,並且特別受到 Python 社群追捧。
貢獻程式碼
歡迎大家為列表貢獻高質量的新資源,提交 PR 時請參照以下要求
• 註明推薦理由
• 確保專案相對活躍
目錄
• Web 框架
• 訊息佇列
• 資料庫驅動
• 網路
• 測試
• 備選事件迴圈
• 其他
• 文獻
• 演講
Web框架
構建 Web 應用的庫
• aiohttp – 支援 Asyncio (PEP-3156) 的 HTTP 客戶端/服務端網路庫。
• sanic – Python 3.5+ Web 伺服器,主打速度與效能。
• Quart – 支援 Asyncio 的 Web 微框架,使用與 Flask 相同的 API。
• Kyoukai – 使用 Asyncio 編寫的 Python3.5+ 完全非同步 Web 框架。
• cirrina – 基於 aiohttp 的非同步 Web 框架。
• autobahn – 支援 Asyncio 與 Twisted 的 WebSocket 及 WAMP,用於客戶端與服務端。
• websockets – Python 構建的 WebSocket 客戶端/服務端的庫,致力於簡潔、正確地編寫程式碼。
• Tornado – 高效能 Web 框架以及非同步網路庫。
• Japronto! – 基於 uvloop 和 picohttpparse 構建的實驗性 HTTP 工具箱。
訊息佇列
使用訊息佇列執行應用的庫
• aioamqp – 使用 Asyncio 非同步執行 AMQP。
• aiozmq – 整合了 Asyncio (pep 3156) 的 ZeroMQ。
• crossbar – Crossbar.io 是提供分散式和微服務應用的網路平臺。
資料庫驅動
資料庫的驅動庫
• asyncpg – 快速訪問 PostgreSQL 資料庫客戶端的非同步驅動。
• asyncpgsa – 提供 Sqlalchemy Core 支援的 Asyncpg。
• aiopg – 訪問 PostgreSQL 資料庫的非同步驅動。
• aiomysql – 訪問 MySQL 資料庫的非同步驅動。
• aioodbc – 訪問 ODBC 資料庫的非同步驅動。
• motor – 訪問 MongoDB 資料庫的非同步驅動。
• aioredis – aio-libs 提供的非同步 Redis 客戶端 (PEP 3156)。
• asyncio-redis – 訪問 Redis 客戶端 (PEP 3156)的非同步驅動。
• aiocouchdb – 基於 aiohttp (Asyncio) 構建的 CouchDB 客戶端。
• aioinflux – 基於 aiohttp 構建的 InfluxDB 客戶端。
• aioes – 相容 elasticsearch 的 Asyncio 驅動。
• peewee-async – 基於 peewee 和 aiopg 實現的 ORM。
• GINO – 基於 SQLAlchemy Core 和 asyncpg 方言的輕量級 Python 非同步 ORM。
網路
網路通訊庫
• AsyncSSH – 提供執行 SSHv2 協議的非同步客戶端/服務端。
• asks – Asyncio 界的 requests。
• aioftp – 基於 Asyncio 的 ftp 服務。
• aiodns – 簡單的 Asyncio DNS 服務解析器。
測試
測試 Asyncio 應用程式的庫
• aiomock – 支援非同步的 Python mock 庫。
• asynctest – 一個增強標準 unittest 包的測試庫。
• pytest-asyncio – 支援 Asyncio 的 Pytest 庫。
備選事件迴圈
備選的 Asyncio 迴圈庫
• uvloop – 基於 libuv 實現的 Asyncio 事件迴圈庫。
• curio – 協程併發庫。
• trio – 人性化的,Pythonic 的非同步 IO 庫。
其他
暫未歸類的超讚 Asnycio 庫
• aiofiles – 基於 Asyncio,支援檔案非同步操作。
• aiodebug – 用於監控和測試 Asyncio 程式的微型庫。
• aiorun – 提供處理通用 Asyncio 樣板,啟動和關閉事件驅動的 run
函式。
• aiozipkin – 使用 zipkin 的分散式 Asyncio 追蹤測量儀。
• faust – 純 Python 的流處理庫,用於處理流資料和事件。
文獻
關於 Asyncio 的文件、部落格等文獻
• Asyncio 官方文件 – 介紹了非同步 I/O、事件迴圈、協程及任務等內容。
• Asyncio 精編簡介 – 生成器,協程,原生協程及 async/await。
• 非同步窺探 – 非常好的一篇文章,列出了哪些用例應該使用 Asyncio ,哪些用例無需使用 Asyncio。
• 非同步 Python – 介紹如何進行 Python 非同步程式設計。
• 用 Asyncio 進行 Python 開發 – 介紹非同步程式設計的開發,從簡單示例說起,一直到 URL 爬取。
• Python Aiohttp 的測試極限 – 使用 Python Aiohttp 進行百萬量級的併發測試。
演講
關於 Asyncio 的主題演講
• Topics of Interest (Python Asyncio) – David Beazley 的主題演講。
• Python Asynchronous I/O Walkthrough – Philip Guo 的主題演講。
• Thinking Outside the GIL with AsyncIO and Multiprocessing – John Reese 的主題演講
• Asynchronous Python for the Complete Beginner – Miguel Grinberg 的主題演講
原文釋出時間為:2018-08-15
本文作者:陳鍵冬
本文來自雲棲社群合作伙伴“Python愛好者社群”,瞭解相關資訊可以關注“Python愛好者社群”。
相關文章
- 《The Swift Programming Language》中文版翻譯完成Swift
- 文件翻譯軟體怎麼用?怎麼把Excel文件翻譯成中文版Excel
- 高效翻譯軟體:Easy Translator for mac 中文版Mac
- 實用的線上翻譯工具:Translatium for Mac中文版Mac
- 《萬物簡史》中文版翻譯質量低劣
- Mac使用者必備翻譯軟體!Bob 0.5.3 中文版 附谷歌翻譯外掛!Mac谷歌
- 超好用的谷歌線上翻譯工具:Translatium Mac中文版谷歌Mac
- 超級好用的線上翻譯工具:Translatium Mac中文版Mac
- 【翻譯】Python PEP8編碼規範(中文版)Python
- DeepL 1.11.0中文版-新一代AI翻譯器AI
- Web3.js 0.20.x API 中文版翻譯WebJSAPI
- DeepL 1.13.2中文版 (新一代AI翻譯器)AI
- Mate Translate for Mac(翻譯軟體) v8.1.3簡體中文版Mac
- 翻譯
- Yurii談翻譯(五)怎樣翻譯更地道:so…that…的翻譯
- 如何完成中文翻譯日文線上翻譯
- Yurii談翻譯(四)怎樣翻譯更地道:翻譯如鋪路
- Yurii談翻譯(九)怎樣翻譯更地道:冠詞a的翻譯
- Yurii談翻譯(十)怎樣翻譯更地道:最高階的翻譯
- 翻譯的未來:翻譯機器和譯後編譯編譯
- OCR實時翻譯軟體 Bob 0.5.0.beta3 Mac中文版Mac
- 影象處理入門 100 題,有人把它翻譯成了中文版!
- 火爆 GitHub 的《機器學習 100 天》,有人把它翻譯成了中文版!Github機器學習
- 翻譯《虛幻引擎4藝術大師 - 藍圖 III 》 中文版
- Ubuntu安裝劃詞翻譯軟體Goldendict 單詞翻譯 句子翻譯UbuntuGo
- Yurii談翻譯(六)怎樣翻譯更地道:“as somebody said…”的翻譯AI
- Yurii談翻譯(十三)怎樣翻譯更地道:It is…that…句型諺語的翻譯
- Yurii談翻譯(十四)怎樣翻譯更地道:否定句的翻譯
- 蝴蝶書-task2: 文字推理、摘要、糾錯 transformers實現翻譯 OpenAI翻譯 PyDeepLX翻譯 DeepLpro翻譯ORMOpenAI
- Nginx翻譯Nginx
- [翻譯] TransitionKit
- 翻譯篇
- OllDbg翻譯LLDB
- OpenCV翻譯專案總結二——Mat翻譯OpenCV
- 文件翻譯器怎麼用?如何翻譯Word文件?
- Laravel 谷歌翻譯 /Bing 翻譯擴充套件包Laravel谷歌套件
- 使用google翻譯 api 翻譯中文成其他語言GoAPI
- 有道雲詞典--翻譯/螢幕取詞翻譯