sanic 相關的插件


Sanic作為一款應用比較廣泛的異步web框架,已經形成了比較成熟的技術鏈,其周邊的各種擴展應有盡有。

擴展和插件開發

安全

  • Sanic JWT:身份認證,JWT和權限范圍。
  • Secure:為Python web 框架添加可選的安全頭和cookies的輕量級包。
  • Sessions:對session的支持,允許使用redis,memcache或內存。
  • CORS:對flask-cors的移植。
  • Sanic-JWT-Extended:提供對JWT的支持。
  • UserAgent:給request添加user_agent
  • Limiter:為sanic添加頻率限制。
  • sanic-oauth:支持多家的OAuth1/OAuth2的OAuth庫。
  • Sanic-Auth:Sanic的一種最小后端不可知的以session為基礎的用戶身份驗證機制。
  • Sanic-CookieSession:僅限客戶端基於cookie的session,類似於Flask的內置session。

文檔

  • OpenAPI/Swagger:支持OpenAPI及Swagger UI。
  • Sanic-RestPlus:對Flask-RestPlus的移植。擁有SwaggerUI生成功能的全功能REST API。
  • sanic-transmute:從Python函數和類生成API,並自動生成Swagger UI或文檔的Sanic擴展。

ORM和數據庫集成

  • Motor:對moter的簡單包裝。
  • Sanic CRUD:使用peewee模型生成CRUD REST API。
  • sanic-graphql:GraphQL與Sanic的集成。
  • GINO: 在SQLAIchemy核心之上的異步ORM。
  • Databases:SQLAIchemy核心的異步數據庫訪問,支持PostgreSQL,MySQL和SQLite。

單元測試

  • pytest-sanic:Sanic的pytest插件,進行異步測試。

項目創建模板

  • cookiecutter-sanic:在明確定義的項目結構中,可以在幾秒鍾內啟動並運行sanic應用程序。包括用於部署,單元測試,自動發布管理和更改日志生成的電池。

模板

  • Sanic-WTF:讓Sanic使用WTForm和CSRF(跨站點請求偽造)保護更容易。
  • Jinja2:支持Jinja2模板。
  • jinja2-sanic:Sanic的jinja2模板渲染器。

API Helper實用程序

  • sanic-sse: Sanic的Server-Sent Event實現。
  • Compress:對Flask-Compress的移植,輕松實現對Sanic響應的gzip壓縮。
  • Pagination:簡單的分頁支持。
  • Sanic EnvConfig:將環境變量拉入sanic配置。

i18n/l10n (國際化/本地化)支持

  • Babel:在Babel庫的幫助下讓Sanic應用支持國際化和本地化。

自定義中間件

  • Dispatch:受werkzeug的DispatcherMiddleware啟發的調度器,可以充當Sanic-to-WSGI的適配器。

監測和報告

應用例子


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM