Skip to content

Feature/migrate to pydantic v2

Павел Колотов requested to merge feature/migrate-to-pydantic-v2 into main

Описание

Этот MR переводит проект на Pydantic v2.

Что сделано:

  • Проект переведен на Pydantic v2:
    • обновлены все модели;
    • обновлены валидаторы: заменены @validator на @field_validator, @root_validator на @model_validator;
    • обновлена логика сериализации: заменены .dict() на .model_dump(), .json() на .model_dump_json(), .parse_obj() на .model_validate(), .parse_raw() на .model_validate_json();
    • описания полей перенесены из Field(description=...) в docstring;
    • используется model_config вместо вложенного класса Config.
  • Обновлены зависимости в pyproject.toml:
    • pydantic>=2.11.
  • Обновлена документация:
    • обновлен sphinx_docs/conf.py;
    • обновлены зависимости (requirements.txt): autodoc-pydantic>=2.0.0, pydantic-settings>=2.0;
    • в .rst-файлах документации обновлен синтаксис под Pydantic v2.
  • Актуализированы тесты под Pydantic v2.
  • Обновлены зависимости в файлах тестовых конфигураций:
    • pyproject_min.toml: pydantic = "2.11.0"
    • pyproject_max.toml: pydantic = "^2.11"

Чеклист к описанию MR:

  • В описании MR указана польза от изменений: кто получит пользу и почему он хочет этого
  • В описании MR указаны ссылки на соответствующие issues в GitLab, если есть
  • В описании MR приложены фрагменты переписки и/или ссылки на обсуждения, если такие велись за пределами GitLab Issues

Чеклист к коду в репозитории:

  • Новый код покрыт автотестами
  • К каждому новому автотесту в docstring описана функция и история в формате Product Flow
  • Документы Product Flow проверены и обновлены, если требуется
    • новый код совместим с !extension к старым концептам
    • новый код не влезает в !exclusion к старым концептам
    • добавлены новые !example в концепты, если требуется
  • Дока в README перечитана и обновлена, если требуется
  • Дока в CONTRIBUTING.md перечитана и обновлена, если требуется
  • Дока в sphinx_docs/source/index.rst перечитана и обновлена, если требуется
  • Обновлён файл CHANGES.md
Edited by Павел Колотов

Merge request reports