Перейти к основному содержимому

FastAPI

Я долгосрочный пользователь FastAPI, использую его с октября 2020 года и применил в более чем 10 проектах. Я был вполне доволен тем, что предлагает FastAPI, но меня беспокоит то, чего он не предлагает. За годы работы я обнаружил, что пишу одни и те же модули снова и снова для почти каждого проекта:

  • ограничение API (throttling)
  • публикация событий в Kafka
  • авторизация и аутентификация
  • шаблонный код для фабрик
  • сложность интеграции сторонних плагинов

Некоторые люди утверждают, что FastAPI фокусируется на производительности, а Django - на функциональности, но я думаю, мы можем иметь и то, и другое.

Наконец, я решил объединить все те модули, которые я написал на этом пути, и создать новый фреймворк.

Он покрывает большинство функций FastAPI с дополнительными возможностями:

  • Внедрение зависимостей на основе типов
  • Встроенная система авторизации, которая позволяет создать полноценный контроль доступа в несколько строк
  • Система сообщений
  • Генератор ошибок ответов
  • Страница проблем

В дополнение ко всем этим функциям, lihil также предлагает лучшую производительность по ключевым метрикам веб-фреймворка:

  • Более высокий RPS
  • Меньшее потребление памяти
  • Более короткое время сборки мусора
  • Более быстрое время запуска