Узнайте, что изменилось в последней версии 2.0 Pydantic

Скорее всего, вы использовали приложение, использующее Pydantic, самую популярную в мире платформу проверки данных, даже не подозревая об этом. В этом посте мы расскажем об основах Pydantic, для чего он используется и что изменилось в последнем выпуске 2.0. Если вы уже являетесь пользователем Pydantic, вы можете пропустить вводные разделы и перейти к последнему обсуждению того, что изменилось.

Для полной прозрачности основная причина, по которой я узнал, что Pydantic вообще существует, заключается в том, что вызов функции в API OpenAI ChatCompletions принимает схему JSON, которую выводит Pydantic. Эта статья была написана как обзор для меня, когда я изучал фреймворк.

Что такое Пидантик? Обзор с высоты 30 000 футов ✈️

Pydantic был первоначально создан в 2017 году Сэмюэлем Колвином, и его версия 1.0 вышла только в конце 2019 года. Сегодня пакет загружается более 70 миллионов раз в месяц (что делает его одним из самых популярных репозиториев с открытым исходным кодом в мире). ) и используется более чем в 200 000 репозиториев на GitHub (это самый высокий показатель, который я лично видел для любого проекта).

Основной вариант использования Pydantic заключается в том, что он позволяет вам проверять данные, определяя модель. Это может быть особенно полезно, если ваша программа ожидает определенного структурированного ввода или вывода.

Основные функции Pydantic включают в себя:

  • Мощность подсказок типа: Pydantic использует подсказки типа для управления проверкой схемы и сериализацией, сокращая время обучения и требуемый объем кода.
  • Скорость. Базовая логика проверки Pydantic, написанная на Rust, делает ее одной из самых быстрых библиотек проверки данных Python.
  • Схема JSON. Способность моделей Pydantic создавать схемы JSON упрощает интеграцию с различными инструментами.
  • Гибкие режимы: Pydantic может работать в строгом режиме, избегая преобразования данных, или в нестрогом режиме, который пытается привести данные к соответствующему типу.
  • Поддержка стандартных типов библиотек: Pydantic совместим со множеством…