跳到主要内容

FastAPI

我是一个长期的 FastAPI 用户,从 2020 年 10 月开始使用 FastAPI,并将其应用到 10 多个项目中。 我对 FastAPI 提供的功能非常满意,但困扰我的是它没有提供的功能。 多年来,我发现自己几乎在每个项目中都重复编写一些模块,

  • API 限流
  • 发布事件到 Kafka
  • 授权和认证
  • 工厂模式的样板代码
  • 难以集成第三方插件

有人建议 FastAPI 专注于性能,而 Django 专注于功能,但我认为我们可以兼得。

最终,我决定整合我一路编写的所有这些模块,并制作了一个新的框架。

它涵盖了 FastAPI 拥有的大部分功能,还有一些额外的功能:

  • 基于类型的依赖注入
  • 内置认证系统,让你用几行代码构建完整的访问控制
  • 消息系统
  • 错误响应生成器
  • 问题页面

除了所有这些功能,lihil 还为 Web 框架的核心指标提供了更好的性能。

  • 更高的 RPS
  • 更低的内存使用
  • 更短的 GC 时间
  • 更快的启动时间