Pull to refresh
5
0
Send message

Я потом наследуюсь от протокола вот тут.
Это нужно для того, чтобы быть уверенным, что какой-то класс удовлетворяет протоколу.
Когда у вас много протоколов и объектов которые имплементируют их, то такое поведение очень удобно

PEP 544

На самом деле у нас pydantic то и не было, у нас была своё самописная библиотека для этих целей. Просто поддерживать её не представляется возможным.

Если выделить, чем нам pydantic не нравится, то:
- Не позволяет создавать один и тот же класс из нескольких источников или отдавать в разном виде.
- При создании модели вручную, нужно передавать поля по алиасам, allow_population_by_name не решает эту проблему.
- Неявные преобразование типов
- По мелочи какое-то неявное поведение

Ну если говорить о том, чем он лучше FastAPI, то тут можно выделить несколько моментов:
1. Гвоздями не прибит pydantic
2. Есть ClassView (мне нравится)
3. Depends от FastAPI отражается в OpenAPI схеме, в Litestar - нет

На прод только планируем затаскивать для одного из сервисов.
Единственное, что вместо pydantic планируем использовать msgspec.

Из неочевидных особенностей хочу отметить, что тащить все батарейки из Litestar к себе в проект не стоит, лучше ограничиться только функционалом http фреймворка.

Information

Rating
Does not participate
Works in
Registered
Activity