* [meta-python][PATCH 1/6] python3-pika: build the 1.4.4 release
2026-11-08 19:25 [meta-python][PATCH 0/6] Fixes for pika, pint, haversine and httpx2 Thomas Roos
@ 2026-11-08 19:25 ` Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 2/6] python3-pint: add missing runtime dependencies Thomas Roos
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Roos @ 2026-11-08 19:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: Thomas Roos
The upgrade to 1.4.4 only changed SRC_URI[sha256sum], which is unused
since the recipe fetches from git, so SRCREV still pointed at a 1.4.2
era commit and the package installed pika 1.4.2 under version 1.4.4.
Point SRCREV at the 1.4.4 tag commit and drop the unused checksum. Add
tag=${PV} to SRC_URI so that the fetcher checks that SRCREV is the
commit of the release tag.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
---
meta-python/recipes-devtools/python/python3-pika_1.4.4.bb | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/meta-python/recipes-devtools/python/python3-pika_1.4.4.bb b/meta-python/recipes-devtools/python/python3-pika_1.4.4.bb
index 2c18659eab..c4c1bae8fe 100644
--- a/meta-python/recipes-devtools/python/python3-pika_1.4.4.bb
+++ b/meta-python/recipes-devtools/python/python3-pika_1.4.4.bb
@@ -8,13 +8,11 @@ HOMEPAGE = "https://pika.readthedocs.io"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=678ec81495ba50edf81e84e4f1aa69f3"
-SRC_URI[sha256sum] = "8cfc8b33a5cb16e733bd60cffca9732c0d1d761ecd80a89f34ed7df2cd38d6d6"
-
# The PyPI package omits some files for testing like tests/__init__.py
# so use the GitHub source instead.
-SRCREV = "3c9b50d4167e436c73cecae8127e3c5b266b2fce"
+SRCREV = "60fee4203a30d5dfa0500857cea6a65ef571d46c"
SRC_URI = "\
- git://github.com/pika/pika;branch=1.4.x;protocol=https \
+ git://github.com/pika/pika;branch=1.4.x;protocol=https;tag=${PV} \
file://run-ptest \
"
--
2.56.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [meta-python][PATCH 2/6] python3-pint: add missing runtime dependencies
2026-11-08 19:25 [meta-python][PATCH 0/6] Fixes for pika, pint, haversine and httpx2 Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 1/6] python3-pika: build the 1.4.4 release Thomas Roos
@ 2026-11-08 19:25 ` Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 3/6] python3-haversine: keep working when numba fails to import Thomas Roos
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Roos @ 2026-11-08 19:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: Thomas Roos
pint requires flexcache, flexparser and typing-extensions, but only the
ptest package pulled in flexcache and flexparser, so "import pint" fails
with "No module named 'flexcache'" on an image without the ptest.
pint is extended to native and nativesdk, so flexcache and flexparser
are as well.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
---
meta-python/recipes-devtools/python/python3-flexcache_0.3.bb | 2 ++
.../recipes-devtools/python/python3-flexparser_0.4.bb | 2 ++
meta-python/recipes-devtools/python/python3-pint_0.26.2.bb | 5 +++--
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb b/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb
index d46f9eb16f..efdeaabf1b 100644
--- a/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb
+++ b/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb
@@ -18,3 +18,5 @@ RDEPENDS:${PN} += " \
python3-pickle \
python3-typing-extensions \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-python/recipes-devtools/python/python3-flexparser_0.4.bb b/meta-python/recipes-devtools/python/python3-flexparser_0.4.bb
index e4e15d1a35..7ab1c713f9 100644
--- a/meta-python/recipes-devtools/python/python3-flexparser_0.4.bb
+++ b/meta-python/recipes-devtools/python/python3-flexparser_0.4.bb
@@ -18,3 +18,5 @@ RDEPENDS:${PN} += " \
python3-email \
python3-logging \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-python/recipes-devtools/python/python3-pint_0.26.2.bb b/meta-python/recipes-devtools/python/python3-pint_0.26.2.bb
index f370da6a57..dba437a0dd 100644
--- a/meta-python/recipes-devtools/python/python3-pint_0.26.2.bb
+++ b/meta-python/recipes-devtools/python/python3-pint_0.26.2.bb
@@ -17,15 +17,16 @@ BBCLASSEXTEND = "native nativesdk"
PTEST_PYTEST_DIR = "pint"
RDEPENDS:${PN} += " \
+ python3-flexcache \
+ python3-flexparser \
python3-packaging \
python3-platformdirs \
+ python3-typing-extensions \
"
# python3-misc for timeit.py
RDEPENDS:${PN}-ptest += " \
python3-appdirs \
python3-attrs \
- python3-flexcache \
- python3-flexparser \
python3-misc \
python3-pytest-benchmark \
python3-pytest-subtests \
--
2.56.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [meta-python][PATCH 3/6] python3-haversine: keep working when numba fails to import
2026-11-08 19:25 [meta-python][PATCH 0/6] Fixes for pika, pint, haversine and httpx2 Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 1/6] python3-pika: build the 1.4.4 release Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 2/6] python3-pint: add missing runtime dependencies Thomas Roos
@ 2026-11-08 19:25 ` Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 4/6] python3-truststore: add recipe Thomas Roos
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Roos @ 2026-11-08 19:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: Thomas Roos
numba is optional for haversine, but haversine only catches
ModuleNotFoundError. With the NumPy 2.5 from OE-Core, numba 0.66 (as in
meta-python-ai) raises
ImportError: Numba needs NumPy 2.4 or less. Got NumPy 2.5.
which makes "import haversine" fail. Catch ImportError instead.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
---
...-pure-Python-kernels-if-numba-fails-.patch | 40 +++++++++++++++++++
.../python/python3-haversine_2.9.0.bb | 1 +
2 files changed, 41 insertions(+)
create mode 100644 meta-python/recipes-devtools/python/python3-haversine/0001-Fall-back-to-the-pure-Python-kernels-if-numba-fails-.patch
diff --git a/meta-python/recipes-devtools/python/python3-haversine/0001-Fall-back-to-the-pure-Python-kernels-if-numba-fails-.patch b/meta-python/recipes-devtools/python/python3-haversine/0001-Fall-back-to-the-pure-Python-kernels-if-numba-fails-.patch
new file mode 100644
index 0000000000..6e20534799
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-haversine/0001-Fall-back-to-the-pure-Python-kernels-if-numba-fails-.patch
@@ -0,0 +1,40 @@
+From 5f199ca92d651d653cb26b4fb6c48ba91137bec5 Mon Sep 17 00:00:00 2001
+From: Thomas Roos <thomas@roosesweb.de>
+Date: Sat, 7 Nov 2026 11:45:31 +0100
+Subject: [PATCH] Fall back to the pure Python kernels if numba fails to import
+
+numba is an optional accelerator, but importing it can fail with an
+ImportError other than ModuleNotFoundError, for instance when the
+installed NumPy is newer than numba supports:
+
+ ImportError: Numba needs NumPy 2.4 or less. Got NumPy 2.5.
+
+That error escaped and made "import haversine" fail. Catch ImportError,
+which also covers ModuleNotFoundError, so haversine keeps working
+without numba.
+
+Upstream-Status: Submitted [https://github.com/mapado/haversine/pull/91]
+AI-Generated: Claude Code, Claude Opus 5.5
+Signed-off-by: Thomas Roos <thomas@roosesweb.de>
+---
+ haversine/haversine.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/haversine/haversine.py b/haversine/haversine.py
+index a731188..687b602 100755
+--- a/haversine/haversine.py
++++ b/haversine/haversine.py
+@@ -176,7 +176,9 @@ try:
+ _inverse_haversine_kernel_vector = numba.njit(fastmath=True)(_inverse_haversine_kernel_vector)
+ _haversine_kernel = numba.njit(_haversine_kernel)
+ _inverse_haversine_kernel = numba.njit(_inverse_haversine_kernel)
+-except ModuleNotFoundError:
++except ImportError:
++ # numba is optional. Besides being absent, it can refuse to import, e.g.
++ # "Numba needs NumPy 2.4 or less", which must not break haversine.
+ pass
+
+
+--
+2.56.0
+
diff --git a/meta-python/recipes-devtools/python/python3-haversine_2.9.0.bb b/meta-python/recipes-devtools/python/python3-haversine_2.9.0.bb
index 2dfb3356a7..439ff98371 100644
--- a/meta-python/recipes-devtools/python/python3-haversine_2.9.0.bb
+++ b/meta-python/recipes-devtools/python/python3-haversine_2.9.0.bb
@@ -2,6 +2,7 @@ SUMMARY = "Calculate the distance between 2 points on Earth"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=20a52d2c688975e989fcbee3e6c8d1a1"
+SRC_URI += "file://0001-Fall-back-to-the-pure-Python-kernels-if-numba-fails-.patch"
SRC_URI[sha256sum] = "1103d7e1f0f108c25b31b63452c54d9d6f29389a70de7dd75fd4b908329b6fcf"
inherit pypi setuptools3
--
2.56.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [meta-python][PATCH 4/6] python3-truststore: add recipe
2026-11-08 19:25 [meta-python][PATCH 0/6] Fixes for pika, pint, haversine and httpx2 Thomas Roos
` (2 preceding siblings ...)
2026-11-08 19:25 ` [meta-python][PATCH 3/6] python3-haversine: keep working when numba fails to import Thomas Roos
@ 2026-11-08 19:25 ` Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 5/6] python3-httpcore2: " Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 6/6] python3-httpx2: add missing runtime dependencies Thomas Roos
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Roos @ 2026-11-08 19:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: Thomas Roos
httpx2 and httpcore2 require truststore. Home Assistant 2026.11 pins
truststore 0.10.4.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
---
.../python/python3-truststore_0.10.4.bb | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 meta-python/recipes-devtools/python/python3-truststore_0.10.4.bb
diff --git a/meta-python/recipes-devtools/python/python3-truststore_0.10.4.bb b/meta-python/recipes-devtools/python/python3-truststore_0.10.4.bb
new file mode 100644
index 0000000000..1d778a8642
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-truststore_0.10.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Verify certificates using native system trust stores"
+DESCRIPTION = "Truststore is a library which exposes native system \
+ certificate stores (ie \"trust stores\") through an ssl.SSLContext-like \
+ API."
+HOMEPAGE = "https://github.com/sethmlarson/truststore"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=74420fc3965c4558a4a1529e63c2867f"
+
+SRC_URI[sha256sum] = "9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301"
+
+inherit pypi python_flit_core
+
+RDEPENDS:${PN} += "python3-io"
--
2.56.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [meta-python][PATCH 5/6] python3-httpcore2: add recipe
2026-11-08 19:25 [meta-python][PATCH 0/6] Fixes for pika, pint, haversine and httpx2 Thomas Roos
` (3 preceding siblings ...)
2026-11-08 19:25 ` [meta-python][PATCH 4/6] python3-truststore: add recipe Thomas Roos
@ 2026-11-08 19:25 ` Thomas Roos
2026-11-08 19:25 ` [meta-python][PATCH 6/6] python3-httpx2: add missing runtime dependencies Thomas Roos
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Roos @ 2026-11-08 19:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: Thomas Roos
httpx2 imports httpcore2, which is released as a separate package from
the same repository and with the same version.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
---
.../python/python3-httpcore2_2.16.0.bb | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 meta-python/recipes-devtools/python/python3-httpcore2_2.16.0.bb
diff --git a/meta-python/recipes-devtools/python/python3-httpcore2_2.16.0.bb b/meta-python/recipes-devtools/python/python3-httpcore2_2.16.0.bb
new file mode 100644
index 0000000000..03718729c1
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-httpcore2_2.16.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A minimal low-level HTTP client"
+DESCRIPTION = "The HTTP core package of httpx2: connection pooling, \
+ HTTP/1.1 and HTTP/2 transport and proxy support."
+HOMEPAGE = "https://github.com/pydantic/httpx2"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=77c5a523c15d4a5887b081bba41ca110"
+
+SRC_URI[sha256sum] = "c72cd0413563b17e1cd8354677dff887466f8ec2551679759e93126534428643"
+
+inherit pypi python_hatchling
+
+DEPENDS += "\
+ python3-uv-dynamic-versioning-native \
+ python3-hatch-fancy-pypi-readme-native \
+ python3-jinja2-native \
+ python3-tomlkit-native \
+ python3-dunamai-native \
+"
+
+# anyio comes from the "asyncio" extra, which httpx2 needs for its async
+# client.
+RDEPENDS:${PN} += "\
+ python3-anyio \
+ python3-h11 \
+ python3-truststore \
+"
--
2.56.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [meta-python][PATCH 6/6] python3-httpx2: add missing runtime dependencies
2026-11-08 19:25 [meta-python][PATCH 0/6] Fixes for pika, pint, haversine and httpx2 Thomas Roos
` (4 preceding siblings ...)
2026-11-08 19:25 ` [meta-python][PATCH 5/6] python3-httpcore2: " Thomas Roos
@ 2026-11-08 19:25 ` Thomas Roos
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Roos @ 2026-11-08 19:25 UTC (permalink / raw)
To: openembedded-devel; +Cc: Thomas Roos
httpx2 requires httpcore2, anyio and truststore, so "import httpx2"
fails with "No module named 'httpcore2'". Home Assistant 2026.11 imports
httpx2 at startup and does not start without them.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
---
meta-python/recipes-devtools/python/python3-httpx2_2.16.0.bb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/meta-python/recipes-devtools/python/python3-httpx2_2.16.0.bb b/meta-python/recipes-devtools/python/python3-httpx2_2.16.0.bb
index fe4919bff2..5478522592 100644
--- a/meta-python/recipes-devtools/python/python3-httpx2_2.16.0.bb
+++ b/meta-python/recipes-devtools/python/python3-httpx2_2.16.0.bb
@@ -15,8 +15,11 @@ DEPENDS += " \
"
RDEPENDS:${PN} += " \
+ python3-anyio \
python3-core \
- python3-logging \
python3-h2 \
+ python3-httpcore2 \
python3-idna \
+ python3-logging \
+ python3-truststore \
"
--
2.56.0
^ permalink raw reply related [flat|nested] 7+ messages in thread