Python Web框架Sanic 扩展

发表时间:2020-02-18

Sanic作为一款应用比较广泛的异步web框架,已经形成了比较成熟的技术链,其周边的各种扩展应有尽有。

Sanic extension 扩展

扩展和插件开发

  • Sanic-Plugins-Framework :轻松创建和使用Sanic插件的库。
  • sanic-script :给应用程序添加编写命令支持的Sanic扩展。

安全

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

监测和报告

  • sanic-prometheus :Sanic的Prometheus指标。
  • sanic-zipkin :通过aiozipkin轻松向zipkin / jaeger报告请求/功能/ RPC跟踪。

应用例子

  • Sanic-nginx-docker-example :使用docker-compose简单易用的Sanic behined nginx示例。

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free