Насколько критично использование pydantic в асинхронных приложениях?
Хочу использовать pydantic для валидации данных в дискорд-боте.
Не раз встречал аргументы в пользу того, что использовать синхронный код в асинхронном не стоит, поскольку он блокирует выполнение кода. Однако pydantic используется например в fastAPI, который может работать асинхронно. Значит ли это, что pydantic в целом можно использовать в других асинхронных приложениях или лучше использовать что-то другое?
Не стоит спользовать длительные синхронные вызовы в асинхронном коде.
Во-первых, валидация - это CPU-bound задача, а не IO-bound. Её можно вынести в поток, но и только. Просто асинхронно её не выполнишь.
Во-вторых, если у тебя не ChatGPT данные валидирует, скорее всего время выполнения валидации будет пренебрежимо малым.