From 317da0fe970e7e6f7dad0f60c094a52ad0a33f55 Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Mon, 13 Oct 2025 16:17:25 +0300 Subject: pydantic: Upgrade 2.11.7 -> 2.12.0 Upgrade to release 2.12.0: - Update V1 copy to v1.10.24 - Add extra parameter to the validate functions - Add exclude_computed_fields serialization option - Add preverse_empty_path URL options - Add union_format parameter to JSON Schema generation - Add __qualname__ parameter for create_model - Do not try to infer name from lambda definitions in pipelines API - Use proper namespace for functions in TypeAdapter - Use Any for context type annotation in TypeAdapter - Expose FieldInfo in pydantic.fields.__all__ - Respect validation_alias in @validate_call - Use Any as context annotation in plugin API - Use proper stacklevel in warnings when possible Signed-off-by: Leon Anavi Signed-off-by: Khem Raj --- .../python/python3-pydantic_2.12.0.bb | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-pydantic_2.12.0.bb (limited to 'meta-python/recipes-devtools/python/python3-pydantic_2.12.0.bb') diff --git a/meta-python/recipes-devtools/python/python3-pydantic_2.12.0.bb b/meta-python/recipes-devtools/python/python3-pydantic_2.12.0.bb new file mode 100644 index 0000000000..8016b55dfe --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pydantic_2.12.0.bb @@ -0,0 +1,73 @@ +SUMMARY = "Data validation using Python type hinting" +DESCRIPTION = "Data validation and settings management using Python \ +type hints.\ +\ +Fast and extensible, Pydantic plays nicely with your linters/IDE/brain. \ +Define how data should be in pure, canonical Python 3.7+; validate it with \ +Pydantic." +HOMEPAGE = "https://github.com/samuelcolvin/pydantic" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6" + +inherit python_hatchling ptest-python-pytest + +SRCREV = "a7928e692e5a7841c4379d1af1fd37966941dade" +PV .= "+git" +SRC_URI = "git://github.com/pydantic/pydantic;protocol=https;branch=main" +DEPENDS += "python3-hatch-fancy-pypi-readme-native" + +RECIPE_NO_UPDATE_REASON = "Must be updated in sync with python3-pydantic-core." + +RDEPENDS:${PN} += "\ + python3-annotated-types \ + python3-core \ + python3-datetime \ + python3-image \ + python3-io \ + python3-json \ + python3-jsonschema \ + python3-logging \ + python3-netclient \ + python3-numbers \ + python3-profile \ + python3-pydantic-core \ + python3-typing-extensions \ + python3-typing-inspection \ + python3-tzdata \ + python3-zoneinfo \ +" + +RDEPENDS:${PN}-ptest += "\ + python3-ansi2html \ + python3-coverage \ + python3-cloudpickle \ + python3-dirty-equals \ + python3-email-validator \ + python3-fastjsonschema \ + python3-greenlet \ + python3-html \ + python3-hypothesis \ + python3-mypy \ + python3-packaging \ + python3-pydoc \ + python3-pytest-codspeed \ + python3-pytest-mock \ + python3-pytz \ + python3-rich \ + python3-sqlalchemy \ + python3-unixadmin \ +" + +do_install_ptest:append() { + cp -rf ${S}/tests/ ${D}${PTEST_PATH}/ + # Requires 'ruff' (python3-ruff) which we cannot build + # until we have Rust 1.71+ in oe-core + rm -f ${D}${PTEST_PATH}/tests/test_docs.py + # We are not trying to support mypy + rm -f ${D}${PTEST_PATH}/tests/test_mypy.py + # We are not trying to run benchmarks + rm -rf ${D}${PTEST_PATH}/tests/benchmarks + sed -i -e "/--automake/ s/$/ -k 'not test_config_validation_error_cause and not test_dataclass_config_validate_default and not test_annotated_validator_nested and not test_use_bare and not test_use_no_fields and not test_validator_bad_fields_throws_configerror and not test_assert_raises_validation_error and not test_model_config_validate_default and not test_readonly_qualifier_warning'/" ${D}${PTEST_PATH}/run-ptest +} + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf