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