FastAPI
私は長期のFastAPIユーザーで、2020年10月からFastAPIを使用し、10以上のプロジェクトに適用してきました。 FastAPIが提供する機能には非常に満足していましたが、提供していない機能が私を悩ませました。 長年にわたって、ほぼすべてのプロジェクトで同じモジュールを繰り返し書いていることに気づきました:
- APIスロットリング
- Kafkaへのイベント発行
- 認可と認証
- ファクトリのボイラープレートコード
- サードパーティプラグインの統合が困難
FastAPIはパフォーマンスに集中し、Djangoは機能に集中すると言う人もいますが、私は両方を持てると思います。
最終的に、これまでに書いたすべてのモジュールを統合し、新しいフレームワークを作ることにしました。
FastAPIが持つほとんどの機能をカバーし、いくつかの追加機能があります:
- 型ベースの依存性注入
- 数行でフル機能のアクセス制御を構築できる内蔵認証システム
- メッセージングシステム
- エラーレスポンスジェネレータ
- 問題ページ
これらすべての機能に加えて、lihilはWebフレームワークのコアメトリクスでより良いパフォーマンスも提供します。
- より高いRPS
- より低いメモリ使用量
- より短いGC時間
- より速い起動時間