メインコンテンツまでスキップ

FastAPI

私は長期のFastAPIユーザーで、2020年10月からFastAPIを使用し、10以上のプロジェクトに適用してきました。 FastAPIが提供する機能には非常に満足していましたが、提供していない機能が私を悩ませました。 長年にわたって、ほぼすべてのプロジェクトで同じモジュールを繰り返し書いていることに気づきました:

  • APIスロットリング
  • Kafkaへのイベント発行
  • 認可と認証
  • ファクトリのボイラープレートコード
  • サードパーティプラグインの統合が困難

FastAPIはパフォーマンスに集中し、Djangoは機能に集中すると言う人もいますが、私は両方を持てると思います。

最終的に、これまでに書いたすべてのモジュールを統合し、新しいフレームワークを作ることにしました。

FastAPIが持つほとんどの機能をカバーし、いくつかの追加機能があります:

  • 型ベースの依存性注入
  • 数行でフル機能のアクセス制御を構築できる内蔵認証システム
  • メッセージングシステム
  • エラーレスポンスジェネレータ
  • 問題ページ

これらすべての機能に加えて、lihilはWebフレームワークのコアメトリクスでより良いパフォーマンスも提供します。

  • より高いRPS
  • より低いメモリ使用量
  • より短いGC時間
  • より速い起動時間