From patchwork Sun Nov 8 19:25:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 103433 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2943.1794165955648781327 for ; Sun, 08 Nov 2026 11:25:55 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: gmail.com, ip: 209.85.221.45, mailfrom: roosesweb@gmail.com) Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-492fcbfaa88so165345f8f.3 for ; Sun, 08 Nov 2026 11:25:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794165954; x=1794770754; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=JsEzfQGJ7C5FAXZNu8G+SS+W/2pNgZ+pYFCPwvYneNE=; b=KcuH4qeMqcl5d62enPgLDL38eqhvjHNcZ3JRAhY4zsfvZVwJh3Px+uw5UmpVBkbcbg A0R42VIYje5K4/ZBFBZjsWdXL7uzKqNeUdAi7JeWJ60Q7zdA4tOm+T9KMSaakVeLqDqm 16guX95WGxWA1Rv0oFqLt2HQkIkE/VaGWWXuz29rp9v17Jd8wlxr0vDHqZszdyVK0QFr MlQiNkHTKXqkeMAxx7ymo21k3TmccxXEDzLcMxEtLshiRmrCZftu8F9v/rDVCPwAvokB p2SB3RnnXGmfr8dNxeOyDdzGlbxRnHmC2g4SBiXngpvYp+xLlXxsSkEAnYdCBYgTcNs3 9g/A== X-Gm-Message-State: APuU4Z/mC0oPbGHkFGqTopWxZpPJmkLetQrS6Lgu+X3QQNsG3MBrLpZ9 xFziO9Q7fCi3Qf0mZvnQ7r0Xx8JLMQOBqJbt75ciPfmO5+oVJcl9pQbpFsdHJw== X-Gm-Gg: AYBFou2b4Frtn6bH14fkZlbXg7TS9Fxm4P+iyu7mfsHvLjCJwSoAFjvGbDXj/zb+ytp cbNWagsmptKYLbfr276GL2NxfIohafBkSr7dRV9nxBHLgNXsFE1B2V/5A6RgCTlWGhWMJUHhLbv 8a//PlNj7P8ZwaCvxRWmG3HgCRGs8SNw7iuhzlHXSSq45UAS26uCII6H12Z5y2HWT4znN5iMvKX IqpzYbWLxcxY+uEydJuY/Vb3JeaWWN57UaBU+uMKuC94p9F6Qx2p+0lKiXJxYh5Y94rE0CvpFkz 9CC2JpgZWQCTV4IYWVomCzNvNDXZtPZmzqcyaq/TYDkUf+vO8fEkEqFKPklbdMwAlZ9By06KR1M Q1qbHV45e38/9M/kZYKI1A6qC0VYDwgygQfAhTyXNspB45RwUnCLP9RECiUEodojibpYafNDdBQ fET4YDHTXSlVH1fTSl6LLiXm/h2RWy6J2cErGS+CbRhmEVKK8O3iEnXeWgq+TSJqf+UHxRiXs9s JS1AmmN34vTsUEDUHcTaOmQcewVKgcZM1q3fvhKfdVB4bNpPzuhyabSVOqS9cDn1wp592LLJH8T Or6yvJJU7QwZynm7AYITBwZRPDISO4Sr6QrXYgWUSMi65bwubLBvZ6RrntRE2m/ItbxXKL5BNxi 7ymznMjGcEMurc6S+f6zApnlWKkRNgToubtraMo+1Im/ODswRGTYDY0xPOA== X-Received: by 2002:a05:600c:1d05:b0:4a1:811c:8078 with SMTP id 5b1f17b1804b1-4b963c7585cmr40690125e9.26.1794165953709; Sun, 08 Nov 2026 11:25:53 -0800 (PST) Return-Path: Received: from mother.tail4535.ts.net ([2a02:810d:ae08:d00:e5a9:b4b9:ba2:5901]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b7efb1a517sm160930535e9.12.2026.11.08.11.25.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:25:53 -0800 (PST) From: "Thomas Roos" To: openembedded-devel@lists.openembedded.org Cc: Thomas Roos Subject: [meta-python][PATCH 1/6] python3-pika: build the 1.4.4 release Date: Sun, 8 Nov 2026 20:25:44 +0100 Message-ID: <20261108192549.1082715-2-thomas@roosesweb.de> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261108192549.1082715-1-thomas@roosesweb.de> References: <20261108192549.1082715-1-thomas@roosesweb.de> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 08 Nov 2026 22:38:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/132016 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 --- 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 \ " From patchwork Sun Nov 8 19:25:45 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 103435 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2944.1794165956056704226 for ; Sun, 08 Nov 2026 11:25:56 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: gmail.com, ip: 209.85.221.48, mailfrom: roosesweb@gmail.com) Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-48e1d0e5dafso171165f8f.1 for ; Sun, 08 Nov 2026 11:25:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794165954; x=1794770754; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8+nkefYpeRZCtmR7YlatoilnCk2IrvR0bSRODDsU0aU=; b=0X0BwPwF82vif/xICcoOUbrz1h8lStBtad9Q6syRl70QaOSerCZ9NhTeima7QJE210 72trkMwXOFvdwpC5yqT7jW9C3wCObSCP6EEUgABdtODwX9vf/zI3RvTG+wqwQ3Tl56Ri Uo952xdjHM4/OBEaWsQ+l6zGEdXCS72DE7dnJC2d7CR2cGRYewJI+e+hrjlkVeEPIZK1 ylBYbF6ucZOae2P2yHF+cFchMVhgqkGZJc8I6PbE6stcT8TpVb92KSMZRtoL4eZMUbkI 2eQDNCjE5I6XmrLlGZXs+IOkF9sfc6yEy6lCKHO4qrEKJdNe/rqUsUHjuxmfR7dXlFLa yvMQ== X-Gm-Message-State: APuU4Z8KAU/jXjFifzC4jCgcDkFFo4xNUF52XxxgsV3y6aAuCP3Rg5Y8 bddGz/t9adGYmOBS68m6bUWn4KSc0iEvmdBh/+Olml9ocYMWQp4A8W1/px0wMg== X-Gm-Gg: AYBFou3Jh6dnDGM1Mk/uWBm9Bu5jPFFk5jKYycN5OH2MsBzHuCgjTxUzEjfmNALQGJw 0h+ZAAkEdl1aU9uJrWho4B0SRWudVRRH3ky+m8r+GXtvoZ7AC/jPsO/JUKuFfD7Tdk4o6b77Hmj HrqURZEcFBu6A11MzPFMD14mIgEjjuH+NJup0krfYXFPXHjVReVVnS1OMqxQS+m6Sc4iZdsY2Fk OW+C7VSF3+MvAAjfBtV69E9ku+Z2INZJ9v9zlE8U0w0pOMMFilFGZWuPvKZVBOuhy+AY6vxWLfM 7ADdSr638Kay3l5ybx/oIaGHKUT5jkXCsaQwPdsen6Nduzf9wZLdrWqPduv+VZba/jowrRcVN3V 78XkbE4kvGg/SNNBDGBzMWm1iR01ogKtNNXQWsXUHe2TNx48QcGL4ry2stjwpTUgs4444/3QCE9 mWHsBWDHOEHWj9FsntjeG4xyPfHIS3WKh9cj7mENBQgZo8PLvjaOxwYuj0SV618AYlBcylOZqRX 2zMqHLfPx7Y0JXNB+iLt00Umd5Nv9/hkIQyqLJD8WRIcvoOf3uKRrMZvRv6m12tHkUn8EBL3TKG 7LOZFPSTiz11vFlxXuuvbMZHa4EZHw7ZRqojlYb9F9IO5k8vEg5RihYnpZfqBwNb0Wyd9eE7uuN vG32To63hf0okvlWf+6cQraqEErMT8tvx6rTU3JWhKoiYbaGR2zel5bbh3g== X-Received: by 2002:a05:600c:4583:b0:4b0:b9ff:1e7c with SMTP id 5b1f17b1804b1-4b963c77f6cmr53258765e9.15.1794165954234; Sun, 08 Nov 2026 11:25:54 -0800 (PST) Return-Path: Received: from mother.tail4535.ts.net ([2a02:810d:ae08:d00:e5a9:b4b9:ba2:5901]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b7efb1a517sm160930535e9.12.2026.11.08.11.25.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:25:54 -0800 (PST) From: "Thomas Roos" To: openembedded-devel@lists.openembedded.org Cc: Thomas Roos Subject: [meta-python][PATCH 2/6] python3-pint: add missing runtime dependencies Date: Sun, 8 Nov 2026 20:25:45 +0100 Message-ID: <20261108192549.1082715-3-thomas@roosesweb.de> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261108192549.1082715-1-thomas@roosesweb.de> References: <20261108192549.1082715-1-thomas@roosesweb.de> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 08 Nov 2026 22:38:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/132017 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 --- 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 \ From patchwork Sun Nov 8 19:25:46 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 103437 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.2897.1794165956553940320 for ; Sun, 08 Nov 2026 11:25:56 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: gmail.com, ip: 209.85.128.53, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4a2072b9832so1472495e9.1 for ; Sun, 08 Nov 2026 11:25:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794165955; x=1794770755; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Ayw/BR7J1q2euo7qw+1et9TQ+pmOrZLfn8hE3m9SZsY=; b=pnNgft/yDBleErB1gheK6Ph8WjKLuNmkRY0DNGmLxq204xyY9nlvKlv2SzPuiOGuOn NxwMH725UhZL+4Z2ybztgdjNqNpyTS2ZK7K0ZRemMzkwEN8ZRQWXkso4Se7oV5XhQbkY AxJVzHA1lpiXsB94HucuHKkiYJYH/dyx7vXrImMEv5R2ZeA+R/7hq7QcTnyKbn1kLNRo ZuOEGBhzHK4CyyOq9vhi6Sur3YZUdFwbPd3/nVgtJ8ssdzTE76kT8nSZNkPYw4de9bwz UHTTpsmGZHYTfIUtkWjbj2Slpqxd6znyPUwR5jY85QBik7o137Yuw5x8I/2/jTtL/Mvs 8wdg== X-Gm-Message-State: APuU4Z+WasW6RdkEcPSEO2boHIr7kfhJnBaqkrurKd2uie4jZ/V1qF3M 4Z04Dwr9lHxke9LkFlwyRQfjAZtrJIhmCclLXs+iUKBma+w4J8byr4HNY0H3AQ== X-Gm-Gg: AYBFou2CgcXqFp1lm/+eMTv7bcdnNPTp2h8xhQqa/1eL/+k55c914lDdNtKB8jgPdFD xDETydBQV5zIzdVYJ+Ogxgb/VVupNOomB0ootYpeVLiYa68PgAhG2k101UFt29ZZavjs0aBCafL UOEx/b9q3Q3qwj3HSN8YAuD234M30YP5VOvtURDbfZLuScwA/orRI5X1WZIvPmCT9chSPocpV1s QNdxfQBe78WXVonLVjyMtN9/wv9bqNspGfoi5ykSCk5kBcV7flv3/8m0IwVcER/u37Mkq+WKvkZ cO32BU1f5eynRq4V+jpI4ZuxhU7CYfn6TBeevHV6yPMfiHpXFhncxDOLjCAiIK8E9ocZDPcz6c0 yqjYNHB6IkT71TFcSYThqJFfhrIad/SFYCCpe77QKPMlmRqV9H3SdTKg/MNn4soB149YZR6QrAc vMVqM2REyjSR9OIVWE8Tpd4hPQc1ocj6grm5zQhj8GwS7NDeqj6BoF2k3jRqXyIm9x4uYyFTDPk dF5qOjQMuRFUl5sSYHIbmt3gUq8cChzGk3SSEC8DGIevAwtCKNPHc3kB7//pDuXRWAgjVi0HzN3 uT/s7GogBsH1qUH7eHN/LVsnoZJSsXCF8dqGQ7TxiDU9nagzejUMyvOmDP1UeYYpErhbvCI/T36 Fi5zSKgB9NcrS/X5B6tKg452ipT/aTWYx9jXcVaCdfYynwLVOAnZxHTEOTA== X-Received: by 2002:a05:600c:34cd:b0:4b4:a551:681a with SMTP id 5b1f17b1804b1-4b960d9c587mr41198265e9.3.1794165954719; Sun, 08 Nov 2026 11:25:54 -0800 (PST) Return-Path: Received: from mother.tail4535.ts.net ([2a02:810d:ae08:d00:e5a9:b4b9:ba2:5901]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b7efb1a517sm160930535e9.12.2026.11.08.11.25.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:25:54 -0800 (PST) From: "Thomas Roos" To: openembedded-devel@lists.openembedded.org Cc: Thomas Roos Subject: [meta-python][PATCH 3/6] python3-haversine: keep working when numba fails to import Date: Sun, 8 Nov 2026 20:25:46 +0100 Message-ID: <20261108192549.1082715-4-thomas@roosesweb.de> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261108192549.1082715-1-thomas@roosesweb.de> References: <20261108192549.1082715-1-thomas@roosesweb.de> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 08 Nov 2026 22:38:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/132018 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 --- ...-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 +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 +--- + 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 From patchwork Sun Nov 8 19:25:47 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 103438 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2945.1794165957131800979 for ; Sun, 08 Nov 2026 11:25:57 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: gmail.com, ip: 209.85.221.41, mailfrom: roosesweb@gmail.com) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-48e09aa5264so127943f8f.2 for ; Sun, 08 Nov 2026 11:25:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794165955; x=1794770755; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8dm6VLxPFj2e4Yp0gMQQd4Dl+hIDXZEoHVS62PU+/Bs=; b=ubJuvibUmrzyjlDUGfYfXi04Ym6VAaxU2SCOomqAW6+NvDQedlY3OYbliJpVfaJr1w HhHmp6o9QAUJFsXbWRKdPHbsHH2KC1AVfLjPwPwpWtj78z5nOe5z9Uw8iaItWJdFnHDp HqSR7jkhsKdVNuu5iSuHO7Ijh6PZX8P5NfA+6O2Edeo8Vyk0793OQ1uI5A6FLS/HQcvk axnipVw3SQwmG5yUIrh3O3P0NNxuvH3eY871B97Z/hkNcl+48abF90/Cja8ikIl16QuP DfoExlmrzdS9uCKfpaZNc9iXXzg7+vemruts2MItNxIj6eWmNTfvl/egkajIMKwNaD/u zqzw== X-Gm-Message-State: APuU4Z9l9LPzD9HPQ0PlXvv/YgeCYwIQk949TG4eL1iZ2IqEla4jSEgk 84tNMGB+PIeqLKLkbPJXhnxKvw+NT1tHaDvaXT4i3FoyvJjQie6SH8WnaN37Xw== X-Gm-Gg: AYBFou2dciow77nWnnEipeag1w28UFS8pbbUd068wwlbwlRR9S3UvyeQRTf+4+YLizj neUSMXURTqW5Y3oUIjkHajoFKHK2JABcl/CoO1tJY00kT+RhX9B8UH5u3ZUfMxCzmJhko1UTmX6 O/aAYACmlsPGlNqhCapk6+cw9/vDLu7nGnDyYgmTNuPF3BNm1SuoLtLYuhyixejSFfQq0MPGv8J hZ5q9OFp5NjOQdVNmV+DINM14NN1zn8j7AO9PSdwxUEBhrpnUtxWqCj6rsw3IMW4b4p+nJyMV66 L0evZAeQ7Q+Q4oppIBLbvcTLhI3KF6aji2FaPTf0KFNCgyFi9yjPsXfHMOBL9kPQXAqC7k19fi+ DaZJj8Yaj9c7oEp6F9L2Ojt83vwhPSiC4cIgfsnDOAApgIuIQ88lvNOg/LaehXs7JiKvXIM8F84 YwQ2ixI2We58CYruQN7YDVLxkYLhxTHA9qMOn0D40ZHRaXIFPyXrgxuuzPG9u2bnxL/oUYPGex7 lFvFWEQ+314sxq+RPT3VqY6nBk/n3OuZOx4cEsXdFC9Y6UJfdtfDbzN6rTm1XoJ3g7wAYr2TgnH jZsRFdGSkA6RQeNwkrmAYWA4FNjuLaQzPrCEuDyZjrfMPPNsQNUoWY5t/ODZFvRMZW/8IWXLyde W/4ksHuqMPTdwqD4PDlvJ2VH3UOE5Df8gqabZq5X1i3X89NZOMFgKyGoNUp2G7OK2fcUlWChCDP +eGyYD X-Received: by 2002:a05:600c:34c4:b0:4a5:dc5d:20f7 with SMTP id 5b1f17b1804b1-4b962a42ca0mr40747865e9.14.1794165955197; Sun, 08 Nov 2026 11:25:55 -0800 (PST) Return-Path: Received: from mother.tail4535.ts.net ([2a02:810d:ae08:d00:e5a9:b4b9:ba2:5901]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b7efb1a517sm160930535e9.12.2026.11.08.11.25.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:25:54 -0800 (PST) From: "Thomas Roos" To: openembedded-devel@lists.openembedded.org Cc: Thomas Roos Subject: [meta-python][PATCH 4/6] python3-truststore: add recipe Date: Sun, 8 Nov 2026 20:25:47 +0100 Message-ID: <20261108192549.1082715-5-thomas@roosesweb.de> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261108192549.1082715-1-thomas@roosesweb.de> References: <20261108192549.1082715-1-thomas@roosesweb.de> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 08 Nov 2026 22:38:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/132019 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 --- .../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" From patchwork Sun Nov 8 19:25:48 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 103439 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.2900.1794165957699906603 for ; Sun, 08 Nov 2026 11:25:57 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: gmail.com, ip: 209.85.128.42, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4b79502c27aso1907795e9.1 for ; Sun, 08 Nov 2026 11:25:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794165956; x=1794770756; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=dmowj+eJjeoGRb9EydoTHQTqv1rb9AWJwlkqJwM+rxM=; b=rjcHxEekNa6AJdK29ItGIfq9GO9kgzSBszL4Zxx+0IpnlG10Twu2Log/WwmBIfTPNQ J6PpVz+wyWJkicDnvcL+igMDpoVf2xQjJy2q0QS5AL8x9IZEZAuZ/kj+q6bWrtaRRQez 5dj0fyZM+n23Z26exJVgqP2v4rPZMfKo/Fdit5JltrV1V++Kz5vvWZIDTPBLI1BJLlH3 INjhmQTh536n2rJk2cHyTrD9/+kpqSFw7WoSCGGwyO477R2xo7cpVvlqy8rn/CLWyax6 c36sErGEFzPB5DhVtZEFG/a1VUtWRQVgt7eh0puMbqURA5atuSc/FtJvFTJDxBbxKdPu JP5w== X-Gm-Message-State: APuU4Z8lE+pclAfkmGctsoqDk5eoG//IzDHm871BtzXJGt7WnkSNpEA0 qO2DArGi31z2lh8cMiS+F5skKOYUpWPljXCBT+c3pH1c4Kgdm6ggMs5aWG6tSQ== X-Gm-Gg: AYBFou2AhOlqf8Wqqko5t92LhgAri4xD34l8PUY4aF7teYcr1tMKU8WVNSOmJZlkpc/ 1A9G3V/Q8AQ5YenaVC83iuq7d3OwHhDLhl8OEwjrVDlie7j9Plt6R8fvUH2Egap+y05SkGsMwXb u6bOPQoIxBjr4wm3WPKfLTkDMyXLhbog5VOKv0gsdcfRrkprEQLXNL3OFZVnuSdaASkVedQfDlQ 9egLhmaoTTdVgHb+qO9oK01DaBTB8nt4MEMe0DxX6HmlFo311rLjq+/MoJR8vLkL3dVW4eSRmGt 0p547LiPDB9aG50o1ax189PFsLTLS/fymSyKNnLynJt6JAGrSfJ0qw2MhHXrw3e1EFIhvxXFnVC mV+oowaWn9qnJcHe6Wg41Vn89l16vpfjoShZq0wSX7/LJYRQRGUVXKJf+rWJ7ZMr8zGJmwG+mzt zNHczRj+l1aRVpkQCwiUhw0dgwAaRI3KuKsRNEOkX37AO/cvVtZc7zn971bGH3/71W6Jgn6uFOe vfcg0VtLpQKbJk8s0nofkKTFWtLDmqJG5ZWEDkq4+mOVrmbqsBZc4X8oHhfOzTDo1vdurIl2O4G ts1ElnbdjmnUNLwbpRzbCPpDBxun9x7e8PnjyLnDvMQuQzJHpQKbBCCvxocTv/uGBZ52jOmaRkf LuhUwltF+OecSzxqyC+SP2hGb3G3+FuivF/4qTU/qhDQkPT5UtnPRhowauw== X-Received: by 2002:a05:600c:1910:b0:4a2:d99:3171 with SMTP id 5b1f17b1804b1-4b963c6d3e2mr46714965e9.23.1794165955741; Sun, 08 Nov 2026 11:25:55 -0800 (PST) Return-Path: Received: from mother.tail4535.ts.net ([2a02:810d:ae08:d00:e5a9:b4b9:ba2:5901]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b7efb1a517sm160930535e9.12.2026.11.08.11.25.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:25:55 -0800 (PST) From: "Thomas Roos" To: openembedded-devel@lists.openembedded.org Cc: Thomas Roos Subject: [meta-python][PATCH 5/6] python3-httpcore2: add recipe Date: Sun, 8 Nov 2026 20:25:48 +0100 Message-ID: <20261108192549.1082715-6-thomas@roosesweb.de> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261108192549.1082715-1-thomas@roosesweb.de> References: <20261108192549.1082715-1-thomas@roosesweb.de> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 08 Nov 2026 22:38:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/132020 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 --- .../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 \ +" From patchwork Sun Nov 8 19:25:49 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Roos X-Patchwork-Id: 103440 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.2901.1794165958160411489 for ; Sun, 08 Nov 2026 11:25:58 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: gmail.com, ip: 209.85.128.48, mailfrom: roosesweb@gmail.com) Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4a4d7ae1ae9so1682805e9.1 for ; Sun, 08 Nov 2026 11:25:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794165956; x=1794770756; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=SqIynJ9QfUr+xs2N0b6cLi4Ut5hE5veD6EV0O2oN4Xg=; b=HNZSqafqtihfBZSkc2eEbR7yr16SIonJhiYm7bp2m5jRzhGCyNeC6B611nwxBqe1r6 oRcDYIyUarJ3InrNvFA7D9RfBs/mk0j2MgzV6lik9GlgMbVX1Mpw7qpaYLifb2GhXlKF 2IhAFnk40VOIKeD1f6mFJAO2ODYBr5GVKDr9taYdqV/nb+XChJasslsVHBUGKjMndG4N 0eXJQ5x1FBdmUwoVqPSZuL9P8x+Ukgi0fBqHA4o+k26cj9kYyV3q2P0VxjibA2+UFSAd Juh7VJuPL4+XJu92LfgOxfFquaCPFrln3Ig5XpTb2RV15wpmtteXBcjZN7IQfFTbInhH Fq/Q== X-Gm-Message-State: APuU4Z+X4UYlEb6qEgHiFy2AotX0Oz9CtgrdBIy9ezrhjB9qo0TEDA01 Nhe78sn5mVxQiI34jgfo/bHTJDus72o77bwZD12y6ro3KH4eFWcHg+ZcIobEtg== X-Gm-Gg: AYBFou269aP3lao5zoveMTwxRqJLwMwdgfq6Jm6x0VnQxJqwFKJCkyNrCP0LUnTSPps 5Z5yoa+7nIMmJMw9x8Y6m9HkjA2rsHRrtX8ihXSRHilYU0od3GDWUu5ORnNXN4ZGcz8xZXXuu5X KUoOQNrvOtr/NUc+VDPGGi2gk3s5yRsb2Fvs6TQtxJm3zLMdxnjx16SiOXgHc63VZkdikoCXazE GXzDjzYOgK7kP8gYm+tSi61GatQQADxl6WaskgWnw42miszEKu8FPYCGxZ6jp1LisWAmvCt7tRR b8+bnHf4Gm5deYxhOo2nAufcnJxOYkSkPSMnwnW99iBT+g60a3+sKAERByvnMwYcsg7zfXuG8mf ekaYpOpSZ0XM7kpxkXzhyQu414jBBMQA4quaLq7z9qxByHRToBbJgsMwnnXYHVClIkYms/7N8kc 2qOM7YsVaODVFRPpBKftss9NAXBUGfKJvjzYoT4mc5+ZKIzmAGirvMc5fxMkcpWmK3XUiYQOpQk Vz/77YARBu3hifbYKLUKm2mgMquNKcxMAXzi13epmJUqg3QmmTT8QXSalWZiY0o/K3AuzdWtRZf SR0hplDEOKaGP6KK3t64STJlaB2y9np1DXV44OsK+dx9uLHIzD0nT+hCBee8sb9aw844QnXIMuX uhlPejSjuiJD6Tsh7P7v1abnuEaXRv16tDtuz6qfZw0NDBB2sGvQjAbrVhsVlbPhxEhE/98rTI1 GI/Vo= X-Received: by 2002:a05:600d:82ea:b0:4a7:7f3f:6f8e with SMTP id 5b1f17b1804b1-4b943f76d81mr49378395e9.0.1794165956440; Sun, 08 Nov 2026 11:25:56 -0800 (PST) Return-Path: Received: from mother.tail4535.ts.net ([2a02:810d:ae08:d00:e5a9:b4b9:ba2:5901]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4b7efb1a517sm160930535e9.12.2026.11.08.11.25.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2026 11:25:56 -0800 (PST) From: "Thomas Roos" To: openembedded-devel@lists.openembedded.org Cc: Thomas Roos Subject: [meta-python][PATCH 6/6] python3-httpx2: add missing runtime dependencies Date: Sun, 8 Nov 2026 20:25:49 +0100 Message-ID: <20261108192549.1082715-7-thomas@roosesweb.de> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261108192549.1082715-1-thomas@roosesweb.de> References: <20261108192549.1082715-1-thomas@roosesweb.de> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Sun, 08 Nov 2026 22:38:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/132021 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 --- 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 \ "