Обе библиотеки, Generic и Pydantic, могут быть использованы для типизации в Python, но они имеют различные цели и функциональности.
Generic - это часть стандартной библиотеки языка Python, которая предоставляет возможность работы с обобщенными типами данных. Он может быть использован для создания параметризованных типов данных, но не обеспечивает возможности валидации данных.
Pydantic, с другой стороны, является библиотекой, которая предоставляет возможности для типизации и валидации данных. Он позволяет определять схемы данных с помощью аннотаций типов Python и проводить валидацию данных согласно этим схемам.
Если вы хотите только типизировать данные без проведения дополнительной валидации, то можно использовать Generic. Однако, если вы также хотите обеспечить валидацию входных данных, управление ошибками и другие функциональности, то Pydantic может быть более подходящим выбором.
Что касается ASGI сервера, реализующего Rest API, то использование Generic без Pydantic для типизации данных может быть возможным, но это может усложнить разработку и отладку кода. Pydantic предоставляет мощные средства для работы с данными, а также автоматическую генерацию документации и согласованность данных между клиентом и сервером.
Поэтому на мой взгляд, использование Pydantic для типизации и валидации данных в ASGI сервере будет более удобным и эффективным.