基於Asyncio的Python微框架:Quart
Quart是基於Asyncio的Python微框架。它志在讓開發者能夠在Web開發中很容易地得到Asyncio帶來的好處。它對Flask應用的支持最好,它和Flask擁有相同的API。
Quart希望成為功能完整的微框架,所以它支持 HTTP/1.1,HTTP/2 和 Websockets。Quart擴展性很強,並支持很多Flask擴展(希望將來會出現針對Quart的擴展)。
快速教程
你可以通過pip安裝Quart
Quart支持Python>=3.6。
下面是Quart應用的一個小例子。
將上面代碼放在文件app.py中,可以通過下面命令運行
特性
Quart具備通過HTTP提供網頁服務所需的所有特性。如果你熟悉Flask,Quart就是一個在Flask上有所擴展的框架,擴展的功能如下:
HTTP/1.1分塊傳輸和管道
Websockets
HTTP/2,包含伺服器推送的能力
貢獻
Quart在gitlab上開發,歡迎來提交問題和請求合併代碼
測試
測試Quart最好的辦法是使用Tox。
這樣會檢查代碼風格並進行測試。
與Flask的API兼容性
Flask API由公用API、私有API及Werkzeug API組成。Quart幾乎完全與Flask公用API兼容(除了async和await關鍵字)。日後會努力兼容Flask私有API,但是不會兼容Werkzeug API。
從Flask遷移過來
從Flask遷移過來要做的應該就是把所有的單詞flask改為單詞quart,並在必要地方加上async和await關鍵字。具體請看文檔
譯者:詩書塞外
英文原文:https://gitlab.com/pgjones/quart


※Jupyter進化:JupyterLab正式發布
※我用4年時間解決了Python GIL的一個bug……
TAG:Python部落 |