分享下自己的开源项目 Pywss

查看 20|回复 0
作者:CzaOrz   
Pywss
  • 项目地址:https://github.com/czasg/pywss
  • 项目文档:https://czasg.github.io/pywss/
  • 项目描述:

    Pywss (发音 /piːwaɪz/,类似 p~whys )是一个轻量级的 Python Web 框架,它基于 Python3.6+ 特性构建。
    与 Flask 、Django 等主流框架不同的是,Pywss 的底层并没有实现 WSGI 接口协议。 其编程风格也更类似于 Gin 、Iris 等框架,因此对于熟悉这些框架的开发者来说,Pywss 是一个非常值得探索的项目。
    其关键特性有:
  • 简单:拒绝海量参数,减少心智负担。了解上下文 pywss.Context 即刻启程。
  • 快速:引入线程池机制,减少并发场景下线程创建/销毁开销。
  • 优雅:ctx.next 真的太优雅了。如果你也和我一样喜欢,那我觉得这件事情,泰裤辣!!
  • 标准化:集成了部分 OpenAPI ( Swagger )能力,方便开发者快速生成 API 文档并进行调试。
  • 支持 WebSocket:开箱即用的 WebSocket 能力。
  • 接口测试:开箱即用的 API 测试模块,不启动服务也能测试接口功能辣!

    Demo
    import pywss
    import time
    import random
    def logHandler(ctx: pywss.Context):
        startTime = time.time()
        ctx.next()
        cost = time.time() - startTime
        print(f"{ctx.method} - {ctx.route} - cost: {cost: .2f}")
    def helloHandler(ctx: pywss.Context):
        ctx.write({"hello": "world"})
    app = pywss.App()
    app.post("/hello", logHandler, helloHandler)
    app.run()
    最后
    有想学习底层 socket 编程 / web 框架开发 的同学,可以关注学习学习,源码也算是简单易懂~
    作者已经在公司内部多个项目正式应用 Pywss ,所以不用担心没人帮你踩坑~
    最后求 star~ 😍😍😍
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部