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的适配器。

监测和报告

应用例子

原文地址:https://www.cnblogs.com/rianley/p/14790498.html