diff mbox series

[meta-python,2/2] python3-fastapi[-cli]: new recipe 0.122.0

Message ID 20251129182709.459094-2-jan.vermaete@gmail.com
State Under Review
Headers show
Series [meta-python,1/2] python3-annotated-doc: new recipe version 0.0.4 | expand

Commit Message

Jan Vermaete Nov. 29, 2025, 6:27 p.m. UTC
python3-fastapi at version 0.122.0
python3-fastapi-cli at version 0.0.16

Moved and modified from meta-ros (Thanks Rob Woolley)

- added ptest for fastapi  (long run)
- python3-fastapi-cli does have tests,
  but also a circular dependency on python-fastapi.
  So no ptests for python3-fastapi

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
---
 .../ptest-packagelists-meta-python.inc        |  1 +
 .../python/python3-fastapi-cli_0.0.16.bb      | 20 ++++++++++++++++
 .../python/python3-fastapi/run-ptest          |  5 ++++
 .../python/python3-fastapi_0.122.0.bb         | 23 +++++++++++++++++++
 4 files changed, 49 insertions(+)
 create mode 100644 meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.16.bb
 create mode 100644 meta-python/recipes-devtools/python/python3-fastapi/run-ptest
 create mode 100644 meta-python/recipes-devtools/python/python3-fastapi_0.122.0.bb
diff mbox series

Patch

diff --git a/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-python/conf/include/ptest-packagelists-meta-python.inc
index b0130387bb..c72b4cb5d0 100644
--- a/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -121,6 +121,7 @@  PTESTS_FAST_META_PYTHON = "\
 PTESTS_SLOW_META_PYTHON = "\
     python3-arrow \
     python3-ecdsa \
+    python3-fastapi \
     python3-google-auth \
     python3-lz4 \
     python3-marshmallow \
diff --git a/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.16.bb b/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.16.bb
new file mode 100644
index 0000000000..a8f585b607
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-fastapi-cli_0.0.16.bb
@@ -0,0 +1,20 @@ 
+DESCRIPTION = "Run and manage FastAPI apps from the command line with FastAPI CLI"
+HOMEPAGE = "https://fastapi.tiangolo.com/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e0cf8d811ea2046529403707b266fb5a"
+
+SRC_URI[sha256sum] = "e8a2a1ecf7a4e062e3b2eec63ae34387d1e142d4849181d936b23c4bdfe29073"
+
+inherit pypi python_pdm
+
+PYPI_PACKAGE = "fastapi_cli"
+
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
+
+RDEPENDS:${PN} += "\
+    python3-difflib \
+    python3-pydantic \
+    python3-rich-toolkit \
+    python3-typer \
+    python3-uvicorn \
+"
diff --git a/meta-python/recipes-devtools/python/python3-fastapi/run-ptest b/meta-python/recipes-devtools/python/python3-fastapi/run-ptest
new file mode 100644
index 0000000000..b4d99ee36b
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-fastapi/run-ptest
@@ -0,0 +1,5 @@ 
+#!/bin/sh
+
+# ignore the test from the tutorial
+# those depends on python packages that are not part of OE
+pytest --automake --ignore tests/test_tutorial
diff --git a/meta-python/recipes-devtools/python/python3-fastapi_0.122.0.bb b/meta-python/recipes-devtools/python/python3-fastapi_0.122.0.bb
new file mode 100644
index 0000000000..37a475ef8f
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-fastapi_0.122.0.bb
@@ -0,0 +1,23 @@ 
+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] = "cd9b5352031f93773228af8b4c443eedc2ac2aa74b27780387b853c3726fb94b"
+
+SRC_URI += "file://run-ptest"
+
+inherit pypi python_pdm ptest-python-pytest
+
+RDEPENDS:${PN} += "\
+    python3-annotated-doc \
+    python3-fastapi-cli \
+    python3-json \
+    python3-pydantic \
+    python3-starlette \
+    python3-typing-extensions \
+"
+
+RRECOMMENDS:${PN} += "swagger-ui"
+
+RDEPENDS:${PN}-ptest += "python3-orjson"