xref: /openbmc/openbmc/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.10.6.bb (revision 43a6b7c2a48b0cb1381af4d3192d22a12ead65f0)
1SUMMARY = "Data validation using Python type hinting"
2DESCRIPTION = "Data validation and settings management using Python \
3type hints.\
4\
5Fast and extensible, Pydantic plays nicely with your linters/IDE/brain. \
6Define how data should be in pure, canonical Python 3.7+; validate it with \
7Pydantic."
8HOMEPAGE = "https://github.com/samuelcolvin/pydantic"
9LICENSE = "MIT"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6"
11
12inherit pypi python_hatchling ptest-python-pytest
13
14SRC_URI[sha256sum] = "ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"
15
16DEPENDS += "python3-hatch-fancy-pypi-readme-native"
17
18RECIPE_NO_UPDATE_REASON = "Must be updated in sync with python3-pydantic-core."
19
20RDEPENDS:${PN} += "\
21    python3-annotated-types \
22    python3-core \
23    python3-datetime \
24    python3-image \
25    python3-io \
26    python3-json \
27    python3-jsonschema \
28    python3-logging \
29    python3-netclient \
30    python3-numbers \
31    python3-profile \
32    python3-pydantic-core \
33    python3-typing-extensions \
34    python3-tzdata \
35    python3-zoneinfo \
36"
37
38RDEPENDS:${PN}-ptest += "\
39    python3-ansi2html \
40    python3-coverage \
41    python3-cloudpickle \
42    python3-dirty-equals \
43    python3-email-validator \
44    python3-fastjsonschema \
45    python3-greenlet \
46    python3-html \
47    python3-hypothesis \
48    python3-mypy \
49    python3-packaging \
50    python3-pydoc \
51    python3-pytest-codspeed \
52    python3-pytest-mock \
53    python3-pytz \
54    python3-rich \
55    python3-sqlalchemy \
56    python3-unixadmin \
57"
58
59do_install_ptest:append() {
60    cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
61    # Requires 'ruff' (python3-ruff) which we cannot build
62    # until we have Rust 1.71+ in oe-core
63    rm -f ${D}${PTEST_PATH}/tests/test_docs.py
64    # We are not trying to support mypy
65    rm -f ${D}${PTEST_PATH}/tests/test_mypy.py
66    # We are not trying to run benchmarks
67    rm -rf ${D}${PTEST_PATH}/tests/benchmarks
68    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
69}
70
71BBCLASSEXTEND = "native nativesdk"
72