diff options
| author | Frank de Brabander <debrabander@gmail.com> | 2024-07-26 15:01:35 +0200 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2024-07-26 09:51:39 -0700 |
| commit | bee8b9bbc48e5ee9a4b67aed09027e62143eb34c (patch) | |
| tree | 3db63d1169ca941424a8787f7fca05c42577dbf3 /meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb | |
| parent | 42a9f8f311a0131595dc9e8a119bffba436c0b16 (diff) | |
| download | meta-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.bb | 45 |
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 @@ | |||
| 1 | SUMMARY = "Provides the core functionality for pydantic validation and serialization." | ||
| 2 | DESCRIPTION = "This package provides the core functionality for \ | ||
| 3 | pydantic validation and serialization.\ | ||
| 4 | \ | ||
| 5 | Pydantic-core is currently around 17x faster than pydantic V1." | ||
| 6 | HOMEPAGE = "https://github.com/pydantic/pydantic-core" | ||
| 7 | |||
| 8 | LICENSE = "MIT" | ||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c" | ||
| 10 | |||
| 11 | SRC_URI += "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch" | ||
| 12 | SRC_URI[sha256sum] = "ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864" | ||
| 13 | |||
| 14 | DEPENDS = "python3-maturin-native python3-typing-extensions" | ||
| 15 | |||
| 16 | require ${BPN}-crates.inc | ||
| 17 | |||
| 18 | inherit pypi cargo-update-recipe-crates python_maturin | ||
| 19 | |||
| 20 | PYPI_PACKAGE = "pydantic_core" | ||
| 21 | |||
| 22 | RDEPENDS:${PN} += " \ | ||
| 23 | python3-compression \ | ||
| 24 | python3-typing-extensions \ | ||
| 25 | " | ||
| 26 | |||
| 27 | INSANE_SKIP:${PN} = "already-stripped" | ||
| 28 | INSANE_SKIP:${PN} += "buildpaths" | ||
| 29 | |||
| 30 | inherit ptest | ||
| 31 | SRC_URI += "file://run-ptest" | ||
| 32 | RDEPENDS:${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 | |||
| 42 | do_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 | } | ||
