summaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
diff options
context:
space:
mode:
authorFrank de Brabander <debrabander@gmail.com>2024-07-26 15:01:35 +0200
committerKhem Raj <raj.khem@gmail.com>2024-07-26 09:51:39 -0700
commitbee8b9bbc48e5ee9a4b67aed09027e62143eb34c (patch)
tree3db63d1169ca941424a8787f7fca05c42577dbf3 /meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
parent42a9f8f311a0131595dc9e8a119bffba436c0b16 (diff)
downloadmeta-openembedded-bee8b9bbc48e5ee9a4b67aed09027e62143eb34c.tar.gz
python3-pydantic-core: fix incompatible version
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>
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb')
-rw-r--r--meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb45
1 files changed, 45 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb b/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
new file mode 100644
index 0000000000..eb55991995
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
@@ -0,0 +1,45 @@
1SUMMARY = "Provides the core functionality for pydantic validation and serialization."
2DESCRIPTION = "This package provides the core functionality for \
3pydantic validation and serialization.\
4\
5Pydantic-core is currently around 17x faster than pydantic V1."
6HOMEPAGE = "https://github.com/pydantic/pydantic-core"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c"
10
11SRC_URI += "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch"
12SRC_URI[sha256sum] = "ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"
13
14DEPENDS = "python3-maturin-native python3-typing-extensions"
15
16require ${BPN}-crates.inc
17
18inherit pypi cargo-update-recipe-crates python_maturin
19
20PYPI_PACKAGE = "pydantic_core"
21
22RDEPENDS:${PN} += " \
23 python3-compression \
24 python3-typing-extensions \
25"
26
27INSANE_SKIP:${PN} = "already-stripped"
28INSANE_SKIP:${PN} += "buildpaths"
29
30inherit ptest
31SRC_URI += "file://run-ptest"
32RDEPENDS:${PN}-ptest += "\
33 python3-dirty-equals \
34 python3-hypothesis \
35 python3-pytest \
36 python3-pytest-mock \
37 python3-pytest-timeout \
38 python3-pytest-benchmark \
39 python3-unittest-automake-output \
40"
41
42do_install_ptest() {
43 cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
44 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
45}