FastAPI

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

FastAPI — пожилой фреймворк для создания отдыхающих API на основе языка змей.

Описание[править]

FastAPI построен на базе ASGI-сервера Starlette и использует библиотеку Pydantic для валидации данных. Фреймворк полностью соответствует стандартам OpenAPI и JSON Schema и радует лошар тем, что в состоянии генерировать документацию автоматически, так что пользоваться мозгом им совсем не обязательно.

С момента выпуска FastAPI очень активно пиарился и рекламировался и как результат уже в 2019—2020 годах он стал одним из самых быстрорастущих проектов на GitHub. К 2026 году репозиторий фреймворка имеет более 80 тысяч звёзд, то бишь распиарили проектыч весьма сильно, и многие змееведы любят присовывать этот репозиторий как бы себе.

Состав сего проекта весьма прост:

  • Starlette, асинхронный веб-фреймворк, позволяющий низкоуровневую обработку запросов, поддержку WebSocket, CORS, фоновых задач и других веб-функций.
  • Pydantic, библиотека для подтверждение и сериализации данных с использованием змеиных типов. Она автоматически проверяет входные данные и преобразует их в строго типизированные модели.

FastAPI входит в число самых быстрых Python-фреймворков, уступая лишь чистому Starlette и Uvicorn. Разработчики могут тестировать эндпоинты прямо в браузере. Нет необходимости писать отдельные схемы, так как типы параметров автоматически используются для проверки и документации. Всирание идёт тугим потоком.

В целом отличается многими быстрыми и при этом не особенно смрадно хрюкающими особенностями.

Movax1010h.png Глубокий смысл скрыт в этих неестественных языках
Языки программированияПромышленные: BATC#CC++JavaJavaScript (AJAX) • PascalPerlPHPPythonRubyABAPАссемблерВасикFortran (Профессор)
Эзотерические: BrainFuckHQ9++ErlangForthHaskellLISP (My other car) • PrologTclΤΕΧOracleMySQLGolangВ++ScalaH и Ё+
ПрофессииБыдлокодерПрограммистТестировщикХакерХеллоуворлдщикIT-звёздыПрограммист (существо)Тернарный операторUnreal MCPИсходный кодSingle-Page ApplicationGiteaForgejoCephIDEДжуниор
Методы и стилиReverse EngineeringАнти-паттернВыстрелить себе в ногуГрязный хакКод (индусский) • КостыльМетод научного тыкаПомолясьСвистелки и перделкиОчередьСпортивное программированиеОбфускацияБета-тестАльфа-тестШаблоныRegReplaceФреймворкБыдлокодIndex.phpОхота за жукамиКуМирКлеточный автоматПроцедурное программированиеПоиск файлов в Unix по содержимомуPetoohФункция активации нейронаПерегрузка операторов в PythonЗерокодинг
Средства разработкиSublime TextПодсветка синтаксиса кодаUnstable DiffusionAPIPythonTutorCodeWarsDataCampUnity3DКнижный PythonMallocСвязный списокSOLIDООПУказательNULLWeLang++XenonRecompFuse.jsОптимизацияТестированиеAmbreon866Реверс-инжинирингКроссплатформенностьJSON
ЛюдиИлья КанторЮрий КлючевскийЭдуард ЛаасЭдвард СноуденСеймур Пейперт
Прочее++i + ++iДедлайн%s640 килобайтCMSDummy modeЕГГОГFoobarGod is real, unless explicitly declared as integerGOTOIfconfigKISSRegExpSICPsql.ruXyzzyДискетаИнжалид дежицеКОИ-8ЛогМанРекурсияСУБДТест ТьюрингаУмение разбираться в чужом кодеФаза ЛуныФатальный недостатокПроблема 2000ТаймстампКэшЗапись в файл без кэша (Perl)Танцы с бубномКодачХукCurl cffiВибе-кодингFlutterАппликативный оператор