Мы долгие годы писали сервисы, исходя из каких-то своих внутренних ощущений правильности их написания. Но синхронизироваться по хорошим практикам в разных командах бывает довольно сложно и часто хорошие практики не выходили за рамки одной команды, а такого хотелось бы избежать. Поэтому мы решили объединить все хорошие по нашему мнению практики в единый справочник. Этот справочник получил название «Архитектурный гайд». Про него и поговорим в данной статье.
Рубрика «fastapi»
Наш архитектурный подход к Python приложениям
2025-03-03 в 9:00, admin, рубрики: circuit breaker, fastapi, faststream, litestar, pytest, python, архитектура, архитектура приложений, лучшие практики, РайффайзенбанкМикросервисы на пальцах: API‑Gateway, API‑Composition, KrakenD, FastAPI
2025-02-10 в 9:05, admin, рубрики: api, API Gateway, docker, fastapi, KrakenD, linux, selectel, микросервисы
Количество современных приложений, построенных на микросервисной архитектуре, очень велико. А сами микросервисы стали уже больше обыденностью, чем какой-то редкостью. В этом материале рассмотрим API-Gateway, BFF и композицию API — три базовых шаблона, которые можно встретить почти в каждой системе с микросервисами. Наша задача — понять, для чего они нужны, какие проблемы решают и создают. Пройдемся по теории и развернем реальный пример на инфраструктуре.Читать полностью »
Как правильно делать тестовые задания на Python (flask, fastapi)
2025-01-28 в 7:38, admin, рубрики: fastapi, flask, junior, python, войти в IT, войти в айти, собеседование, тестовое заданиеПочему к моим совета стоит прислушаться

Александр Чепайкин
Senior Python Developer в крупном финтехе. С 2012 года в IT, участвовал в разработке простых сайтов, интернет-магазинов, игр и сложных распределенных систем. Несколько лет работал удаленно на Кремниевую долину в крупных стартапах.
FastAPI и Dependency Injection: правда или вымысел?
2024-12-16 в 14:26, admin, рубрики: clean architecture, dependency injection, dependency inversion, dishka, fastapi, python, solid, webВ свое время FastAPI прогремел как гром среди ясного неба - тут тебе и минималистичный API аля-Flask (все устали от Django, диктующего свои правила), и OpenAPI документация из коробки, и удобное тестирование, и хайповая асинхронность. Буквально все, что нужно для свободы творчества, и никаких ограничений! Да еще и Depends завезли! В тот момент это был культурный шок - Dependency Injection в Python? Разве это не что-то из Java?
FastAPI показал, что DI - это паттерн, упрощающий разработку вне зависимости от языка программирования. Теперь DIЧитать полностью »
Как мы создаём Visionatrix: упрощая ComfyUI
2024-10-26 в 18:10, admin, рубрики: chatgpt и программирование, ComfyUI, fastapi, integration, open source, sqlalchemyДобрый день всем.
Хотелось бы поделиться нашим опытом разработки Visionatrix — надстройки над ComfyUI, которую мы создаём вдвоём, и что из этого получается.
Мы часто читаем Хабр на протяжении более десяти лет, но руки до написания статьи никак не доходили. Наконец, решили рассказать о нашем проекте, который, возможно, будет интересен сообществу разработчиков.
Сразу оговоримся, что статья не будет объяснять, что такое ComfyUI и его особенности работы. Предполагается, что вы уже знакомы с этим инструментом.
Мой вариант аутентификации с помощью JWT в FastAPI + React
2024-09-29 в 8:15, admin, рубрики: fastapi, jwt, jwt auth, python, ReactВ создании своих pet проектов у многих возникает вопрос аутентификации пользователя. Это может быть связано с персональным отображением страниц, настройки доступа и т.д.
В этой статье я хочу показать мое решение вопроса. Сразу скажу, что оно может быть не идеальным, могут быть другие варианты решения, но, мне кажется, для pet проекта, а может и больше этого вполне достаточно.
Что будем использовать?
Я решил поэкспериментировать с JWT (JSON web token) токеном, так как его не нужно хранить в базе или где то на сервере, это упрощает архитектуру приложения.
Для работы нам необходимо установить PyJWT
pip install pyjwt
Читать полностью »
Лучшие open-source инструменты для Python проектов
2023-01-02 в 14:50, admin, рубрики: developer experience, django, fastapi, flask, open source, pre-commit, python"Give me six hours to chop down a tree and I will spend the first four sharpening the axe."
Open-source проекты, сторонние инструменты и библиотеки - это то, за что мы действительно любим Python. В этой статье я собрал самые полезные, валидированные сообществом и проверенные временем инструменты, конфигурации которых можно встретить в популярных проектах с открытым исходным кодом.
Инструменты распределены по этапам/сферам разработки. По каждому из них я дам небольшое описание и попытаюсь рассказать о его пользе. Если утилита имеет дополнительные расширения/плагины, то я расскажу про самые полезные (на мой взгляд).
Личный проект
В нашей команде бытует хорошая практика фиксировать всё изменения, которые отправляются в продакшен в гитхабовских релизах. Однако, не вся наша команда имеет доступ в гитхаб, а о релизах хочется знать всем. Так сложилась традиция релиз из гитхаба дублировать в рабочем чате команды в телеграме. Что хорошо, гитхаб позволяет с помощь маркдауна красиво оформить релиз с разделением на секции и ссылками на задачи, которые отправляются на выкатку. Что плохо, простым copy/paste всю эту красоту в телеграм не перенесёшь и приходится тратить время на довольно нудную работу по повторному оформлению релиза, но уже в телеграме. Ну а посколько программисты народ ленивый, я решил этот процесс автоматизировать.
Исходные данные:
- Гитхаб умеет сообщать обо всём, что происходит в репозитории с помощью вебхуков
- Вся необходимая для формирования релиза информация содержится в теле запроса, который кидает вебхук
- Авторизация идёт через подпись запроса секретом, который проставляется в настройках вебхука
Соответственно, задача заключается в том, чтобы поднять HTTP API, который сможет принять POST запрос, проверить подпись, извлечь нужную информацию из тела запроса и передать её дальше по инстанции. Как тут не попробовать FastAPI, на который я давно глаз положил?
Кто такой FastAPI?
FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью,
что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.
Комбайн получился легким, неперегруженным и более, чем достаточным по функционалу.
Почему Вы должны попробовать FastAPI?
2019-12-03 в 16:45, admin, рубрики: api, asyncio, fastapi, openapi, python, rest, swagger Лого взято из Github репозитория FastAPI
FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc
FastAPI построен на базе Starlette и Pydantic.
Starlette — ASGI микро-фреймворк для написания веб-приложений.
Pydantic — библиотека для парсинга и валидации данных основанная на Python type-hints.