🔥Валидация данных в Python-скрипте с библиотекой pydantic
Эта легковесная библиотека позволяет проверить данные и управлять настройками с использованием аннотаций Python, применяя подсказки типов во время выполнения. Библиотека показывает пользователю ошибки, если данные невалидны. Достаточно определить, какими должны быть данные в чистом, каноническом Python и подтвердить это с помощью pydantic.
Справедливости ради стоит отметить, что pydantic — это прежде всего библиотека синтаксического анализа, а не средство валидации. Библиотека гарантирует типы и ограничения выходной модели, а не входных данных. Впрочем, хотя валидация модели не является основной целью pydantic, ее можно применять и для этого.
Основным средством определения объектов в pydantic являются модели, классы-наследники базового класса BaseModel. Можно рассматривать модели как типы данных в строго типизированных языках. Ненадежные данные могут быть переданы в модель, и после синтаксического анализа и проверки pydantic гарантирует, что поля результирующего экземпляра модели будут соответствовать типам полей, определенным в модели.
Библиотека отлично совмещается с любой IDE и работает очень быстро: большая часть библиотеки скомпилирована с помощью Cython. Pydantic обеспечивает проверку сложных структур данных и использование рекурсивных моделей, а также позволяет определять пользовательские типы данных через применение декоратора с анализом и проверкой входных данных.
Примечательно, что этот проект с открытым исходным кодом используют множество компаний и продуктов, включая FastAPI, Jupyter, Microsoft, AWS, Uber и др. Попробовать его можно прямо сейчас, импортировав в свой Python-скрипт сперва саму библиотеку через менеджер проектов pip, а затем ее базовый класс BaseModel:
pip install pydantic
from pydantic import BaseModel
https://pydantic-docs.helpmanual.io/
Post #367
975
- 👍 3