FastAPI
Курс FastAPI — это практическое обучение разработке современного backend на Python: от первых роутов и Pydantic-схем до асинхронной работы с базой данных, авторизации, middleware, миграций и продакшн-архитектуры. Вы научитесь создавать быстрые, типизированные и масштабируемые API, которые удобно поддерживать и развивать.
Чему вы научитесь
После прохождения курса вы сможете уверенно разрабатывать backend-приложения на FastAPI и применять подходы, востребованные в реальной коммерческой разработке.
- Проектировать backend на FastAPI с понятной слоистой архитектурой.
- Создавать типобезопасные API-контракты с помощью Pydantic.
- Работать с параметрами пути, query-параметрами, статусами ответов и исключениями.
- Настраивать автоматическую OpenAPI-документацию, Swagger и ReDoc.
- Использовать Dependency Injection и разделять ответственность между слоями приложения.
- Выносить бизнес-логику в сервисы и строить поддерживаемую структуру проекта.
- Работать с переменными окружения и конфигурацией приложения.
- Настраивать логирование для разных окружений.
- Писать асинхронный backend-код на async/await.
- Подключать базу данных и работать с ней через асинхронную SQLAlchemy.
- Реализовывать паттерн Repository для доступа к данным.
- Использовать миграции базы данных с Alembic.
- Реализовывать аутентификацию и авторизацию пользователей.
- Добавлять middleware и использовать его для обработки запросов.
- Готовить FastAPI-приложение к поддержке, масштабированию и развитию.
Для кого этот курс
Курс подойдет Python-разработчикам, которые хотят перейти от базовых скриптов к полноценной backend-разработке и научиться создавать API на FastAPI.
- Начинающим backend-разработчикам, которые уже знают основы Python.
- Python-разработчикам, желающим освоить FastAPI для коммерческих проектов.
- Разработчикам, которые хотят разобраться в асинхронном backend, SQLAlchemy, Pydantic и архитектуре API.
- Специалистам, которым нужно научиться проектировать поддерживаемые REST API с документацией и валидацией данных.
Минимальные требования
Для комфортного прохождения курса достаточно базового знания Python: функций, классов, модулей, виртуального окружения и работы с пакетами. Опыт backend-разработки будет полезен, но не является обязательным.
Программа курса FastAPI
Быстрый старт и настройка проекта
Вы начнете с практичного знакомства с FastAPI: разберете, зачем нужен этот фреймворк, где он выигрывает у других решений и почему активно используется для разработки современных API на Python.
- Настройка проекта с использованием uv.
- Запуск приложения через uvicorn.
- Создание первых роутов и эндпоинтов.
- Работа с параметрами пути и query-параметрами.
- Использование кодов статусов, исключений и классов Response.
- Подключение линтера ruff для поддержания качества кода.
На этом этапе вы поймете философию FastAPI: как из простых Python-функций получать чистый, типизированный и предсказуемый API.
Pydantic, валидация и API-контракты
Далее вы подробно разберете Pydantic-модели и научитесь описывать контракты API так, чтобы данные валидировались автоматически, а код оставался понятным и надежным.
- Создание схем для входящих и исходящих данных.
- Разделение моделей на Create, Update и Read.
- Настройка валидации данных.
- Использование кастомных валидаторов.
- Работа с форматом ошибок и ответами API.
OpenAPI, Swagger и документация
Вы научитесь приводить документацию API в порядок и делать ее полезной как для backend-разработчиков, так и для frontend-команды.
- Настройка OpenAPI-документации.
- Работа со Swagger UI и ReDoc.
- Описание эндпоинтов, параметров, ответов и примеров.
- Документирование ошибок и нестандартных response-сценариев.
- Версионирование API.
Dependency Injection и архитектура приложения
Отдельный блок посвящен архитектуре FastAPI-приложения. Вы научитесь разделять код на слои, выносить бизнес-логику из роутеров и строить структуру, которую легко тестировать и поддерживать.
- Использование Dependency Injection в FastAPI.
- Разделение ответственности между роутерами, сервисами и репозиториями.
- Работа с конфигурацией и переменными окружения.
- Настройка логирования для разных окружений.
- Создание health-endpoint для проверки состояния приложения.
Асинхронная работа с базой данных
В практической части вы подключите базу данных и научитесь работать с ней через асинхронную SQLAlchemy. Особое внимание уделяется структуре доступа к данным и корректной работе с транзакциями.
- Подключение асинхронной SQLAlchemy.
- Настройка моделей и сессий.
- Реализация репозиториев.
- Работа с транзакциями.
- Пагинация и фильтрация данных.
- Контроль целостности данных.
- Миграции схемы базы данных с Alembic.
Аутентификация, авторизация и middleware
Финальная часть курса посвящена возможностям, без которых редко обходится реальный backend: пользователям, доступам, middleware и общей подготовке API к продакшн-разработке.
- Реализация аутентификации пользователей.
- Настройка авторизации и проверки прав доступа.
- Добавление middleware в FastAPI-приложение.
- Обработка запросов и ответов на уровне middleware.
- Интеграция всех компонентов в единое backend-приложение.
Что вы получите в результате
К концу курса у вас будет не просто набор разрозненных знаний о FastAPI, а целостное понимание того, как проектировать, реализовывать и поддерживать современный backend на Python.
- Готовое FastAPI-приложение, приближенное к реальной продакшн-разработке.
- Понимание архитектуры backend-проекта и роли каждого слоя.
- Практический опыт работы с Pydantic, SQLAlchemy, Alembic, DI и middleware.
- Навык создания типизированных, документированных и масштабируемых REST API.
Почему стоит изучать FastAPI
FastAPI — один из самых популярных Python-фреймворков для разработки API. Он сочетает высокую производительность, удобную типизацию, автоматическую документацию и современный асинхронный подход. Эти качества делают FastAPI отличным выбором для микросервисов, внутренних сервисов, MVP, высоконагруженных API и backend-приложений, которые должны быстро развиваться.
Освоив FastAPI, вы сможете увереннее работать с современным Python backend и создавать приложения, которые соответствуют требованиям реальных команд разработки.
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
- Урок 1. 00:07:42001 О FastAPI
- Урок 2. 00:05:37002 Как устроен курс
- Урок 3. 00:01:41003 Обзор проекта
- Урок 4. 00:01:22004 Проект домашних заданий
- Урок 5. 00:01:31005 Обзор курсов
- Урок 6. 00:06:02006 Работа на платформе
- Урок 7. 00:06:46007 AI и тренажёры
- Урок 8. 00:02:56008 Настройка окружения
- Урок 9. 00:03:43009 Установка Python MacOS
- Урок 10. 00:02:51010 Установка Python Linux
- Урок 11. 00:03:59011 Установка Python Windows
- Урок 12. 00:06:19012 Pyenv
- Урок 13. 00:03:43013 Настройки VSCode
- Урок 14. 00:04:59014 uv
- Урок 15. 00:17:33015 Домашнее задание AI
- Урок 16. 00:11:44016 Gitflow
- Урок 17. 00:04:05017 Создание проекта
- Урок 18. 00:06:33018 uvicorn
- Урок 19. 00:05:24019 Первый роут
- Урок 20. 00:03:51020 Just
- Урок 21. 00:04:20021 ruff
- Урок 22. 00:10:28022 Запросы на сервер
- Урок 23. 00:12:35023 Методы и коды ответов
- Урок 24. 00:00:53024 ДЗ Старт проекта
- Урок 25. 00:08:10025 Response классы
- Урок 26. 00:06:56026 Обработка исключений
- Урок 27. 00:05:36027 Типы возвращаемых данных
- Урок 28. 00:07:51028 Path параметры
- Урок 29. 00:11:23029 Query параметры
- Урок 30. 00:06:29030 Body
- Урок 31. 00:05:09031 Структура проекта
- Урок 32. 00:04:42032 Создание роутера
- Урок 33. 00:05:19033 Упражнение - Случайное число
- Урок 34. 00:05:50034 Введение в Pydantic
- Урок 35. 00:06:44035 model_validator
- Урок 36. 00:09:18036 Валидация body
- Урок 37. 00:04:45037 field_validator
- Урок 38. 00:05:26038 Response model
- Урок 39. 00:04:12039 model_config
- Урок 40. 00:04:06040 Path model
- Урок 41. 00:07:02041 Упражнение - Обновление проекта
- Урок 42. 00:06:41042 Swagger OpenAPI и ReDoc
- Урок 43. 00:04:27043 Упражнение - Базовая документация
- Урок 44. 00:07:32044 Summary description tags
- Урок 45. 00:06:06045 Версионирование API
- Урок 46. 00:07:09046 Модель зрелости API
- Урок 47. 00:06:15047 Что такое DI
- Урок 48. 00:05:39048 Layer архитектура
- Урок 49. 00:07:18049 Базовый механизм Depends
- Урок 50. 00:09:14050 Dependency Graph
- Урок 51. 00:08:08051 Жизненный цикл зависимостей
- Урок 52. 00:06:13052 Упражнение - API роут для задач
- Урок 53. 00:04:23053 Упражнение - DI для задач
- Урок 54. 00:05:55054 О конфигурации
- Урок 55. 00:07:32055 pydantic-settings
- Урок 56. 00:05:25056 Внедрение настроек
- Урок 57. 00:04:40057 Валидация при запуске
- Урок 58. 00:07:30058 Валидация схемы
- Урок 59. 00:03:06059 Упражнение - Добавление секрета
- Урок 60. 00:08:33060 Цель логирования
- Урок 61. 00:08:47061 Уровни логирования
- Урок 62. 00:04:35062 logging
- Урок 63. 00:05:44063 Formatter
- Урок 64. 00:05:10064 Формат логов
- Урок 65. 00:06:10065 basicConfig
- Урок 66. 00:08:29066 log_config
- Урок 67. 00:03:33067 extra
- Урок 68. 00:04:37068 Логирование ошибок
- Урок 69. 00:02:49069 Упражнение - Конфиг для прода
- Урок 70. 00:07:58070 Развёртка PostgreSQL
- Урок 71. 00:05:09071 Выбор библиотеки
- Урок 72. 00:06:01072 Установка SQLAlchemy
- Урок 73. 00:10:07073 Подключение к базе
- Урок 74. 00:04:19074 Запросы в сессии
- Урок 75. 00:09:06075 Модели
- Урок 76. 00:06:05076 Установка Alembic
- Урок 77. 00:10:19077 Первая миграция
- Урок 78. 00:10:24078 Запись в базу
- Урок 79. 00:06:05079 Create
- Урок 80. 00:04:17080 Read
- Урок 81. 00:05:58081 Update
- Урок 82. 00:06:21082 Delete
- Урок 83. 00:03:37083 Упражнение - Модель задачи
- Урок 84. 00:08:10084 Связь моделей
- Урок 85. 00:14:23085 Упражнение - Создание задачи
- Урок 86. 00:03:43086 Упражнение - Получение задач
- Урок 87. 00:10:15087 Limit и Offset в SQL
- Урок 88. 00:06:51088 Реализация поиска
- Урок 89. 00:06:17089 Упражнение - Фильтр по проекту
- Урок 90. 00:08:08090 Работа JWT
- Урок 91. 00:06:46091 Модель пользователя
- Урок 92. 00:06:16092 Хэширование пароля
- Урок 93. 00:17:01093 Регистрация
- Урок 94. 00:05:20094 Логин
- Урок 95. 00:08:44095 Генерация JWT
- Урок 96. 00:04:42096 Упражнение - Возврат токена
- Урок 97. 00:06:24097 Что такое middleware
- Урок 98. 00:06:00098 Создание первой Middleware
- Урок 99. 00:04:21099 Dependency vs Middleware
- Урок 100. 00:08:05100 Middleware аутентификации
- Урок 101. 00:05:43101 Итоговая аутентификация
- Урок 102. 00:09:40102 Связь многие ко многим
- Урок 103. 00:07:45103 Доработка создания
- Урок 104. 00:05:32104 Упражнение - Проверка владения
- Урок 105. 00:02:00105 Развитие проекта
- Урок 106. 00:01:06106 Куда дальше
rphoenixkgnПохоже, на сайте сейчас будет максимально любое решение по всем направлениям. Только почему-то админы ИБ не любят.
астролог rphoenixkgnпотому что антропик специальные ограничения ввела чтобы их модели ничего не помогали в теме безопасности.
rphoenixkgn астрологА Антропик тут вообще к чему?
астролог rphoenixkgnты спросил про иб на сайте каком автора курса Purpleschool? вот он не эксперт и у него нет опыта во всех этих языках и технологиях, которые он преподаёт, понимаешь? а антропик в свои модели встроили доп фильтры для вопросов безопасности, поэтому когда ты спрашиваешь их они тебе не отвечают, поэтому у автора нету и не будет курсов по безопасности, как-то так.
rphoenixkgn астрологИ причём тут Purpleschool? Где в моем сообщение об Purpleschool написано?