Files
meta-openembedded/meta-python/recipes-devtools/python/python3-fastapi_0.141.1.bb
T
Khem Raj b96b129d80 python3-fastapi: ship docs_src for ptest, drop pydantic-settings-only examples
Copy docs_src into the ptest tree since scripts/tests import
docs_src.*. Remove the two settings examples that require
python3-pydantic-settings, which meta-openembedded doesn't package.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-08-16 16:21:41 -07:00

52 lines
1.8 KiB
BlitzBasic

SUMMARY = "FastAPI framework"
DESCRIPTION = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
HOMEPAGE = "https://fastapi.tiangolo.com/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=95792ff3fe8e11aa49ceb247e66e4810"
SRC_URI[sha256sum] = "e8822fc40db1e1858054d7a949a888695bc9bdce70139178e33bd2871a453ca1"
SRC_URI += "file://run-ptest"
CVE_PRODUCT = "tiangolo:fastapi"
inherit pypi python_pdm ptest-python-pytest
PACKAGECONFIG ?= ""
# swagger-ui is in meta-webserver that meta-python does not depend upon
# Users can still enable it in their distros explicitly but its disabled
# by default
PACKAGECONFIG[swagger-ui] = ",,,swagger-ui"
RDEPENDS:${PN} += "\
python3-annotated-doc \
python3-fastapi-cli \
python3-json \
python3-pydantic \
python3-starlette \
python3-typing-extensions \
"
RDEPENDS:${PN}-ptest += "\
python3-coverage \
python3-httpx \
python3-orjson \
python3-dirty-equals \
python3-pytest-httpx \
python3-python-multipart \
python3-sqlalchemy \
python3-trio \
"
do_install_ptest:append() {
install -d ${D}${PTEST_PATH}/scripts
cp -rf ${S}/scripts/* ${D}${PTEST_PATH}/scripts/
rm -rf ${D}${PTEST_PATH}/scripts/tests
cp -rf ${S}/docs_src ${D}${PTEST_PATH}/
echo "import sys; from pathlib import Path; sys.path.insert(0, str(Path(__file__).parent))" > ${D}${PTEST_PATH}/conftest.py
# these docs examples need python3-pydantic-settings, which meta-python
# doesn't package
rm -rf ${D}${PTEST_PATH}/docs_src/settings/app02_an_py310
rm -rf ${D}${PTEST_PATH}/docs_src/settings/app02_py310
}