mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-07-19 15:29:08 +02:00

The recipe for pydantic currently is at version 2.7.2. This project specifies in its pyproject.toml that it depends on pydantic-core version 2.18.4. Because an older 2.16.3 version of pydantic-core was used now, a simple bit of code will break. from enum import Enum from pydantic import BaseModel class Color(str, Enum): RED = "RED" BLUE = "BLUE" class Car(BaseModel): color: Color print(Car(color=Color.RED)) This will upgrade the python3-pydantic-core recipe to make it compatible with python3-pydantic, so that the above snippet of code will no longer fail. Two patches are removed, these backports are now included in the upstream code. A new patch is added to set the required rust compiler from 1.76 to 1.75. Version 1.76 is not actually needed. File python3-pydantic-core-crates.inc is regenerated by running 'bitbake -c update_crates python3-pydantic-core'. The recipes RDEPENDS now includes python3-compression. The pydantic schema validator imports 'importlib.metadata' which wants to import 'zipfile'. The buildpaths QA check is skipped. This should be fixed at some point, but it was already failing before this change. Signed-off-by: Frank de Brabander <debrabander@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
46 lines
1.4 KiB
BlitzBasic
46 lines
1.4 KiB
BlitzBasic
SUMMARY = "Provides the core functionality for pydantic validation and serialization."
|
|
DESCRIPTION = "This package provides the core functionality for \
|
|
pydantic validation and serialization.\
|
|
\
|
|
Pydantic-core is currently around 17x faster than pydantic V1."
|
|
HOMEPAGE = "https://github.com/pydantic/pydantic-core"
|
|
|
|
LICENSE = "MIT"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c"
|
|
|
|
SRC_URI += "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch"
|
|
SRC_URI[sha256sum] = "ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"
|
|
|
|
DEPENDS = "python3-maturin-native python3-typing-extensions"
|
|
|
|
require ${BPN}-crates.inc
|
|
|
|
inherit pypi cargo-update-recipe-crates python_maturin
|
|
|
|
PYPI_PACKAGE = "pydantic_core"
|
|
|
|
RDEPENDS:${PN} += " \
|
|
python3-compression \
|
|
python3-typing-extensions \
|
|
"
|
|
|
|
INSANE_SKIP:${PN} = "already-stripped"
|
|
INSANE_SKIP:${PN} += "buildpaths"
|
|
|
|
inherit ptest
|
|
SRC_URI += "file://run-ptest"
|
|
RDEPENDS:${PN}-ptest += "\
|
|
python3-dirty-equals \
|
|
python3-hypothesis \
|
|
python3-pytest \
|
|
python3-pytest-mock \
|
|
python3-pytest-timeout \
|
|
python3-pytest-benchmark \
|
|
python3-unittest-automake-output \
|
|
"
|
|
|
|
do_install_ptest() {
|
|
cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
|
|
sed -i -e "/--automake/ s/$/ -k 'not test_model_class_root_validator_wrap and not test_model_class_root_validator_before and not test_model_class_root_validator_after'/" ${D}${PTEST_PATH}/run-ptest
|
|
}
|