meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.10.2.bb
Leon Anavi 7d22a7b191
python3-pydantic: Upgrade 2.9.2 -> 2.10.2
Upgrade to version 2.10.2:

- Only evaluate FieldInfo annotations if required during schema
  building
- Do not evaluate annotations for private fields
- Support serialization as any for Secret types and Url types
- Fix type hint of Field.default to be compatible with Python 3.8
  and 3.9
- Add hashing support for URL types
- Hide BaseModel.__replace__ definition from type checkers

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-11-27 09:36:51 -08:00

74 lines
2.4 KiB
BlitzBasic

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 pypi python_hatchling
SRC_URI[sha256sum] = "2bc2d7f17232e0841cbba4641e65ba1eb6fafb3a08de3a091ff3ce14a197c4fa"
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-tzdata \
python3-zoneinfo \
"
inherit ptest
SRC_URI += "file://run-ptest"
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 \
python3-pytest-codspeed \
python3-pytest-mock \
python3-pytz \
python3-rich \
python3-sqlalchemy \
python3-unittest-automake-output \
python3-unixadmin \
"
do_install_ptest() {
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'/" ${D}${PTEST_PATH}/run-ptest
}