Feature/migrate to pydantic v2
Описание
Этот 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 Павел Колотов