удобны для клиентов и помогают выстраивать логистику внутри компании Компания специализируется на разработке и внедрении цифровых продуктов и ПО для клиентских и внутренних IT-решений Наш портфель насчитывает свыше 150 IT и цифровых проектов
Оверхед на разработку хорошего протокола Есть Нет Деплой и откат Сложный Простой Мерж-конфликты Минимальны Частые Накладные расходы на RPC (CPU, RAM, сеть) Есть Нет Graceful degradation Есть Нет Поддержка разных языков/фреймворков для разных частей Есть Нет
• Нужно описывать одни и те же данные дважды: в Pydantic и SQLAlchemy ORM. • Сортировка, пагинация, фильтры – всё руками. • Постоянно таскать за собой engine или городить костыли.
мало Минусы: • (наследует минусы SQLAlchemy) • Не поддерживает трансформации данных Слой совместимости SQLModel и Pydantic from sqlmodel import Field, SQLModel class Train(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) name: str
• Несколько маргинален • Слабый движок миграций • Не получилось подключить базы через ODBC Делался под впечатлением от Django (и разработчики это не скрывают) from tortoise.models import Model from tortoise import fields class Train(Model): id = fields.IntField(pk=True) name = fields.TextField()
Только Postgres • Пока недостаточно стабилен • Слабая документация • Нет готовых админок Делался под впечатлением от Django (и разработчики это скрывают) from gino import Gino db = Gino() class Train(db.Model): __tablename__ = 'trains' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.Unicode(), default='noname')
базой, миграциями и админкой • REST API (DRF), управление пользователями, вебсокеты (channels), капча • Гигантское количество компонентов для решения (практически) любых задач Хороший инструмент для решения типовых задач
FastAPI (/v1) API (старое) Django (/admin, /v1/method1, /v1/method2, …) ORM + Миграции Админка API DRF (новое) Starlette StaticFiles (/static) + Django Channels dev server (Daphne) Можно было использовать djantic
базу переиспользуемых компонентов • Админка досталась нам «бесплатно» с ORM • Мы не отказываемся от FastAPI во вспомогательных микросервисах • Разработка ускорилась в ~2.5 раза
Москва, ул. Новорязанская, 24 +7 495 663 01 01 8 800 775 16 16 [email protected] Хабр НАШИ СТРАНИЦЫ В СОЦСЕТЯХ И НА СПЕЦИАЛИЗИРОВАННЫХ ПЛОЩАДКАХ https://pgk.ru 105066, Москва, ул. Новорязанская, 24 +7 495 663 01 01 8 800 775 16 16 [email protected] Хабр @gamepad64 Мой YouTube-канал Александр Шишенко Руководитель команды разработчиков (тимлид)