subtree updates

poky: 348d9aba33..fc8e5d7c13:
  Adithya Balakumar (1):
        wic: implement reproducible Disk GUID

  Adrian Freihofer (20):
        cmake.bbclass: use --install
        devtool: support plugins with plugins
        devtool: refactor exec_fakeroot
        devtool: refactor deploy to use exec_fakeroot_no_d
        devtool: refactor deploy-target
        recipetool: cleanup imports
        oeqa: replace deprecated assertEquals
        oeqa/selftest/recipetool: fix for python 3.12
        oeqa/selftest/oelib/buildhistory: git default branch
        scripts: python 3.12 regex
        feature-microblaze-versions.inc: python 3.12 regex
        meta/lib/oeqa: python 3.12 regex
        meta/lib/patchtest: python 3.12 regex
        meta/recipes: python 3.12 regex
        bitbake: bitbake/lib/bs4/tests/test_tree.py: python 3.12 regex
        devtool: new ide-sdk plugin
        oe-selftest devtool: ide-sdk tests
        devtool: ide-sdk make deploy-target quicker
        vscode: drop .vscode folder
        oe-init-build-env: generate .vscode from template

  Aleksey Smirnov (2):
        conf/machine: Add Power8 tune to PowerPC architecture
        busybox: Explicitly specify tty device for serial consoles

  Alex Kiernan (1):
        wireless-regdb: Upgrade 2023.09.01 -> 2024.01.23

  Alex Stewart (3):
        opkg: upgrade to 0.6.3
        opkg: add deprecation warning for internal solver
        opkg-arch-config: update recipe HOMEPAGE

  Alexander Kanavin (26):
        sysroot user management postinsts: run with /bin/sh -e to report errors when they happen
        classes/multilib: expand PACKAGE_WRITE_DEPS in addition to DEPENDS
        classes/staging: capture output of sysroot postinsts into logs
        classes/package_rpm: write file permissions and ownership explicitly into .spec
        classes/package_rpm: use weak user/group dependencies
        classes/package_rpm: set bogus locations for passwd/group files
        oeqa/runtime/rpm: fail tests if test rpm file cannot be found
        rpm: update 4.18.1 -> 4.19.1
        classes/package_rpm: correctly escape percent characters
        setftest/cdn tests: check for exceptions also in fetcher diagnostics
        rpm: override curl executable search with just 'curl'
        classes/package_rpm: additionally escape \ and " in filenames
        classes/package_rpm: streamline the logic in one of the condition blocks
        lzlib: add a recipe
        file: enable additional internal compressor support
        selftest/SStateCacheManagement: do not manipulate ERROR_QA
        selftest/SStateCacheManagement: pre-populate the cache
        shadow: add a packageconfig for logind support
        meta/conf/templates/default/conf-notes.txt: remove
        scripts/oe-setup-layers: write a list of layer paths into the checkout's top dir
        meta/conf/templates/default/conf-summary.txt: add a template summary
        meta/lib/bblayers/buildconf.py: add support for configuration summaries
        scripts/oe-setup-builddir: add support for configuration summaries
        oe-setup-build: add a tool for discovering config templates and setting up builds
        meta-poky/conf/templates/default/conf-summary.txt: add a template summary
        bitbake: Revert "bitbake: wget.py: always use the custom user agent"

  Alexis Lothoré (3):
        patchtest-send-results: remove unused variable
        patchtest-send-results: properly parse test status
        testimage: retrieve ptests directory when ptests fail

  André Draszik (4):
        sstate-cache-management: fix regex for 'sigdata' stamp files
        bitbake: fetch/git2: support git's safe.bareRepository
        bitbake: tests/fetch: support git's safe.bareRepository
        bitbake: git-make-shallow: support git's safe.bareRepository

  Anibal Limon (1):
        ptest-runner: Bump to 2.4.3 (92c1b97)

  Anuj Mittal (8):
        enchant2: upgrade 2.6.5 -> 2.6.7
        libproxy: upgrade 0.5.3 -> 0.5.4
        sqlite3: upgrade 3.44.2 -> 3.45.1
        orc: upgrade 0.4.36 -> 0.4.37
        stress-ng: upgrade 0.17.04 -> 0.17.05
        libcap-ng: fix build with swig 4.2.0
        gstreamer1.0: upgrade 1.22.9 -> 1.22.10
        swig: upgrade 4.1.1 -> 4.2.0

  Bruce Ashfield (13):
        lttng-modules: fix v6.8+ build
        linux-yocto-dev: update to v6.8
        linux-yocto/6.6: features/qat/qat.cfg: enable CONFIG_PCIEAER
        linux-yocto/6.6: beaglebone: drop nonassignable kernel options
        linux-yocto/6.6: update to v6.6.13
        linux-yocto/6.6: update CVE exclusions
        linux-yocto/6.6: can: drop obsolete CONFIG_PCH_CAN
        linux-yocto/6.6: update to v6.6.15
        linux-yocto/6.6: update CVE exclusions
        yocto-bsp: update reference boards to v6.6.15
        linux-yocto/6.6: update to v6.6.16
        linux-yocto/6.6: update CVE exclusions
        linux-yocto/6.6: qemuriscv: enable goldfish RTC

  Chen Qi (5):
        multilib_global.bbclass: fix parsing error with no kernel module split
        gnupg: disable tests to avoid running target binaries at build time
        bitbake: fetch2/git.py: fix a corner case in try_premirror
        bitbake: tests/fetch.py: add test case for using premirror in restricted network
        bitbake: fetch2/git.py: add comment in try_premirrors

  Chi Xu (1):
        xz: Add ptest support

  Claus Stovgaard (2):
        kernel-devsrc: fix RDEPENDS for make
        kernel-devsrc: RDEPENDS on gawk

  Clément Péron (1):
        libpcap: extend with nativesdk

  Colin McAllister (1):
        initscripts: Add custom mount args for /var/lib

  David Reyna (1):
        bitbake: taskexp_ncurses: ncurses version of taskexp.py

  Denys Dmytriyenko (3):
        lttng-modules: upgrade 2.13.10 -> 2.13.11
        zlib: upgrade 1.3 -> 1.3.1
        xz: upgrade 5.4.5 -> 5.4.6

  Enguerrand de Ribaucourt (3):
        devtool: ide_sdk: Use bitbake's python3 for generated scripts
        devtool: ide: vscode: Configure read-only files
        meson: use absolute cross-compiler paths

  Enrico Jörns (1):
        rootfs-postcommands: remove make_zimage_symlink_relative()

  Etienne Cordonnier (1):
        dropbear: remove unnecessary line

  Fabien Mahot (1):
        ldconfig-native: Fix to point correctly on the DT_NEEDED entries in an ELF file

  Fabio Estevam (3):
        piglit: Update to latest revision
        mesa: Upgrade 23.3.3 -> 23.3.4
        mesa: Upgrade 23.3.4 -> 23.3.5

  Jamin Lin (3):
        uboot-sign: set load address and entrypoint
        uboot-sign: Fix to install nonexistent dtb file
        u-boot-sign:uboot-config: support to verify signed FIT image

  Jermain Horsman (2):
        bitbake-layers: Add ability to update the reference of repositories
        bitbake-layers: Add test case layers setup for custom references

  Joe Slater (1):
        eudev: allow for predictable network interface names

  Johannes Schneider (2):
        initramfs-framework: overlayroot: fix kernel commandline clash
        initramfs-framework: overlayroot: align bootparams with module name

  Jon Mason (2):
        tunes/sve: Add support for sve2 instructions
        arm/armv*: add all the Arm tunes in GCC 13.2.0

  Jonathan GUILLOT (3):
        lib/oe/package: replace in place PN-locale-* packages in PACKAGES
        lib/oe/package: add LOCALE_PATHS to add define all locations for locales
        cups: use LOCALE_PATHS to split localized HTML templates

  Jose Quaresma (3):
        go: update 1.20.12 -> 1.20.13
        systemd: pack pre-defined pcrlock files installed with tpm2
        qemu: disbale AF_XDP network backend support

  Joshua Watt (8):
        bitbake: hashserv: Add Unihash Garbage Collection
        bitbake: hashserv: sqlalchemy: Use _execute() helper
        bitbake: hashserv: Add unihash-exists API
        bitbake: asyncrpc: Add Client Pool object
        bitbake: hashserv: Add Client Pool
        bitbake: siggen: Add parallel query API
        bitbake: siggen: Add parallel unihash exist API
        sstatesig: Implement new siggen API

  Kai Kang (2):
        rpm: fix dependency for package config imaevm
        ghostscript: correct LICENSE with AGPLv3

  Khem Raj (27):
        elfutils: Fix build with gcc trunk
        python3: Initialize struct termios before calling tcgetattr()
        qemu: Replace the basename patch with backport
        xwayland: Upgrade 23.2.3 -> 23.2.4
        armv8/armv9: Avoid using -march when -mcpu is chosen
        kexec-tools: Fix build with gas 2.42
        systemtap: Backport GCC-14 related calloc fixes
        sdk/assimp.py: Fix build on 32bit arches with 64bit time_t
        binutils: Upgrade to binutils 2.42
        qemu-native: Use inherit_defer for including native class
        syslinux: Disable error on implicit-function-declaration
        glibc: Upgrade to 2.39
        strace: Upgrade to 6.7
        rust/cargo: Build fixes to rust for rv32 target
        buildcpio.py: Switch to using cpio-2.15
        ptest.bbclass: Handle the case when Makefile does not exist in do_install_ptest_base
        kernel-devsrc: Add needed fixes for 6.1+ kernel build on target on RISCV
        python3: Fix ptests with expat 2.6+
        expat: Upgrade to 2.6.0
        gcc-runtime: Move gdb pretty printer file to auto-load location
        core-image-ptest: Increase disk size to 1.5G for strace ptest image
        tcmode-default: Do not define LLVMVERSION
        glibc: Update to latest on 2.39
        glibc: Update to bring mips32/clone3 fix
        piglit: Fix build with musl
        llvm: Upgrade to LLVM-18 RC2
        binutils: Update to tip of 2.42 release branch

  Konrad Weihmann (1):
        python3-yamllint: add missing dependency

  Lee Chee Yang (1):
        migration-guide: add release notes for 4.0.16

  Maanya Goenka (2):
        toolchain-shar-relocate: allow 'find' access to libraries in symlinked directories
        bash: nativesdk-bash does not provide /bin/bash so don't claim to

  Marek Vasut (1):
        Revert "lzop: remove recipe from oe-core"

  Mark Hatle (5):
        qemu: Allow native and nativesdk versions on Linux older then 4.17
        tune-cortexa78.inc: Add cortexa78 tune, based on cortexa77
        feature-arm-vfp.inc: Allow hard-float on newer simd targets
        tune-cortexr5: Add hard-float variant
        tune-cortexr52: Add hard-float variant

  Markus Volk (6):
        gtk4: update 4.12.4 -> 4.12.5
        mesa: update 23.3.5 -> 24.0.0
        mesa: update 24.0.0 -> 24.0.1
        libadwaita: update 1.4.2 -> 1.4.3
        wayland-protocols: update 1.32 -> 1.33
        ell: update 0.61 -> 0.62

  Martin Jansa (5):
        qemu: fix target build with ccache enabled
        package_manager: ipk: add OPKG_MAKE_INDEX_EXTRA_PARAMS variable
        package_rpm: add RPMBUILD_EXTRA_PARAMS variable
        bitbake: bitbake-diffsigs: fix walking the task dependencies and show better error
        bitbake: tests: fetch.py: use real subversion repository

  Michael Opdenacker (9):
        dev-manual: start: remove idle line
        docs: remove support for mickledore (4.2) release
        release-notes-4.3: fix spacing
        alsa-lib: upgrade 1.2.10 -> 1.2.11
        alsa-tools: upgrade 1.2.5 -> 1.2.11
        alsa-ucm-conf: upgrade 1.2.10 -> 1.2.11
        alsa-utils: upgrade 1.2.10 -> 1.2.11
        oeqa/runtime/cases: fix typo in information message
        bitbake: doc: README: simpler link to contributor guide

  Michal Sieron (1):
        sanity.bbclass: raise_sanity_error if /tmp is noexec

  Nick Owens (1):
        systemd: recommend libelf, libdw for elfutils flag

  Ola x Nilsson (1):
        python3-numpy: Use Large File Support version of fallocate

  Paul Gortmaker (1):
        bitbake: hashserv: improve the loglevel error message to be more helpful

  Pavel Zhukov (3):
        systemd.bbclass: Check for existence of the symlink too
        bitbake: fetch2/git.py: Fetch mirror into HEAD
        bitbake: tests/fetch.py: add multiple fetches test

  Peter Kjellerstedt (12):
        devtool: modify: Correct appending of type=git-dependency to URIs
        devtool: standard: Add some missing whitespace
        devtool: _extract_source: Correct the removal of an old backup directory
        bitbake: tests/fetch: Make test_git_latest_versionstring support a max version
        bitbake: fetch2/git: A bit of clean-up of latest_versionstring()
        bitbake: fetch2/git: Make latest_versionstring extract tags with slashes correctly
        lib/oe/patch: Make extractPatches() not extract ignored commits
        lib/oe/patch: Add GitApplyTree.commitIgnored()
        devtool: Make use of oe.patch.GitApplyTree.commitIgnored()
        patch.bbclass: Make use of oe.patch.GitApplyTree.commitIgnored()
        lib/oe/patch: Use git notes to store the filenames for the patches
        insane.bbclass: Allow the warning about virtual/ to be disabled

  Peter Marko (2):
        openssl: Upgrade 3.2.0 -> 3.2.1
        util-linux: add alternative link for scriptreplay

  Petr Vorel (1):
        ltp: Update to 20240129

  Philip Lorenz (1):
        ipk: Remove temporary package lists during SDK creation

  Priyal Doshi (1):
        tzdata : Upgrade to 2024a

  Quentin Schulz (1):
        u-boot: add missing dependency on pyelftools-native

  Randolph Sapp (1):
        mirrors.bbclass: add infraroot as an https mirror

  Randy MacLeod (4):
        valgrind: make ptest depend on all components
        valgrind: update from 3.21.0 to 3.22.0
        valgrind: skip 14 ptests in 3.22
        valgrind: Skip 22 arm64 ptests

  Richard Purdie (34):
        oeqa/qemurunner: Handle rare shutdown race
        pseudo: Update to pull in gcc14 fix and missing statvfs64 intercept
        numactl: upgrade 2.0.16 -> 2.0.17
        conf: Move selftest config to dedicated inc file
        oeqa/selftest/bbtests: Tweak to use no-gplv3 inc file
        python3-markupsafe: upgrade 2.1.3 -> 2.1.5
        python3-markupsafe: Switch to python_setuptools_build_meta
        qemu: Upgrade 8.2.0 -> 8.2.1
        ltp: Enable extra test groups
        ltp: Try re-enabling problematic test
        meta-yocto-bsp: Remove accidentally added files
        oeqa/runtime: Move files from oe-core to bsp layer
        mirrors: Allow shallow glibc to work correctly
        ptest-packagelists: Mark python3 as problematic on riscv64
        kernel-devsrc: Clean up whitespace
        selftest/recipetool: Factor tomllib test to a function
        selftest/recipetool: Improve test failure output
        layer.conf: Update for the scarthgap release series
        layer.conf: Update for the scarthgap release series
        bitbake: process: Add profile logging for main loop
        bitbake: process/server: Fix typo
        kernel-arch: Simplify strip support
        insane: Clarify runtime/ warning
        bitbake: runqueue: Improve performance for executing tasks
        bitbake: runqueue: Optimise taskname lookups in next_buildable_task
        bitbake: runqueue: Improve setcene performance when encoutering many 'hard' dependencies
        openssh: Add a work around for ICE on mips/mips64
        kernel-devsrc: Improve vdso-offsets handling for qemuriscv64
        u-boot: Pass in prefix mapping variables to the compiler
        testsdk: Avoid PATH contamination
        oeqa/selftest/rust: Exclude failing riscv tests
        bitbake: bitbake: Bump version to 2.7.3 for hashserv changes
        sanity.conf: Require bitbake 2.7.3
        python: Drop ${PYTHON_PN}

  Robert Joslyn (2):
        curl: Update to 8.6.0
        gtk: Set CVE_PRODUCT

  Robert Yang (1):
        gnu-config: Update to latest version

  Ross Burton (13):
        grub2: ignore CVE-2023-4001, this is Red Hat-specific
        openssl: backport fix for CVE-2023-6129
        lib/oeqa: rename assertRaisesRegexp to assertRaisesRegex
        oeqa/selftest/recipetool: downgrade meson version to not use pyproject.toml
        recipetool: don't dump stack traces if a toml parser can't be found
        xz: remove redundant PTEST_ENABLED conditional
        libpam: remove redundant PTEST_ENABLED conditional
        glib-2.0: backport memory monitor test fixes
        python3: move dataclasses to python3-core
        python3-unittest-automake-output: upgrade to 0.2
        meson: remove TMPDIR workaround
        meson: set the sysroot in the cross files
        libffi: upgrade to 3.4.5

  Simone Weiß (12):
        gnutls: Upgrade 3.8.2 -> 3.8.3
        maintainers.inc: Add self for libseccomp and gnutls
        bsp-guide: correct formfactor recipe name
        dev-manual: gen-tapdevs need iptables installed
        gnutls: print log if ptest fails
        patchtest: log errors and failures at end
        grub2: ignore CVE-2024-1048, Redhat only issue
        libgit2: update 1.7.1 -> 1.7.2
        libuv: Upgrade 1.47.0 -> 1.48.0
        qemu: Set CVE_STATUS for wrong CVEs
        patchtest: Add selftest for test cve_check_ignore
        patchtest: add stronger indication for failed tests

  Siong W.LIM (1):
        useradd.bbclass: Fix missing space when appending vardeps.

  Thomas Perrot (2):
        opensbi: append LDFLAGS to TARGET_CC_ARCH
        bitbake: wget.py: always use the custom user agent

  Tim Orling (13):
        libxml-parser-perl: upgrade 2.46 -> 2.47
        python3-pyyaml: add PACKAGECONFIG for libyaml
        python3-pyyaml: enable ptest
        python3-cryptography: upgrade 41.0.7 to 42.0.2
        openssh: upgrade 9.5p1 -> 9.6p1
        python3-poetry-core: upgrade 1.8.1 -> 1.9.0
        python3-attrs: skip test failing with pytest-8
        vim: upgrade from 9.0.2130 -> 9.1.0114
        python3-pyproject-metadata: move from meta-python
        python3-pyproject-metadata: HOMEPAGE; DESCRIPTION
        python3-meson-python: move from meta-python
        python_mesonpy.bbclass: move from meta-python
        recipetool; add support for python_mesonpy class

  Tobias Hagelborn (2):
        sstate.bbclass: Only sign packages at the time of their creation
        bitbake: bitbake: hashserv: Postgres adaptations for ignoring duplicate inserts

  Toni Lammi (1):
        bitbake: support temporary AWS credentials

  Trevor Gamblin (7):
        patchtest.README: update mailing list
        cmake: upgrade 3.27.7 -> 3.28.3
        python3-numpy: upgrade 1.26.3 -> 1.26.4
        patchtest-send-results: Add 'References' header
        patchtest-send-results: use Message-ID directly
        patchtest: Fix grammar in log output
        patchtest-send-results: add --debug option

  Valek Andrej (1):
        glibc: Refresh CVE status w.r.t 2.39 release

  Vikas Katariya (1):
        bmap-tools: Add missing runtime dependency

  Wang Mingyu (36):
        at-spi2-core: upgrade 2.50.0 -> 2.50.1
        cpio: upgrade 2.14 -> 2.15
        ethtool: upgrade 6.6 -> 6.7
        iso-codes: upgrade 4.15.0 -> 4.16.0
        libinput: upgrade 1.24.0 -> 1.25.0
        libtest-warnings-perl: upgrade 0.032 -> 0.033
        libwpe: upgrade 1.14.1 -> 1.14.2
        lzip: upgrade 1.23 -> 1.24
        createrepo-c: upgrade 1.0.2 -> 1.0.3
        diffstat: upgrade 1.65 -> 1.66
        dos2unix: upgrade 7.5.1 -> 7.5.2
        ed: upgrade 1.19 -> 1.20
        gnupg: upgrade 2.4.3 -> 2.4.4
        gstreamer: upgrade 1.22.8 -> 1.22.9
        libidn2: upgrade 2.3.4 -> 2.3.7
        libpng: upgrade 1.6.40 -> 1.6.41
        libsolv: upgrade 0.7.27 -> 0.7.28
        liburi-perl: upgrade 5.21 -> 5.25
        nghttp2: upgrade 1.58.0 -> 1.59.0
        repo: upgrade 2.40 -> 2.41
        orc: upgrade 0.4.34 -> 0.4.36
        pkgconf: upgrade 2.0.3 -> 2.1.0
        python3-sphinxcontrib-applehelp: upgrade 1.0.7 -> 1.0.8
        python3-sphinxcontrib-devhelp: upgrade 1.0.5 -> 1.0.6
        python3-sphinxcontrib-htmlhelp: upgrade 2.0.4 -> 2.0.5
        python3-sphinxcontrib-qthelp: upgrade 1.0.6 -> 1.0.7
        python3-sphinxcontrib-serializinghtml: upgrade 1.1.9 -> 1.1.10
        python3-beartype: upgrade 0.16.4 -> 0.17.0
        python3-mako: upgrade 1.3.0 -> 1.3.2
        python3-hatchling: upgrade 1.21.0 -> 1.21.1
        python3-hypothesis: upgrade 6.92.9 -> 6.97.3
        python3-pluggy: upgrade 1.3.0 -> 1.4.0
        python3-psutil: upgrade 5.9.7 -> 5.9.8
        python3-pyopenssl: upgrade 23.3.0 -> 24.0.0
        python3-pytz: upgrade 2023.3 -> 2023.4
        python3-pytest: upgrade 7.4.4 -> 8.0.0

  Xiangyu Chen (1):
        bash: rebase the patch to fix ptest failure

  Yi Zhao (2):
        rpm: add missing dependencies for packageconfig
        libsdl2: upgrade 2.28.5 -> 2.30.0

  Yoann Congal (2):
        kexec-tools: Replace a submitted patch by the backported one
        waf.bbclass: Print waf output on unparsable version

  Yogita Urade (1):
        tiff: fix CVE-2023-52355 and CVE-2023-52356

  baruch@tkos.co.il (3):
        contributor-guide: fix lore URL
        overlayfs: add missing closing parenthesis in selftest
        overlayfs-etc: add option to skip creation of mount dirs

meta-arm: 6bb1fc8d8c..025f76a14f:
  Ali Can Ozaslan (1):
        arm-bsp/u-boot:corstone1000: Fix deployment of capsule files

  Drew Reed (4):
        bsp: Move Corstone-1000 U-Boot configuration entries
        bsp: Move machine settings
        bsp,ci: Switch to poky distro
        bsp: Rename corstone1000-image

  Harsimran Singh Tungal (2):
        n1sdp:arm arm-bsp: fix tftf tests for n1sdp
        arm-bsp/optee: upgrade optee to 4.1.0 for N1SDP

  Jon Mason (3):
        arm/opencsd: update to v1.5.1
        arm/optee: update to 4.1
        arm-bsp/optee: remove unused v3.22.0 recipes

  Khem Raj (1):
        layer.conf: Update for the scarthgap release series

  Ross Burton (5):
        CI: support extra kas files from environment
        CI/cve.yml: add a CVE-checking Kas fragment
        CI: add explanatory comments to variables
        CI: allow the runner to set a NVD API key
        CI: use https: to fetch meta-virtualization

  Vincent Stehlé (1):
        arm-bsp/documentation: corstone1000: fix typo

meta-security: b2e1511338..30e755c592:
  Armin Kuster (3):
        python3-pyinotify: do not rely on smtpd module
        python3-fail2ban: remove unused distutils dependency
        scap-security-guide: update to 0.1.71

  BELOUARGA Mohamed (2):
        checksec: Add more runtime dependencies to checksec tool
        lynis: Add missing runtime dependencies

  Leon Anavi (2):
        linux-yocto%.bbappend: Add audit.cfg
        integrity-image-minimal: Fix IMAGE_INSTALL

  Mikko Rapeli (1):
        parsec-tool: fix serialNumber check

  Yi Zhao (1):
        openscap: fix build with python 3.12

  Yushi Sun (1):
        meta-security: libhoth: SRCREV bump e520f8f...e482716

meta-raspberrypi: 9c901bf170..dbf1113a82:
  Kevin Hao (1):
        rpidistro-ffmpeg: Fix old override syntax

  Khem Raj (3):
        linux-raspberrypi_6.1.bb: Upgrade to 6.1.74
        linux-raspberrypi: Upgrade to 6.1.77
        layer.conf: Update for the scarthgap release series

  Martin Jansa (1):
        libcamera-apps: fix build with libcamera-0.2.0

  Matthew Draws (1):
        rpi-eeprom_git: v.2024.01.05-2712 Update recipe to latest rpi-eeprom repo This follows the current latest release of rpi-eeprom: https://github.com/raspberrypi/rpi-eeprom

  Pascal Huerst (1):
        rpi-base: Add missing hifiberry overlay

meta-openembedded: 9953ca1ac0..528f273006:
  Alex Kiernan (3):
        mdns: Fix SIGSEGV during DumpStateLog()
        mdns: Upgrade 2200.60.25.0.4 -> 2200.80.16
        c-ares: Upgrade 1.24.0 -> 1.26.0

  Angelo Ribeiro (1):
        flatcc: Add tool recipe

  Angelo.Ribeiro (1):
        e2tools: Add tool recipe

  Archana Polampalli (1):
        nodejs: update to latest v20 version 20.11.0

  Beniamin Sandu (3):
        mbedtls: upgrade 3.5.1 -> 3.5.2
        mbedtls: upgrade 2.28.4 -> 2.28.7
        opencv: upgrade 4.8.0 -> 4.9.0

  Changqing Li (1):
        cpuid: fix do_install

  Chirag Shilwant (1):
        kernel-selftest: Add few more testcases

  Christophe Vu-Brugier (4):
        dropwatch: add new recipe
        switchtec-user: upgrade 4.1 -> 4.2
        libnvme: upgrade 1.7.1 -> 1.8
        nvme-cli: upgrade 2.7.1 -> 2.8

  Clément Péron (2):
        proj: extend class to native and nativesdk
        proj: upgrade 9.3.0 -> 9.3.1

  Denys Dmytriyenko (1):
        libcamera: update 0.1.0 -> 0.2.0

  Derek Straka (36):
        python3-bandit: update to version 1.7.7
        python3-web3: update to version 6.15.0
        python3-argcomplete: update to version 3.2.2
        python3-cytoolz: update to version 0.12.3
        python3-pdm: update to version 2.12.2
        python3-google-api-python-client: update to version 2.115.0
        python3-coverage: update to version 7.4.1
        python3-gmqtt: update to version 0.6.14
        python3-colorlog: update to version 6.8.2
        python3-argh: update to version 0.31.2
        python3-luma-core: update to version 2.4.2
        python-pdm: update to version 2.12.3
        python3-parse: update to version 1.20.1
        python3-grpcio: update to version 1.60.1
        python3-dill: update to version 0.3.8
        python3-types-setuptools: update to version 69.0.0.20240125
        python3-pymisp: update to version 2.4.184
        python3-cbor2: update to version 5.6.1
        python3-sentry-sdk: update to version 1.40.0
        python3-pytest-asyncio: update to version 0.23.4
        python3-google-api-core: update to version 2.16.1
        python3-google-api-python-client: update to version 2.116.0
        python3-google-auth: update to version 2.27.0
        python3-jsonrpcclient: update to version 4.0.3
        python3-dnspython: update to version 2.5.0
        python3-eventlet: update to version 0.35.1
        python3-platformdirs: update to version 4.2.0
        python3-ipython: update to version 8.21.0
        python3-grpcio-tools: update to version 1.60.1
        python3-cachecontrol: update to version 0.14.0
        python3-binwalk: update the regex version for upstream checks
        python3-pymodbus: update to version 3.6.3
        python3-pyyaml-include: add initial recipe for version 1.3.2
        python3-appdirs: add ptest into PTESTS_FAST_META_PYTHON items
        python3-yarl: add ptest into PTESTS_FAST_META_PYTHON items
        python3-ujson: add ptest into PTESTS_FAST_META_PYTHON items

  Emil Kronborg (1):
        php-fpm: fix systemd

  Etienne Cordonnier (2):
        uutils-coreutils: upgrade 0.0.23 -> 0.0.24
        uutils_coreutils: merge .inc and .bb

  Fathi Boudra (4):
        whitenoise: add a new recipe
        python3-django: upgrade to Django 4.2.10 LTS release
        libtinyxml2: fix the homepage URL
        libtinyxml2: allow to build both shared and static libraries

  Geoff Parker (2):
        python3-aiodns python3-pycares: Add native & nativesdk support
        python3-aiohappyeyeballs: Add native & nativesdk support

  Jean-Marc BOUCHE (1):
        rtkit: missing files/directories in package

  Jose Quaresma (1):
        ostree: Upgrade 2023.8 -> 2024.1

  Jörg Sommer (1):
        bonnie++: New recipe for version 2.0

  Khem Raj (18):
        uftrace: Upgrade to 0.15.2
        i2cdev: Set PV correctly
        minicoredumper: Fix build with clang
        python3-pytest-mock: Fix ptest failures with python 3.12
        ndctl: Update to v78
        vk-gl-cts: Disable Werror on amber external module
        vulkan-cts: Upgrade to 1.3.7.3
        uftrace: Adjust the summary to reflect rust and python support
        libcamera: Fix build with clang-18
        breakpad: Upgrade to 2023.06.01 release
        bpftool: Add missing dep on elfutils-native
        flatcc: Fix build warnings found with clang-18
        Revert "lzop: add (from oe-core)"
        can-isotp: Update to latest and skip it
        openflow: Switch SRC_URI to github mirror
        ot-br-posix: upgrade to latest trunk
        libcereal: Disable c++11-narrowing-const-reference warning as error
        ot-br-posix: Limit vla-cxx-extension option to clang >= 18

  Li Wang (1):
        radvd: add '--shell /sbin/nologin' to /etc/passwd

  Mark Hatle (1):
        opencv: Fix python3 package generation

  Markus Volk (9):
        luajit: allow to build on supported platforms
        pipewire: fix build with libcamera-0.2
        system-config-printer: fix runtime for system-config-printer
        iwd: update 2.8 -> 2.13
        pipewire: update 1.0.1 -> 1.0.3
        flatpak: remove unneeded RDEPENDS
        libosinfo: use hwdata for ids files
        libnfs: update 5.0.2 -> 5.0.3
        hwdata: update 0.378 -> 0.379

  Martin Jansa (18):
        libtalloc, libtevent, libtdb, libldb: set PYTHONARCHDIR for waf to respect python libdir
        jack: fix build with python3 on host
        redis: restore Upstream-Status
        libvpx: restore Upstream-Status
        python-jsonref: add missing Upstream-Status
        flatcc: respect baselib
        flatcc: drop 'r' from gitr and ${SRCPV}
        recipes: drop ${SRCPV} usage
        recipes: drop remaining +gitr cases
        gitpkgv.bbclass: adjust the example in comment a bit
        ne10: append +git instead of gitr+
        evemu-tools: use better PV
        nana: upgrade to latest commit from github
        xfstests: upgrade to latest 2024.01.14
        xfstests: add gawk to RDEPENDS
        xfstests: use master branch instead of 'for-next'
        xfstests: drop the upstream rejected install-sh hack
        xfstests: fix make install race condition

  Max Krummenacher (2):
        libusbgx: fix usbgx.service stop / restart
        libusbgx: uprev to the latest commit

  Maxime Roussin-Belanger (1):
        xdg-desktop-portal: add missing glib-2.0-native dependency

  Maxime Roussin-Bélanger (1):
        polkit: fix rules.d permissions

  Ming Liu (1):
        plymouth: uprev to 24.004.60

  Niko Mauno (4):
        python3-pybind11: Amend HOMEPAGE
        python3-pybind11: Prune redundant inherit
        python3-pybind11: Fix LICENSE
        python3-pybind11: Cosmetic fixes

  Pavel Zhukov (1):
        python3-tzlocal: Add zoneinfo dependency

  Peter Kjellerstedt (1):
        xfstests: Only specify the main SRCREV once

  Peter Marko (2):
        syslog-ng: ignore CVE-2022-38725
        libqmi: correct PV

  Pratik Manvar (1):
        python3-pybind11: Remove the Boost dependency

  Richard Leitner (7):
        python3-janus: add recipe for v1.0.0
        python3-moteus: add recipe for v0.3.67
        python3-socksio: add recipe for v1.0.0
        python3-anyio: add recipe for v4.2.0
        python3-sniffio: add recipe for v1.3.0
        python3-httpcore: add recipe for v1.0.2
        python3-httpx: add recipe for v0.26.0

  Sascha Hauer (1):
        signing.bbclass: make it work with eliptic curve keys

  Simone Weiß (1):
        scapy: Add difftools and logutils in RDEPENDS

  Thomas Perrot (3):
        dvb-apps: no longer skip ldflags QA
        etcd-cpp-apiv3: no longer skip ldflags QA
        kernel-selftest: no longer skip ldflags QA

  Tim Orling (60):
        python3-uritemplate: switch to pytest --automake
        python3-unidiff: switch to pytest --automake
        python3-ujson: switch to pytest --automake
        python3-pytest-lazy-fixture: switch to pytest --automake
        python3-fastjsonschema: switch to pytest --automake
        python3-tomlkit: switch to pytest --automake
        python3-inotify: switch to pytest --automake
        python3-requests-file: switch to pytest --automake
        python3-covdefaults: switch to pytest --automake
        python3-dominate: switch to pytest --automake
        python3-scrypt: switch to pytest --automake
        python3-u-msgpack-python: switch to pytest --automake
        python3-iso3166: switch to pytest --automake
        python3-trustme: switch to pytest --automake
        python3-asgiref: switch to pytest --automake
        python3-html2text: switch to pytest --automake
        python3-pyasn1-modules: switch to pytest --automake
        python3-intervals: switch to pytest --automake
        python3-py-cpuinfo: switch to pytest --automake
        python3-backports-functools-lru-cache: drop folder
        python3-whoosh: switch to pytest --automake
        python3-xlrd: switch to pytest --automake
        python3-dnspython: switch to pytest --automake
        python3-prettytable: switch to pytest --automake
        python3-ptyprocess: switch to pytest --automake
        python3-gunicorn: switch to pytest --automake
        python3-pytest-mock: switch to pytest --automake
        python3-pyroute2: switch to pytest --automake
        python3-smpplib: switch to pytest --automake
        python3-pyzmq: switch to pytest --automake
        python3-multidict: switch to pytest --automake
        python3-geojson: switch to pytest --automake
        python3-serpent: switch to pytest --automake
        python3-soupsieve: switch to pytest --automake
        python3-requests-toolbelt: switch to pytest --automake
        python3-yarl: switch to pytest --automake
        python3-cbor2: switch to pytest --automake
        python3-ansicolors: switch to pytest --automake
        python3-ipy: switch to pytest --automake
        python3-sqlparse: switch to pytest --automake
        python3-precise-runner: switch to pytest --automake
        python3-parse-type: switch to pytest --automake
        python3-inflection: switch to pytest --automake
        python3-blinker: switch to pytest --automake
        python3-service-identity: switch to pytest --automake
        python3-cachetools: switch to pytest --automake
        python3-simpleeval: switch to pytest --automake
        python3-appdirs: switch to pytest --automake
        python3-pillow: switch to pytest --automake
        python3-semver: switch to pytest --automake
        python3-platformdirs: switch to pytest --automake
        python3-polyline: switch to pytest --automake
        python3-betamax: switch to pytest --automake
        python3-pytoml: switch to pytest --automake
        python3-pyserial: switch to pytest --automake
        python3-typeguard: switch to pytest --automake
        python3-execnet: switch to pytest --automake
        python3-pyyaml-include: switch to pytest --automake
        python3-xxhash: switch to pytest --automake
        python3-pylint: switch to pytest --automake

  Tom Geelen (1):
        python3-pychromecast: add missing RDEPENDS, and add initial recipe for dependency.

  Wang Mingyu (90):
        btop: upgrade 1.2.13 -> 1.3.0
        ccid: upgrade 1.5.4 -> 1.5.5
        ctags: upgrade 6.1.20231231.0 -> 6.1.20240114.0
        gcr3: upgrade 3.41.1 -> 3.41.2
        htop: upgrade 3.2.2 -> 3.3.0
        hwdata: upgrade 0.377 -> 0.378
        libdecor: upgrade 0.2.1 -> 0.2.2
        libvpx: upgrade 1.13.1 -> 1.14.0
        lldpd: upgrade 1.0.17 -> 1.0.18
        gjs: upgrade 1.78.2 -> 1.78.3
        wireshark: upgrade 4.2.0 -> 4.2.2
        capnproto: upgrade 1.0.1.1 -> 1.0.2
        dnfdragora: upgrade 2.1.5 -> 2.1.6
        libyang: upgrade 2.1.128 -> 2.1.148
        lshw: upgrade 02.19.2 -> 02.20
        md4c: upgrade 0.4.8 -> 0.5.0
        python3-apscheduler: add new recipe
        redis: upgrade 7.2.3 -> 7.2.4
        sanlock: upgrade 3.8.5 -> 3.9.0
        python3-eth-keys: upgrade 0.4.0 -> 0.5.0
        python3-xmlschema: upgrade 2.5.1 -> 3.0.1
        plocate: upgrade 1.1.20 -> 1.1.22
        python3-absl: upgrade 2.0.0 -> 2.1.0
        python3-asyncinotify: upgrade 4.0.5 -> 4.0.6
        python3-beautifulsoup4: upgrade 4.12.2 -> 4.12.3
        python3-cantools: upgrade 39.4.2 -> 39.4.3
        python3-cbor2: upgrade 5.5.1 -> 5.6.0
        python3-dbus-fast: upgrade 2.21.0 -> 2.21.1
        python3-django: upgrade 5.0 -> 5.0.1
        python3-eth-abi: upgrade 4.2.1 -> 5.0.0
        python3-eth-typing: upgrade 3.5.2 -> 4.0.0
        python3-eth-utils: upgrade 2.3.1 -> 3.0.0
        python3-eventlet: upgrade 0.34.2 -> 0.34.3
        python3-flask: upgrade 3.0.0 -> 3.0.1
        python3-git-pw: upgrade 2.5.0 -> 2.6.0
        python3-google-api-python-client: upgrade 2.113.0 -> 2.114.0
        python3-haversine: upgrade 2.8.0 -> 2.8.1
        python3-ipython: upgrade 8.19.0 -> 8.20.0
        python3-pdm: upgrade 2.11.2 -> 2.12.1
        python3-pyatspi: upgrade 2.46.0 -> 2.46.1
        python3-sentry-sdk: upgrade 1.39.1 -> 1.39.2
        python3-robotframework: upgrade 6.1.1 -> 7.0
        python3-pychromecast: upgrade 13.0.8 -> 13.1.0
        python3-tox: upgrade 4.11.4 -> 4.12.1
        python3-types-psutil: upgrade 5.9.5.17 -> 5.9.5.20240106
        qpdf: upgrade 11.7.0 -> 11.8.0
        smemstat: upgrade 0.02.12 -> 0.02.13
        tesseract: upgrade 5.3.3 -> 5.3.4
        libsmi: Fix buildpaths warning.
        minicoredumper: upgrade 2.0.6 -> 2.0.7
        cmocka: Fix install conflict when enable multilib.
        czmq: Fix install conflict when enable multilib.
        czmq: Fix buildpaths warning.
        bdwgc: upgrade 8.2.4 -> 8.2.6
        cmark: upgrade 0.30.3 -> 0.31.0
        gensio: upgrade 2.8.2 -> 2.8.3
        geos: upgrade 3.12.0 -> 3.12.1
        imlib2: upgrade 1.12.1 -> 1.12.2
        libcbor: upgrade 0.10.2 -> 0.11.0
        libinih: upgrade 57 -> 58
        libio-socket-ssl-perl: upgrade 2.084 -> 2.085
        libjcat: upgrade 0.2.0 -> 0.2.1
        libqmi: upgrade 1.35.1 -> 1.35.2
        md4c: upgrade 0.5.0 -> 0.5.2
        nanomsg: upgrade 1.2 -> 1.2.1
        neatvnc: upgrade 0.7.1 -> 0.7.2
        network-manager-applet: upgrade 1.34.0 -> 1.36.0
        libgsf: upgrade 1.14.51 -> 1.14.52
        ndisc6: upgrade 1.0.7 -> 1.0.8
        squid: upgrade 6.6 -> 6.7
        iotop: upgrade 1.25 -> 1.26
        libblockdev: upgrade 3.0.4 -> 3.1.0
        neon: upgrade 0.32.5 -> 0.33.0
        pkcs11-provider: upgrade 0.2 -> 0.3
        sanlock: upgrade 3.9.0 -> 3.9.1
        satyr: upgrade 0.42 -> 0.43
        python3-astroid: upgrade 3.0.2 -> 3.0.3
        python3-elementpath: upgrade 4.1.5 -> 4.2.0
        python3-flask: upgrade 3.0.1 -> 3.0.2
        python3-google-api-core: upgrade 2.16.1 -> 2.16.2
        python3-gspread: upgrade 5.12.4 -> 6.0.0
        python3-path: upgrade 16.9.0 -> 16.10.0
        python3-gcovr: upgrade 6.0 -> 7.0
        python3-types-psutil: upgrade 5.9.5.20240106 -> 5.9.5.20240205
        python3-waitress: upgrade 2.1.2 -> 3.0.0
        rdma-core: upgrade 48.0 -> 50.0
        ser2net: upgrade 4.6.0 -> 4.6.1
        sip: upgrade 6.8.1 -> 6.8.2
        span-lite: upgrade 0.10.3 -> 0.11.0
        tcpslice: upgrade 1.6 -> 1.7

  William A. Kennington III (3):
        nanopb: Update 0.4.7 -> 0.4.8
        nanopb: Split into 2 packages
        nanopb-runtime: Enable shared library

  Yoann Congal (6):
        ibus: backport a reproducibility fix
        radvd: Fix build in reproducible test
        mariadb: Move useradd handling in target side of the recipe
        kexec-tools-klibc: Fix building on x86_64 with binutils 2.41
        freeradius: Add missing 'radiusd' static group id
        ntp: Add missing 'ntp' static group id

  alperak (18):
        python3-flask-marshmallow: upgrade 0.15.0 -> 1.1.0
        python3-netaddr: upgrade 0.10.0 -> 0.10.1
        python3-toolz: upgrade 0.12.0 -> 0.12.1
        python3-aiohappyeyeballs: add recipe
        python3-aiohttp: upgrade 3.9.1 -> 3.9.2
        python3-eth-rlp: upgrade 1.0.0 -> 1.0.1
        python3-aiohttp: upgrade 3.9.2 -> 3.9.3
        python3-google-auth-oauthlib: add recipe
        python3-scikit-build: upgrade 0.16.7 -> 0.17.6
        python3-eth-account: upgrade 0.10.0 -> 0.11.0
        python3-pyunormalize: add recipe
        python3-web3: upgrade 6.15.0 -> 6.15.1
        python3-gspread: upgrade 6.0.0 -> 6.0.1
        python3-strenum: add recipe
        python3-flask-marshmallow: upgrade 1.1.0 -> 1.2.0
        python3-werkzeug: upgrade 2.3.6 -> 3.0.1
        python3-imageio: upgrade 2.33.1 -> 2.34.0
        python3-werkzeug: add missing runtime dependencies

  virendra thakur (1):
        nodejs: Set CVE_PRODUCT to "node.js"

Change-Id: If9fadba6ede9e8de3b778d470bbd61f208f48e54
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
index 0f94a44..6ac4228 100644
--- a/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/gyp/gyp_git.bb
@@ -9,7 +9,7 @@
 SRCREV = "a03d7413becefc8d55c8aa3df58b55b9bd0e9052"
 
 S = "${WORKDIR}/git"
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 
 inherit setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch
index 805d9ed..709a38c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch
@@ -4,6 +4,7 @@
 Subject: [PATCH] Migrate to pdm-backend
 
 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+Upstream-Status: Pending
 ---
  pyproject.toml | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_2.1.0.bb
similarity index 76%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-absl_2.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-absl_2.1.0.bb
index 42c7f3f..5bdb831 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_2.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_2.1.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[sha256sum] = "d9690211c5fcfefcdd1a45470ac2b5c5acd45241c3af71eed96bc5441746c0d5"
+SRC_URI[sha256sum] = "7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"
 
 PYPI_PACKAGE = "absl-py"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb
index 5c685d7..02a0b4e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb
@@ -14,3 +14,5 @@
     ${PYTHON_PN}-asyncio \
     ${PYTHON_PN}-pycares \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb
new file mode 100644
index 0000000..0ca4834
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohappyeyeballs_2.3.2.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Happy Eyeballs"
+DESCRIPTION = "This library exists to allow connecting with Happy Eyeballs when you already have a list of addrinfo and not a DNS name."
+HOMEPAGE = "https://github.com/aio-libs/aiohappyeyeballs"
+LICENSE = "PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2"
+
+SRC_URI[sha256sum] = "77e15a733090547a1f5369a1287ddfc944bd30df0eb8993f585259c34b405f4e"
+
+inherit pypi python_poetry_core
+
+BBCLASSSEXTEND = "native nativesdk"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.1.bb
deleted file mode 100644
index 5664170..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Async http client/server framework"
-DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python"
-HOMEPAGE = "https://github.com/aio-libs/aiohttp"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
-
-SRC_URI[sha256sum] = "8fc49a87ac269d4529da45871e2ffb6874e87779c3d0e2ccd813c0899221239d"
-
-PYPI_PACKAGE = "aiohttp"
-inherit python_setuptools_build_meta pypi
-
-RDEPENDS:${PN} = "\
-    ${PYTHON_PN}-async-timeout \
-    ${PYTHON_PN}-attrs \
-    ${PYTHON_PN}-chardet \
-    ${PYTHON_PN}-html \
-    ${PYTHON_PN}-idna-ssl \
-    ${PYTHON_PN}-json \
-    ${PYTHON_PN}-misc \
-    ${PYTHON_PN}-multidict \
-    ${PYTHON_PN}-netserver \
-    ${PYTHON_PN}-typing-extensions \
-    ${PYTHON_PN}-yarl \
-    ${PYTHON_PN}-cchardet \
-    ${PYTHON_PN}-charset-normalizer \
-    ${PYTHON_PN}-aiosignal \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.3.bb
new file mode 100644
index 0000000..99fb84c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Async http client/server framework"
+DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python"
+HOMEPAGE = "https://github.com/aio-libs/aiohttp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
+
+SRC_URI[sha256sum] = "90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"
+
+PYPI_PACKAGE = "aiohttp"
+inherit python_setuptools_build_meta pypi
+
+RDEPENDS:${PN} = "\
+    ${PYTHON_PN}-aiohappyeyeballs \
+    ${PYTHON_PN}-aiosignal \
+    ${PYTHON_PN}-async-timeout \
+    ${PYTHON_PN}-frozenlist \
+    ${PYTHON_PN}-multidict \
+    ${PYTHON_PN}-yarl \
+    ${PYTHON_PN}-aiodns \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors/run-ptest
index 7dc3ef3..922353a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO test.py| sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake test.py
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors_1.1.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors_1.1.8.bb
index 0e32443..b63cc32 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors_1.1.8.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansicolors_1.1.8.bb
@@ -14,7 +14,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-anyio_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-anyio_4.2.0.bb
new file mode 100644
index 0000000..0bf907d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-anyio_4.2.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "High level compatibility layer for multiple asynchronous event loop implementations"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c0a769411d2af7894099e8ff75058c9f"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f"
+
+DEPENDS += " \
+	python3-setuptools-scm-native \
+"
+
+# Don't provide "trio" PACKAGECONFIG as nothing provides "python3-trio" currently.
+# If somebody needs this please feel free to add python3-trio and enable the
+# packageconfig below:
+#PACKAGECONFIG ??= ""
+#PACKAGECONFIG[trio] = ",,,python3-trio"
+
+RDEPENDS:${PN} += "\
+    python3-idna \
+    python3-sniffio \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb
index 95d1ac0..ad07b3b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-appdirs_1.4.4.bb
@@ -12,7 +12,8 @@
 inherit pypi setuptools3 ptest
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.2.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.2.bb
index e6b9af0..fffecf5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.2.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "437f67fb9b058da5a090df505ef9be0297c4883993f3f56cb186ff087778cfb4"
+SRC_URI[sha256sum] = "f3e49e8ea59b4026ee29548e24488af46e30c9de57d48638e24f54a1ea1000a2"
 
 PYPI_PACKAGE = "argcomplete"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.2.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.2.bb
index 24a579f..afcd7d9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.2.bb
@@ -12,10 +12,9 @@
 
 LICENSE = "LGPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
-                    file://README.rst;beginline=261;endline=275;md5=ba124578a6853962d5038eabef535d12 \
                     "
 
-SRC_URI[sha256sum] = "b93093544309ddbfe6c73dc9bfd60dbc4acecef39f3f464774b3084a1ec5d7b0"
+SRC_URI[sha256sum] = "db1c34885804f7d4646c385dc2fb19b45298561322f4c15eae1b133993f9e323"
 
 inherit pypi python_flit_core
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.7.2.bb
index c9081c8..b7fa9f0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asgiref_3.7.2.bb
@@ -15,10 +15,11 @@
 inherit pypi ptest setuptools3
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-asyncio \
-    ${PYTHON_PN}-io \
-    ${PYTHON_PN}-multiprocessing \
+    python3-asyncio \
+    python3-io \
+    python3-multiprocessing \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.3.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.3.bb
index 23501ce..1b87872 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.3.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
 
-SRC_URI[sha256sum] = "4a61cf0a59097c7bb52689b0fd63717cd2a8a14dc9f1eee97b82d814881c8c91"
+SRC_URI[sha256sum] = "4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.6.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.6.bb
index a7820c5..34f7187 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_4.0.6.bb
@@ -3,7 +3,7 @@
 LICENSE = "MPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640"
 
-SRC_URI[sha256sum] = "95840eec6804797f9e8ee6d65a9d2a1159e77c5395a468dcfa4f44338ed1f8b6"
+SRC_URI[sha256sum] = "c03fdb1a7dbb6bed8ede763e4e0ac224a2a3157bdc51e4ba3832588a3c29904d"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache/run-ptest
deleted file mode 100644
index b63c4de..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-backports-functools-lru-cache/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.7.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.7.bb
index 3cf927e..2de7fc7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.7.bb
@@ -2,7 +2,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
 
-SRC_URI[sha256sum] = "72ce7bc9741374d96fb2f1c9a8960829885f1243ffde743de70a19cee353e8f3"
+SRC_URI[sha256sum] = "527906bec6088cb499aae31bc962864b4e77569e9d529ee51df3a93b4b8ab28a"
 
 DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.3.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.3.bb
index 7eb2d7c..6283098 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.12.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=96e0034f7c9443910c486773aa1ed9ac"
 
-SRC_URI[sha256sum] = "492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"
+SRC_URI[sha256sum] = "74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"
 
 inherit pypi python_hatchling
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb
index feb9ab3..468a107 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-betamax_0.8.1.bb
@@ -19,7 +19,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb
index 0b7d97f..45b1ff5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-binwalk_2.3.4.bb
@@ -12,6 +12,8 @@
 
 S = "${WORKDIR}/git"
 
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
 inherit setuptools3
 
 RDEPENDS:${PN} += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker/run-ptest
index 15c3f62..69cd362 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh 
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb
index f1d8b4f..8f2cf48 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb
@@ -9,11 +9,12 @@
 SRC_URI += "file://run-ptest"
 
 RDEPENDS:${PN} += "\
-        ${PYTHON_PN}-asyncio \
+        python3-asyncio \
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.13.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.14.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.13.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.14.0.bb
index b4c90bc..1e37452 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.13.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachecontrol_0.14.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=12;endline=12;md5=e2fd6ddcf506e08972d5ba4b93c0022e"
 
-SRC_URI[sha256sum] = "f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b"
+SRC_URI[sha256sum] = "7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"
 
 inherit pypi python_poetry_core
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb
index 5946c26..22060ef 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb
@@ -15,11 +15,12 @@
 "
 
 RDEPENDS:${PN} += " \
-	${PYTHON_PN}-math \
+	python3-math \
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.3.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.3.bb
index ad2025e..3cf9560 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
 
-SRC_URI[sha256sum] = "8069a8f473bb1679990bea0903f3a22d58df5495aebbf09f58d49f627511b619"
+SRC_URI[sha256sum] = "7aaa3d246bc5328bb29c681fc8162d2800be05ee095b3edb9470fa1478f9e506"
 
 PYPI_PACKAGE = "cantools"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.0.bb
new file mode 100644
index 0000000..408dff8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "YouTube Chromecast API"
+HOMEPAGE = "https://github.com/ur1katz/casttube"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "4bb24ba1639d16c8fa367537bf3b88a6"
+SRC_URI[sha256sum] = "f25b3c634efe702896233690f7590e8d6311590910f18dbb763b90419d9ef53c"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = "\
+    ${PYTHON_PN}-requests \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.1.bb
similarity index 63%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.1.bb
index c8cfaa8..e2493e4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.6.1.bb
@@ -1,10 +1,10 @@
 DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)."
-DEPENDS +="${PYTHON_PN}-setuptools-scm-native"
+DEPENDS +="python3-setuptools-scm-native"
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
 
-SRC_URI[sha256sum] = "f9e192f461a9f8f6082df28c035b006d153904213dc8640bed8a72d72bbc9475"
+SRC_URI[sha256sum] = "752130e38644319f3dae7f91fabb08f58bc454ca671b72875e6228d423890efd"
 
 inherit pypi python_setuptools_build_meta ptest
 
@@ -15,18 +15,19 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-       ${PYTHON_PN}-hypothesis \
-       ${PYTHON_PN}-pytest \
-       ${PYTHON_PN}-unixadmin \
+    python3-hypothesis \
+    python3-pytest \
+    python3-unittest-automake-output \
+    python3-unixadmin \
 "
 
 do_install_ptest() {
-      install -d ${D}${PTEST_PATH}/tests
+	install -d ${D}${PTEST_PATH}/tests
         cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
 }
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-datetime \
+    python3-datetime \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.2.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.2.bb
index 6aefef6..c26f4bb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.8.2.bb
@@ -7,6 +7,6 @@
 
 PYPI_PACKAGE = "colorlog"
 
-SRC_URI[sha256sum] = "fbb6fdf9d5685f2517f388fb29bb27d54e8654dd31f58bc2a3b217e967a95ca6"
+SRC_URI[sha256sum] = "3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44"
 
 RDEPENDS:${PN} += "python3-logging"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb
index a0ef2af..7391c3a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb
@@ -16,11 +16,12 @@
 inherit setuptools3 ptest
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-coverage \
+    python3-coverage \
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.1.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.1.bb
index 3092269..b3da5d5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "707c0f58cb1712b8809ece32b68996ee1e609f71bd14615bd8f87a1293cb610e"
+SRC_URI[sha256sum] = "1ed4b95480952b1a26d863e546fa5094564aa0065e1e5f0d4d0041f293251d04"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.3.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.3.bb
index fa8549c..6c35ad5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cytoolz_0.12.3.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d422ebce3e9c6447563bd410e9b22f2e"
 
-SRC_URI[sha256sum] = "31d4b0455d72d914645f803d917daf4f314d115c70de0578d3820deb8b101f66"
+SRC_URI[sha256sum] = "4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.1.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.1.bb
index 5698ae9..9e25661 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.21.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=729e372b5ea0168438e4fd4a00a04947"
 
-SRC_URI[sha256sum] = "f582f6f16791ced6067dab325fae444edf7ce0704315b90c2a473090636a6fe0"
+SRC_URI[sha256sum] = "87b852d2005f1d59399ca51c5f3538f28a4742d739d7abe82b7ae8d01d8a5d02"
 
 PYPI_PACKAGE = "dbus_fast"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.8.bb
similarity index 67%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.8.bb
index 673964f..4ea5aa0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.8.bb
@@ -1,9 +1,9 @@
 SUMMARY = "Serialize all of python"
 HOMEPAGE = "https://pypi.org/project/dill/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19de1f406e29e68f579e7e82e0758ce3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a41509b57cc475ed93f8cb1dbbfaeec1"
 
-SRC_URI[sha256sum] = "cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"
+SRC_URI[sha256sum] = "3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.10.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.10.bb
index 7f933d1..45de692 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.10.bb
@@ -1,7 +1,7 @@
 require python-django.inc
 inherit setuptools3
 
-SRC_URI[sha256sum] = "110fb58fb12eca59e072ad59fc42d771cd642dd7a2f2416582aa9da7a8ef954a"
+SRC_URI[sha256sum] = "b1260ed381b10a11753c73444408e19869f3241fc45c985cd55a30177c789d13"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-sqlparse \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.1.bb
new file mode 100644
index 0000000..eed1e6e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.1.bb
@@ -0,0 +1,9 @@
+require python-django.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "8c8659665bc6e3a44fefe1ab0a291e5a3fb3979f9a8230be29de975e57e8f854"
+
+RDEPENDS:${PN} += "\
+    ${PYTHON_PN}-sqlparse \
+    ${PYTHON_PN}-asgiref \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.bb
deleted file mode 100644
index bad4245..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_5.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require python-django.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "7d29e14dfbc19cb6a95a4bd669edbde11f5d4c6a71fdaa42c2d40b6846e807f7"
-
-RDEPENDS:${PN} += "\
-    ${PYTHON_PN}-sqlparse \
-    ${PYTHON_PN}-asgiref \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
deleted file mode 100644
index 1ebd2aa..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "DNS toolkit for Python"
-HOMEPAGE = "http://www.dnspython.org/"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5af50906b5929837f667dfe31052bd34"
-
-SRC_URI[sha256sum] = "8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"
-
-inherit pypi python_poetry_core ptest
-
-SRC_URI += " \
-	file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
-DEPENDS += "\
-    ${PYTHON_PN}-wheel-native \
-    ${PYTHON_PN}-setuptools-scm-native \
-"
-
-RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-crypt \
-    ${PYTHON_PN}-io \
-    ${PYTHON_PN}-math \
-    ${PYTHON_PN}-netclient \
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-threading \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.5.0.bb
new file mode 100644
index 0000000..c5c8d42
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.5.0.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "DNS toolkit for Python"
+HOMEPAGE = "http://www.dnspython.org/"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5af50906b5929837f667dfe31052bd34"
+
+SRC_URI[sha256sum] = "a0034815a59ba9ae888946be7ccca8f7c157b286f8455b379c692efb51022a15"
+
+inherit pypi python_hatchling ptest
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    python3-pytest \
+    python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/tests
+	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+DEPENDS += "\
+    python3-wheel-native \
+    python3-setuptools-scm-native \
+"
+
+RDEPENDS:${PN} += " \
+    python3-crypt \
+    python3-io \
+    python3-math \
+    python3-netclient \
+    python3-numbers \
+    python3-threading \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.9.1.bb
index 3bd9d87..054d523 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.9.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.9.1.bb
@@ -11,7 +11,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
@@ -20,6 +21,6 @@
 }
 
 RDEPENDS:${PN} += "\
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-threading \
+    python3-numbers \
+    python3-threading \
     "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.2.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.2.0.bb
index 7b6aad7..fe0e99a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.2.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf"
 
-SRC_URI[sha256sum] = "c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"
+SRC_URI[sha256sum] = "c53f6531e602dd596a729f75833146ada40c2445a10dae36d9e461068b63af29"
 
 PYPI_PACKAGE = "elementpath"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_5.0.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_4.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_5.0.0.bb
index c01860a..50b1340 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_4.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_5.0.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=731f4de9c79bfeba6d8d55f83d0d2423"
 
-SRC_URI[sha256sum] = "60d88788d53725794cdb07c0f0bb0df2a31a6e1ad19644313fe6117ac24eeeb0"
+SRC_URI[sha256sum] = "89c4454d794d9ed92ad5cb2794698c5cee6b7b3ca6009187d0e282adc7f9b6dc"
 
 PYPI_PACKAGE = "eth_abi"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.10.0.bb
deleted file mode 100644
index 1854e3b..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.10.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Assign Ethereum transactions and messages with local private keys."
-HOMEPAGE = "https://github.com/ethereum/eth-account"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=16ffc86adf4293d4cfb204e77d62cfe6"
-
-SRC_URI[sha256sum] = "474a2fccf7286230cf66502565f03b536921d7e1fdfceba198e42160e5ac4bc1"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
-    python3-bitarray \
-    python3-cytoolz \
-    python3-eth-abi \
-    python3-eth-keyfile \
-    python3-eth-rlp \
-    python3-hexbytes \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.11.0.bb
new file mode 100644
index 0000000..84c270d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.11.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Assign Ethereum transactions and messages with local private keys."
+HOMEPAGE = "https://github.com/ethereum/eth-account"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=16ffc86adf4293d4cfb204e77d62cfe6"
+
+SRC_URI[sha256sum] = "2ffc7a0c7538053a06a7d11495c16c7ad9897dd42be0f64ca7551e9f6e0738c3"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-bitarray \
+    ${PYTHON_PN}-eth-abi \
+    ${PYTHON_PN}-eth-keyfile \
+    ${PYTHON_PN}-eth-keys \
+    ${PYTHON_PN}-eth-rlp \
+    ${PYTHON_PN}-eth-utils \
+    ${PYTHON_PN}-hexbytes \
+    ${PYTHON_PN}-rlp \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keys_0.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keys_0.4.0.bb
deleted file mode 100644
index b0b1aad..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keys_0.4.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A common API for Ethereum key operations with pluggable backends."
-HOMEPAGE = "https://github.com/ethereum/eth-keys"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2beaef1b1764f4d6b46084c885b4bcad"
-
-SRC_URI[sha256sum] = "7d18887483bc9b8a3fdd8e32ddcb30044b9f08fcb24a380d93b6eee3a5bb3216"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-eth-utils"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keys_0.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keys_0.5.0.bb
new file mode 100644
index 0000000..aabfff1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-keys_0.5.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A common API for Ethereum key operations with pluggable backends."
+HOMEPAGE = "https://github.com/ethereum/eth-keys"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6749008d847c14b9718949c2e24d5c0a"
+
+SRC_URI[sha256sum] = "a0abccb83f3d84322591a2c047a1e3aa52ea86b185fa3e82ce311d120ca2791e"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "python3-eth-utils"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.0.bb
deleted file mode 100644
index 5cd0d05..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "RLP definitions for common Ethereum objects in Python"
-HOMEPAGE = "https://github.com/ethereum/eth-rlp"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7"
-
-SRC_URI[sha256sum] = "a988d713a36452e7c6da71186798343f687eaf3aeb7f99266750dd9e1f754c7b"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = " \
-    python3-eth-utils \
-    python3-hexbytes \
-    python3-rlp \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.1.bb
new file mode 100644
index 0000000..243f75f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-rlp_1.0.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "RLP definitions for common Ethereum objects in Python"
+HOMEPAGE = "https://github.com/ethereum/eth-rlp"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7"
+
+SRC_URI[sha256sum] = "d61dbda892ee1220f28fb3663c08f6383c305db9f1f5624dc585c9cd05115027"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = " \
+    ${PYTHON_PN}-eth-utils \
+    ${PYTHON_PN}-hexbytes \
+    ${PYTHON_PN}-rlp \
+    ${PYTHON_PN}-typing-extensions \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_4.0.0.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_4.0.0.bb
index c8044b3..3ca311d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.5.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_4.0.0.bb
@@ -4,6 +4,6 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7"
 
-SRC_URI[sha256sum] = "22bf051ddfaa35ff827c30090de167e5c5b8cc6d343f7f35c9b1c7553f6ab64d"
+SRC_URI[sha256sum] = "9af0b6beafbc5c2e18daf19da5f5a68315023172c4e79d149e12ad10a3d3f731"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_3.0.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_3.0.0.bb
index 1f64183..faca038 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_3.0.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6749008d847c14b9718949c2e24d5c0a"
 
-SRC_URI[sha256sum] = "56a969b0536d4969dcb27e580521de35abf2dbed8b1bf072b5c80770c4324e27"
+SRC_URI[sha256sum] = "8721869568448349bceae63c277b75758d11e0dc190e7ef31e161b89619458f1"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.34.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.35.1.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.34.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.35.1.bb
index 86524da..c1d10ec 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.34.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.35.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778"
 
-SRC_URI[sha256sum] = "2115c7c6742e6893bf1347f82915572f8895c911cb5abaad4d3596a7daa847cc"
+SRC_URI[sha256sum] = "3b2eede94d64538cb894eec50302a881e056ed7e057f0e24fb45b28a19d6b2e8"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb
index a934d1c..78a15d3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-execnet_2.0.2.bb
@@ -24,6 +24,7 @@
 
 RDEPENDS:${PN}-ptest += "\
     python3-pytest \
+    python3-unittest-automake-output \
 "
 
 RDEPENDS:${PN} += "python3-core python3-crypt python3-ctypes python3-fcntl python3-io python3-shell python3-threading"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
index e0be7b6..6b74f72 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fastjsonschema_2.18.0.bb
@@ -27,6 +27,7 @@
     python3-pytest \
     python3-pytest-benchmark \
     python3-pytest-cache \
+    python3-unittest-automake-output \
 "
 RDEPENDS:${PN} += "\
     python3-core \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-marshmallow_0.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-marshmallow_0.15.0.bb
deleted file mode 100644
index 25ca4d2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-marshmallow_0.15.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Flask + marshmallow for beautiful APIs"
-HOMEPAGE = "https://github.com/marshmallow-code/flask-marshmallow"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c3ff8567ef1f2a8cf223f30ac5a6f094"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "2083ae55bebb5142fff98c6bbd483a2f5dbc531a8bc1be2180ed5f75e7f3fccc"
-
-RDEPENDS:${PN} += "\
-    python3-flask \
-    python3-marshmallow \
-    python3-packaging \
-    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.2.0.bb
new file mode 100644
index 0000000..573b202
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-marshmallow_1.2.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Flask + marshmallow for beautiful APIs"
+HOMEPAGE = "https://github.com/marshmallow-code/flask-marshmallow"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=27586b20700d7544c06933afe56f7df4"
+
+inherit pypi python_setuptools_build_meta
+
+PYPI_PACKAGE = "flask_marshmallow"
+
+SRC_URI[sha256sum] = "d0f79eb9743f0c530a3d9e848503e1f2228e6b35a819c91e913af02e68421805"
+
+RDEPENDS:${PN} += "\
+    python3-flask \
+    python3-marshmallow \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.2.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.2.bb
index e0afd37..7692eb1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.2.bb
@@ -6,7 +6,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
 
-SRC_URI[sha256sum] = "cfadcdb638b609361d29ec22360d6070a77d7463dcb3ab08d2c2f2f168845f58"
+SRC_URI[sha256sum] = "822c03f4b799204250a7ee84b1eddc40665395333973dfb9deebfe425fefcb7d"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Flask"
 UPSTREAM_CHECK_REGEX = "/Flask/(?P<pver>(\d+[\.\-_]*)+)"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_7.0.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_7.0.bb
index bfb0aaf..6e5899a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_7.0.bb
@@ -2,10 +2,10 @@
 HOMEPAGE = "https://gcovr.com"
 SECTION = "devel/python"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6542fc4ce5904ffb741ef56f8fe33452"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5a58ca91c1758a53f896ba89d8aaac2"
 
 SRC_URI = "git://github.com/gcovr/gcovr.git;branch=main;protocol=https"
-SRCREV = "1221ef62ff0de15bbeaf79e68e08a65d62c73ff4"
+SRCREV = "fc190bcb85a25f5738315434a11f8e993edce515"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb
index 79ad228..742f921 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb
@@ -12,7 +12,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.6.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.6.0.bb
index d060a92..c0b6a60 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.6.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=26e1a171d943c64f00c51f90c256b9d4"
 
-SRC_URI[sha256sum] = "c60169f9566bd6710f9c0985a005a0c326460b739d3f2b5c5c71e85211584590"
+SRC_URI[sha256sum] = "e118e31bbe259ed9ae540d627cc563a6ece553d02aed11b1a92bbac408a0da0e"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.14.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.13.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.14.bb
index 101bfb9..5d8a3ba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.13.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmqtt_0.6.14.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=903f1792621a3b35ee546da75d139177"
 
-SRC_URI[sha256sum] = "b4623d3e32ba266e96c04b0871bb057d05414371c1d279550648b390e6ba7577"
+SRC_URI[sha256sum] = "45b0f7794247455b9163155eeedf41c86e303c72b79056bf65d33038b17443a3"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.16.2.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.15.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.16.2.bb
index 7ce2ad7..4d13b2e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.15.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.16.2.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca"
+SRC_URI[sha256sum] = "032d37b45d1d6bdaf68fb11ff621e2593263a239fa9246e2e94325f9c47876d2"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.113.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.116.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.113.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.116.0.bb
index 4e6bb7d..e4de12b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.113.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.116.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "bcffbc8ffbad631f699cf85aa91993f3dc03060b234ca9e6e2f9135028bd9b52"
+SRC_URI[sha256sum] = "f9f32361e16114d62929638fe07f77be30216b079ad316dc2ced859d9f72e5ad"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.2.0.bb
new file mode 100644
index 0000000..b1e89e4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth-oauthlib_1.2.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Google Authentication Library"
+DESCRIPTION = "This library provides oauthlib integration with google-auth"
+HOMEPAGE = "https://github.com/googleapis/google-auth-library-python-oauthlib"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "292d2d3783349f2b0734a0a0207b1e1e322ac193c2c09d8f7c613fb7cc501ea8"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = " \
+    ${PYTHON_PN}-google-auth \
+    ${PYTHON_PN}-requests-oauthlib \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.27.0.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.27.0.bb
index 9bd0926..45098e6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.27.0.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "97327dbbf58cccb58fc5a1712bba403ae76668e64814eb30f7316f7e27126b81"
+SRC_URI[sha256sum] = "e863a56ccc2d8efa83df7a80272601e43487fa9a728a376205c86c26aaefa821"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.1.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.1.bb
index 8e5c7d4..0ec9d95 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.60.1.bb
@@ -12,7 +12,7 @@
 SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
             file://0001-protobuf-Disable-musttail-attribute-on-mips.patch \
             "
-SRC_URI[sha256sum] = "ed30499340228d733ff69fcf4a66590ed7921f94eb5a2bf692258b1280b9dac7"
+SRC_URI[sha256sum] = "da08224ab8675c6d464b988bd8ca02cccd2bf0275bceefe8f6219bfd4a4f5e85"
 
 RDEPENDS:${PN} = "${PYTHON_PN}-grpcio"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.1.bb
similarity index 93%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.1.bb
index 77b4198..6bcb316 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.60.1.bb
@@ -10,7 +10,7 @@
            file://abseil-ppc-fixes.patch \
            file://0001-zlib-Include-unistd.h-for-open-close-C-APIs.patch \
            "
-SRC_URI[sha256sum] = "2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96"
+SRC_URI[sha256sum] = "dd1d3a8d1d2e50ad9b59e10aa7f07c7d1be2b367f3f2d33c5fade96ed5460962"
 
 RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
                   ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest
index 98d73fa..5ca7e26 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest
@@ -4,4 +4,4 @@
 # ptests to work, so make sure there's at least one nameserver line
 echo "nameserver 8.8.8.8" >> /etc/resolv.conf
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb
index d765c8f..9fd601c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_21.2.0.bb
@@ -12,9 +12,10 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-eventlet \
-    ${PYTHON_PN}-gevent \
-	${PYTHON_PN}-pytest \
+    python3-eventlet \
+    python3-gevent \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
@@ -22,4 +23,4 @@
 	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
 }
 
-RDEPENDS:${PN} += "${PYTHON_PN}-setuptools ${PYTHON_PN}-fcntl"
+RDEPENDS:${PN} += "python3-setuptools python3-fcntl"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb
index 0c7b414..e45ae79 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.8.1.bb
@@ -2,7 +2,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
-SRC_URI[sha256sum] = "cca39afd2ae5f1e6ed9231b332395bb8afb2e0a64edf70c238c176492e60c150"
+SRC_URI[sha256sum] = "ab750caa0c8f2168bd7b00a429757a83a8393be1aa30f91c2becf6b523189e2a"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2020.1.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2020.1.16.bb
index 5b6d040..d96f61b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2020.1.16.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-html2text_2020.1.16.bb
@@ -14,7 +14,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 RDEPENDS:${PN} += "python3-cgitb"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-httpcore_1.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-httpcore_1.0.2.bb
new file mode 100644
index 0000000..3bfe5ed
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-httpcore_1.0.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A minimal low-level HTTP client."
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1c1f23b073da202e1f4f9e426490210c"
+
+inherit pypi python_hatchling
+
+SRC_URI[sha256sum] = "9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535"
+
+DEPENDS += "\
+    python3-hatch-fancy-pypi-readme-native \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[http2] = ",,,python3-h2"
+PACKAGECONFIG[socks] = ",,,python3-socksio"
+PACKAGECONFIG[asyncio] = ",,,python3-anyio"
+# Don't provide "trio" PACKAGECONFIG as nothing provides "python3-trio" currently.
+# If somebody needs this please feel free to add python3-trio and enable the
+# packageconfig below:
+#PACKAGECONFIG[trio] = ",,,python3-trio"
+
+RDEPENDS:${PN} += "\
+    python3-certifi \
+    python3-h11 \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-httpx_0.26.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-httpx_0.26.0.bb
new file mode 100644
index 0000000..9abd13e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-httpx_0.26.0.bb
@@ -0,0 +1,44 @@
+SUMMARY = "A next generation HTTP client for Python."
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c624803bdf6fc1c4ce39f5ae11d7bd05"
+
+inherit pypi python_hatchling
+
+SRC_URI[sha256sum] = "451b55c30d5185ea6b23c2c793abf9bb237d2a7dfb901ced6ff69ad37ec1dfaf"
+
+DEPENDS += "\
+    python3-hatch-fancy-pypi-readme-native \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[brotli] = ",,,python3-brotli"
+PACKAGECONFIG[http2] = ",,,python3-h2"
+PACKAGECONFIG[socks] = ",,,python3-socksio"
+
+RDEPENDS:${PN} += "\
+    python3-anyio \
+    python3-certifi \
+    python3-httpcore \
+    python3-idna \
+    python3-sniffio \
+"
+
+PACKAGES += "\
+    ${PN}-cli \
+"
+
+RDEPENDS:${PN}-cli += "\
+    ${PN} \
+    python3-click \
+    python3-pygments \
+    python3-rich \
+"
+
+FILES:${PN} = "\
+    /usr/lib/python${PYTHON_BASEVERSION} \
+"
+
+FILES:${PN}-cli = "\
+    /usr/bin/httpx \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.34.0.bb
similarity index 69%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.34.0.bb
index 32b4472..8653983 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.34.0.bb
@@ -5,8 +5,8 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
 
-SRC_URI[sha256sum] = "78722d40b137bd98f5ec7312119f8aea9ad2049f76f434748eb306b6937cc1ce"
+SRC_URI[sha256sum] = "ae9732e10acf807a22c389aef193f42215718e16bd06eed0c5bb57e1034a4d53"
 
 inherit pypi setuptools3
 
-RDEPENDS:${PN} = "python3-numpy python3-pillow"
+RDEPENDS:${PN} = "${PYTHON_PN}-numpy ${PYTHON_PN}-pillow"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection/run-ptest
index 0caffb7..f1c8729 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection/run-ptest
@@ -1,4 +1,4 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO test_inflection.py | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb
index ea3b76d..5c6f4e2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.5.1.bb
@@ -13,8 +13,9 @@
 	file://run-ptest \
 "
 
-RDEPENDS:${PN}_ptest +=" \
-	${PYTHON_PN}_pytest \
+RDEPENDS:${PN}-ptest +=" \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
@@ -22,6 +23,6 @@
 }
 
 
-RDEPENDS:${PN} += "${PYTHON_PN}-pytest"
+RDEPENDS:${PN} += "python3-pytest"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
index 2e189dd..657f610 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
@@ -26,7 +26,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals/run-ptest
index 357d8cb..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO test_intervals.py| sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb
index abf87c5..3c5be47 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.10.0.bb
@@ -14,7 +14,8 @@
 inherit pypi setuptools3 ptest
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.01.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.01.bb
index 8e7b5b9..36d0b9a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.01.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipy_1.01.bb
@@ -19,7 +19,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.19.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.21.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.19.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.21.0.bb
index 87474e4..86e4c64 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.19.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.21.0.bb
@@ -5,7 +5,7 @@
 
 PYPI_PACKAGE = "ipython"
 
-SRC_URI[sha256sum] = "ac4da4ecf0042fb4e0ce57c60430c2db3c719fa8bdf92f8631d6bd8a5785d1f0"
+SRC_URI[sha256sum] = "48fbc236fbe0e138b88773fa0437751f14c3645fb483f1d4c5dee58b37e5ce73"
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_2.1.1.bb
index b32cfe5..3aa084d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_2.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-iso3166_2.1.1.bb
@@ -12,7 +12,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-janus_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-janus_1.0.0.bb
new file mode 100644
index 0000000..c709bcf
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-janus_1.0.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Mixed sync-async queue to interoperate between asyncio tasks and classic threads"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=23878c357ebb4c8ce1109be365043349"
+
+SRC_URI[sha256sum] = "df976f2cdcfb034b147a2d51edfc34ff6bfb12d4e2643d3ad0e10de058cb1612"
+
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN} += "\
+    python3-asyncio \
+    python3-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcclient_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcclient_4.0.3.bb
similarity index 63%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcclient_4.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcclient_4.0.3.bb
index 08ee15a..4597261 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcclient_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcclient_4.0.3.bb
@@ -3,9 +3,12 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=10f3d7679914df805c98fb351172e677"
 
-SRC_URI[sha256sum] = "c0d475494b3e1b591ecdee7883739accaf5695edb673f16b7383b8c6bbdb1ca3"
+SRCREV = "e5dd11736925a9a8e463fc9420eab95235f181e3"
+SRC_URI = "git://github.com/explodinglabs/jsonrpcclient.git;branch=main;protocol=https"
 
-inherit pypi setuptools3
+inherit python_setuptools_build_meta
+
+S = "${WORKDIR}/git"
 
 RDEPENDS:${PN} += "\
     python3-json \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.2.bb
similarity index 68%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.2.bb
index a50c965..c2a18c0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.2.bb
@@ -2,11 +2,11 @@
 DESCRIPTION = "A component library to support SBC display drivers"
 HOMEPAGE = "https://github.com/rm-hull/luma.core"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b56ff1acb787606580264498947079fc"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2083293a38df91b8d470d3fe30069262"
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "175663a4b0afde86ed5359f265fbb2ed978132cac4d9b42a30a3e0f0faf3f0d7"
+SRC_URI[sha256sum] = "963c264164d4374f549d57db09599e0ca458cea1bd05e16939897619be4e6dbd"
 
 PYPI_PACKAGE = "luma.core"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-moteus/0001-lib-python-remove-self-import-from-setup.py.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-moteus/0001-lib-python-remove-self-import-from-setup.py.patch
new file mode 100644
index 0000000..10acd7b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-moteus/0001-lib-python-remove-self-import-from-setup.py.patch
@@ -0,0 +1,32 @@
+From 7490ac4629c7fe0dc329647e6e000d4bc13c610d Mon Sep 17 00:00:00 2001
+From: Richard Leitner <dev@g0hl1n.net>
+Date: Wed, 24 Jan 2024 00:49:45 +0100
+Subject: [PATCH] lib: python: remove self-import from setup.py
+
+Importing moteus itself within the setup.py creates some kind of a
+chicken-and-egg problem. Furthermore it isn't used anywhere within
+setup.py. Therefore remove the corresponding import.
+
+Signed-off-by: Richard Leitner <dev@g0hl1n.net>
+
+Upstream-Status: Backport [https://github.com/mjbots/moteus/commit/7490ac4629c7fe0dc329647e6e000d4bc13c610d]
+---
+ setup.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 2731685..6c6064d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -17,8 +17,6 @@
+ import setuptools
+ import pathlib
+ 
+-import moteus
+-
+ here = pathlib.Path(__file__).parent.resolve()
+ 
+ # Get the long description from the README file
+-- 
+2.40.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-moteus_0.3.67.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-moteus_0.3.67.bb
new file mode 100644
index 0000000..3c93ee4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-moteus_0.3.67.bb
@@ -0,0 +1,19 @@
+SUMMARY = "moteus brushless controller library and tools"
+HOMEPAGE = "https://github.com/mjbots/moteus"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=9;md5=24025d3c660abfc62a83f0e709a45e76"
+
+inherit pypi setuptools3
+
+SRC_URI += "file://0001-lib-python-remove-self-import-from-setup.py.patch"
+
+SRC_URI[sha256sum] = "a2122f20f59b8962057cf8d3fb583e0aa19006eaf2cde49e30027a4d1b8bf925"
+
+S = "${WORKDIR}/moteus-${PV}"
+
+RDEPENDS:${PN} += "\
+    python3-can \
+    python3-importlib-metadata \
+    python3-pyelftools \
+    python3-pyserial \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest
index e4f3b62..d74acaf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/run-ptest
@@ -1,2 +1,2 @@
 #!/bin/sh
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb
index b057e05..19b94de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb
@@ -18,8 +18,9 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
-	${PYTHON_PN}-pytest-cov \
+    python3-pytest \
+    python3-pytest-cov \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.1.bb
similarity index 75%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.1.bb
index 15350e9..ce16cc1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.1.bb
@@ -2,7 +2,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
 
-SRC_URI[sha256sum] = "4c30c54adf4ea4318b3c055ea3d8c7f6554a50aa2cd8aea4605a23caa0b0229e"
+SRC_URI[sha256sum] = "f4da4222ca8c3f43c8e18a8263e5426c750a3a837fdfeccf74c68d0408eaa3bf"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb
index 99493db..a7d8cd8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.6.2.bb
@@ -8,14 +8,15 @@
 PYPI_PACKAGE = "parse_type"
 inherit pypi ptest setuptools3
 
-RDEPENDS:${PN} += "${PYTHON_PN}-parse"
+RDEPENDS:${PN} += "python3-parse"
 
 SRC_URI += " \
 	file://run-ptest \
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.1.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.1.bb
index 3ca6fbb..610a966 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.20.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8ab458ad281b60e6f1b39b3feafbfc05"
 
-SRC_URI[sha256sum] = "bd28bae37714b45d5894d77160a16e2be36b64a3b618c81168b3684676aa498b"
+SRC_URI[sha256sum] = "09002ca350ad42e76629995f71f7b518670bcf93548bdde3684fd55d2be51975"
 
 SRC_URI += " \
     file://run-ptest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.10.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.9.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.10.0.bb
index 19bf11b..f95fce3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-path_16.10.0.bb
@@ -2,7 +2,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f"
 
-SRC_URI[sha256sum] = "dfd31c2af60e8889a13538bef302ade7adacdb5351836be22638e2349ddd5d7b"
+SRC_URI[sha256sum] = "b32b22b76fe810a8ded6d136268cc8b6698ae7c47c29b94a9ea12623f3051e46"
 
 SRC_URI += "\
     file://run-ptest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.12.3.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.12.3.bb
index f8a593c..3361bb8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.12.3.bb
@@ -4,7 +4,7 @@
 SECTION = "devel/python"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2"
 
-SRC_URI[sha256sum] = "5b31255c48d4aca596c73fb872a82848cbe8ff92f008712a9a264455247063ee"
+SRC_URI[sha256sum] = "53cdab727c1469fdc196efd8d7ff8404a3ca91ee43c0a5714736f2020d0a5ddf"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
index 1cc833e..91b02ea 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
@@ -27,9 +27,9 @@
 "
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-misc \
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-numbers \
+    python3-misc \
+    python3-logging \
+    python3-numbers \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb', '', d)} \
 "
 
@@ -38,13 +38,14 @@
     ghostscript \
     jpeg-tools \
     libwebp \
-    ${PYTHON_PN}-core \
-    ${PYTHON_PN}-image \
-    ${PYTHON_PN}-mmap \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-pytest-timeout \
-    ${PYTHON_PN}-resource \
-    ${PYTHON_PN}-unixadmin\
+    python3-core \
+    python3-image \
+    python3-mmap \
+    python3-pytest \
+    python3-pytest-timeout \
+    python3-resource \
+    python3-unittest-automake-output \
+    python3-unixadmin\
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'tk', '', d)} \
 "
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb
similarity index 64%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb
index b4fb935..19c95b3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.2.0.bb
@@ -7,20 +7,21 @@
     file://run-ptest \
 "
 
-SRC_URI[sha256sum] = "906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"
+SRC_URI[sha256sum] = "ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"
 
 inherit pypi python_hatchling ptest
 
 DEPENDS += " \
-    ${PYTHON_PN}-hatch-vcs-native \
+    python3-hatch-vcs-native \
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-appdirs \
-    ${PYTHON_PN}-covdefaults \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-pytest-mock \
-    ${PYTHON_PN}-pytest-cov \
+    python3-appdirs \
+    python3-covdefaults \
+    python3-pytest \
+    python3-pytest-cov \
+    python3-pytest-mock \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb
index 2eae0ca..4abe167 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb
@@ -16,7 +16,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
index 9e5435b..1fb72de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
@@ -13,7 +13,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb
index c1e394d..ba75057 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb
@@ -20,22 +20,23 @@
 "
 
 DEPENDS += "\
-    ${PYTHON_PN}-hatch-vcs-native \
+    python3-hatch-vcs-native \
 "
 
 RDEPENDS:${PN} += " \
-	${PYTHON_PN}-math \
-	${PYTHON_PN}-html \
-	${PYTHON_PN}-wcwidth \
-	${PYTHON_PN}-json \
-	${PYTHON_PN}-compression \
-	${PYTHON_PN}-importlib-metadata \
+	python3-math \
+	python3-html \
+	python3-wcwidth \
+	python3-json \
+	python3-compression \
+	python3-importlib-metadata \
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-pytest-lazy-fixture \
-    ${PYTHON_PN}-sqlite3 \
+    python3-pytest \
+    python3-pytest-lazy-fixture \
+    python3-sqlite3 \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest
index 15c3f62..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess/run-ptest
@@ -1,3 +1,3 @@
-#!/bin/sh 
+#!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.7.0.bb
index 2a8b873..4abec0a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.7.0.bb
@@ -15,10 +15,10 @@
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 RDEPENDS:${PN} = "\
-    ${PYTHON_PN}-core \
-    ${PYTHON_PN}-fcntl \
-    ${PYTHON_PN}-terminal \
-    ${PYTHON_PN}-resource \
+    python3-core \
+    python3-fcntl \
+    python3-terminal \
+    python3-resource \
 "
 
 BBCLASSEXTEND = "native nativesdk"
@@ -30,11 +30,12 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
-	${PYTHON_PN}-fcntl \
-	${PYTHON_PN}-terminal \
-	${PYTHON_PN}-resource \
-	bash \
+    bash \
+    python3-fcntl \
+    python3-pytest \
+    python3-resource \
+    python3-terminal \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb
index 84172c0..857afd1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb
@@ -17,7 +17,7 @@
 do_install:append() {
     # Make sure we use /usr/bin/env python3
     for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do
-        sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT
+        sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
     done
 }
 
@@ -28,6 +28,7 @@
 
 RDEPENDS:${PN}-ptest += "\
     python3-pytest \
+    python3-unittest-automake-output \
 "
 
 RDEPENDS:${PN} += "python3-core python3-ctypes python3-datetime python3-json python3-io python3-mmap python3-multiprocessing python3-netclient python3-pickle python3-pprint python3-shell"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.3.0.bb
index d158876..ccd6025 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.3.0.bb
@@ -12,7 +12,7 @@
 
 inherit pypi ptest setuptools3
 
-RDEPENDS:${PN} = "${PYTHON_PN}-pyasn1"
+RDEPENDS:${PN} = "python3-pyasn1"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -21,7 +21,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.46.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb
similarity index 94%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.46.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb
index cd0e12e..2b6a6c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.46.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.46.1.bb
@@ -8,7 +8,7 @@
 DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject"
 
 SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=master"
-SRCREV = "c9cb2a2289a6eb1fb95b66c25d5351bfea54c47e"
+SRCREV = "8c69016b38d0e4caaf4c986938ea3410fb7351b6"
 
 S = "${WORKDIR}/git" 
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
index d51dd90..f94ef36 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.11.1.bb
@@ -1,19 +1,16 @@
 SUMMARY = "Seamless operability between C++11 and Python"
-HOMEPAGE = "https://github.com/wjakob/pybind11"
-LICENSE = "BSD-2-Clause"
+HOMEPAGE = "https://github.com/pybind/pybind11"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=774f65abd8a7fe3124be2cdf766cd06f"
 
-DEPENDS = "boost"
-
-SRC_URI = "git://github.com/pybind/pybind11.git;branch=stable;protocol=https"
-
 SRCREV = "8a099e44b3d5f85b20f05828d919d2332a8de841"
+SRC_URI = "git://github.com/pybind/pybind11.git;branch=stable;protocol=https"
 
 S = "${WORKDIR}/git"
 
-EXTRA_OECMAKE =  "-DPYBIND11_TEST=OFF"
+inherit cmake setuptools3
 
-inherit cmake setuptools3 python3native
+EXTRA_OECMAKE = "-DPYBIND11_TEST=OFF"
 
 PIP_INSTALL_DIST_PATH = "${S}/dist"
 PIP_INSTALL_PACKAGE = "pybind11"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb
index 5e5f0c9..978fc0d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb
@@ -18,3 +18,5 @@
     ${PYTHON_PN}-cffi \
     ${PYTHON_PN}-idna \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.1.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.8.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.1.0.bb
index dff1876..618aba4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.0.8.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
 
-SRC_URI[sha256sum] = "e4b7523db137f8de05eedcc6154113b68532848629442b448c2334fac966a447"
+SRC_URI[sha256sum] = "08e61a8b54bd2119d3c9ab1ec0136d3d8563aa97e0a3b57841588b9be60c2676"
 
 PYPI_PACKAGE = "PyChromecast"
 
@@ -16,4 +16,5 @@
     ${PYTHON_PN}-requests \
     ${PYTHON_PN}-protobuf \
     ${PYTHON_PN}-compression \
+    ${PYTHON_PN}-casttube \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
index 2a4e87e..ed424cb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest --benchmark-disable -vv --minimal-messages-config tests/test_functional.py | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --benchmark-disable -vv --minimal-messages-config --automake tests/test_functional.py
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb
index cc33edd..eb4b9e8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb
@@ -10,34 +10,36 @@
 
 inherit python_setuptools_build_meta ptest
 
-RDEPENDS:${PN} += "${PYTHON_PN}-astroid \
-                   ${PYTHON_PN}-dill \
-                   ${PYTHON_PN}-isort \
-                   ${PYTHON_PN}-mccabe \
-                   ${PYTHON_PN}-numbers \
-                   ${PYTHON_PN}-platformdirs \
-                   ${PYTHON_PN}-shell \
-                   ${PYTHON_PN}-json \
-                   ${PYTHON_PN}-pkgutil \
-                   ${PYTHON_PN}-difflib \
-                   ${PYTHON_PN}-netserver \
-                   ${PYTHON_PN}-tomlkit \
-                  "
+RDEPENDS:${PN} += "\
+    python3-astroid \
+    python3-difflib \
+    python3-dill \
+    python3-isort \
+    python3-json \
+    python3-mccabe \
+    python3-netserver \
+    python3-numbers \
+    python3-pkgutil \
+    python3-platformdirs \
+    python3-shell \
+    python3-tomlkit \
+    "
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-core \
-        ${PYTHON_PN}-git \
-        ${PYTHON_PN}-py \
-        ${PYTHON_PN}-pytest \
-        ${PYTHON_PN}-pytest-benchmark \
-        ${PYTHON_PN}-pytest-runner \
-        ${PYTHON_PN}-pytest-timeout \
-        ${PYTHON_PN}-pytest-xdist \
-        ${PYTHON_PN}-requests \
-        ${PYTHON_PN}-statistics \
-        ${PYTHON_PN}-tomllib \
-        ${PYTHON_PN}-typing-extensions \
-        "
+    python3-core \
+    python3-git \
+    python3-py \
+    python3-pytest \
+    python3-pytest-benchmark \
+    python3-pytest-runner \
+    python3-pytest-timeout \
+    python3-pytest-xdist \
+    python3-requests \
+    python3-statistics \
+    python3-tomllib \
+    python3-typing-extensions \
+    python3-unittest-automake-output \
+    "
 
 S = "${WORKDIR}/git"
 
@@ -46,7 +48,7 @@
     cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
     install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep
     sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/ascript
-    # regression_distutil_import_error_73.py fails to run see 
+    # regression_distutil_import_error_73.py fails to run see
     # https://lists.openembedded.org/g/openembedded-devel/topic/103181847
     rm ${D}${PTEST_PATH}/tests/functional/r/regression_02/regression_distutil_import_error_73.py
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.183.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.184.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.183.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.184.bb
index dec8186..b0e62ba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.183.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.184.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
-SRC_URI[sha256sum] = "00abe5592f07bb1cd41ca803f9b0b8b2b70474004a779be53cd215280fd625b3"
+SRC_URI[sha256sum] = "fbd9089c867a63144562932862474910696ab57f4786a4b7c1a0b28ba204c0ae"
 
 inherit python_poetry_core pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.6.3.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.6.3.bb
index 4cd3801..337fd0e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.6.3.bb
@@ -1,13 +1,11 @@
 SUMMARY = "A fully featured modbus protocol stack in python"
 HOMEPAGE = "https://github.com/riptideio/pymodbus/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6a146397c35e3d0953758ce8803de347"
-DEPENDS += "python3-six-native"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eba8057aa82c058d2042b4b0a0e9cc63"
 
-SRC_URI[sha256sum] = "26c1aa9919b24f2247794d5d9d80f65ec06fdfd9bd6b76b81d446b55335cabf3"
-S = "${WORKDIR}/pymodbus-${PV}"
+SRC_URI[sha256sum] = "862f64376ae201f979c91ca2398f0ed5df8f136b76491e0995edeebbd0fa8940"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[repl] = ",,,python3-aiohttp python3-click python3-prompt-toolkit python3-pygments python3-pyserial-asyncio"
@@ -31,5 +29,3 @@
     python3-pyserial \
     python3-six \
 "
-
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest
index ea429ba..f1c8729 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2/run-ptest
@@ -1,4 +1,4 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.10.bb
index 6b340a1..740a6d7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.10.bb
@@ -27,9 +27,10 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-    python3-pytest \
     python3-fcntl \
+    python3-pytest \
     python3-sqlite3 \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest
index e301963..b651411 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial/run-ptest
@@ -1,4 +1,4 @@
 #!/bin/sh
 
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.5.bb
index 1564623..ade137a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.5.bb
@@ -37,14 +37,14 @@
 "
 
 RDEPENDS:${PN} = "\
-    ${PYTHON_PN}-fcntl \
-    ${PYTHON_PN}-io \
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-netclient \
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-stringold \
-    ${PYTHON_PN}-threading \
+    python3-fcntl \
+    python3-io \
+    python3-logging \
+    python3-netclient \
+    python3-numbers \
+    python3-shell \
+    python3-stringold \
+    python3-threading \
 "
 
 BBCLASSEXTEND = "native nativesdk"
@@ -54,7 +54,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.4.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.4.bb
index 85f69ac..6def541 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.4.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=136e4f49dbf29942c572a3a8f6e88a77"
 
-SRC_URI[sha256sum] = "af313ce900a62fbe2b1aed18e37ad757f1ef9940c6b6a88e2954de38d6b1fb9f"
+SRC_URI[sha256sum] = "2143d9d9375bf372a73260e4114541485e84fca350b0b6b92674ca56ff5f7ea2"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture_0.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture_0.6.3.bb
index 32b5677..9c50528 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture_0.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-lazy-fixture_0.6.3.bb
@@ -20,4 +20,7 @@
 
 
 RDEPENDS:${PN} += "python3-core python3-pytest"
-RDEPENDS:${PN}-ptest = " python3-unixadmin"
+RDEPENDS:${PN}-ptest = " \
+    python3-unixadmin \
+    python3-unittest-automake-output \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/403.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/403.patch
new file mode 100644
index 0000000..6787c2a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/403.patch
@@ -0,0 +1,92 @@
+From 8480bb6d0500f933be039cfec65e04157e6ecffe Mon Sep 17 00:00:00 2001
+From: Bruno Oliveira <nicoddemus@gmail.com>
+Date: Tue, 19 Dec 2023 08:24:23 -0300
+Subject: [PATCH 1/3] Fix tests for Python 3.11 and 3.12
+
+Fixes #401.
+Upstream-Status: Backport [https://github.com/pytest-dev/pytest-mock/pull/403]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test_pytest_mock.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py
+index 3ee00da..7acb361 100644
+--- a/tests/test_pytest_mock.py
++++ b/tests/test_pytest_mock.py
+@@ -246,9 +246,8 @@ def __test_failure_message(self, mocker: MockerFixture, **kwargs: Any) -> None:
+             msg = "Expected call: {0}()\nNot called"
+         expected_message = msg.format(expected_name)
+         stub = mocker.stub(**kwargs)
+-        with pytest.raises(AssertionError) as exc_info:
++        with pytest.raises(AssertionError, match=re.escape(expected_message)) as exc_info:
+             stub.assert_called_with()
+-        assert str(exc_info.value) == expected_message
+ 
+     def test_failure_message_with_no_name(self, mocker: MagicMock) -> None:
+         self.__test_failure_message(mocker)
+
+From c596504e062be06475b03122c9c0cc732ae87840 Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Tue, 19 Dec 2023 11:24:38 +0000
+Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ tests/test_pytest_mock.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py
+index 7acb361..c185f2a 100644
+--- a/tests/test_pytest_mock.py
++++ b/tests/test_pytest_mock.py
+@@ -246,7 +246,9 @@ def __test_failure_message(self, mocker: MockerFixture, **kwargs: Any) -> None:
+             msg = "Expected call: {0}()\nNot called"
+         expected_message = msg.format(expected_name)
+         stub = mocker.stub(**kwargs)
+-        with pytest.raises(AssertionError, match=re.escape(expected_message)) as exc_info:
++        with pytest.raises(
++            AssertionError, match=re.escape(expected_message)
++        ) as exc_info:
+             stub.assert_called_with()
+ 
+     def test_failure_message_with_no_name(self, mocker: MagicMock) -> None:
+
+From 6da5b0506d6378a8dbe5ae314d5134e6868aeabd Mon Sep 17 00:00:00 2001
+From: danigm <daniel.garcia@suse.com>
+Date: Wed, 20 Dec 2023 16:02:13 +0100
+Subject: [PATCH 3/3] Update expected message to match python 3.11.7 (#404)
+
+https://github.com/python/cpython/issues/111019
+
+Fixes #401.
+Closes #403.
+---
+ tests/test_pytest_mock.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py
+index c185f2a..01534a4 100644
+--- a/tests/test_pytest_mock.py
++++ b/tests/test_pytest_mock.py
+@@ -25,6 +25,8 @@
+ 
+ # Python 3.8 changed the output formatting (bpo-35500), which has been ported to mock 3.0
+ NEW_FORMATTING = sys.version_info >= (3, 8)
++# Python 3.11.7 changed the output formatting, https://github.com/python/cpython/issues/111019
++NEWEST_FORMATTING = sys.version_info >= (3, 11, 7)
+ 
+ if sys.version_info[:2] >= (3, 8):
+     from unittest.mock import AsyncMock
+@@ -240,7 +242,9 @@ def test_repr_with_name(self, mocker: MockerFixture) -> None:
+ 
+     def __test_failure_message(self, mocker: MockerFixture, **kwargs: Any) -> None:
+         expected_name = kwargs.get("name") or "mock"
+-        if NEW_FORMATTING:
++        if NEWEST_FORMATTING:
++            msg = "expected call not found.\nExpected: {0}()\n  Actual: not called."
++        elif NEW_FORMATTING:
+             msg = "expected call not found.\nExpected: {0}()\nActual: not called."
+         else:
+             msg = "Expected call: {0}()\nNot called"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb
index ac6f8e8..e9a9a4f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb
@@ -9,21 +9,20 @@
     git://github.com/pytest-dev/pytest-mock;branch=main;protocol=https \
     file://run-ptest \
     file://0001-test_pytest_mock-skip-args-introspection-tests.patch \
+    file://403.patch \
 "
-
 SRCREV = "69adc6f76c1a7baf4e7a728da9eec38741d5783e"
 
-SRC_URI[sha256sum] = "fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"
-
 inherit setuptools3 ptest
 
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+DEPENDS += "python3-setuptools-scm-native"
 
 RDEPENDS:${PN} += " \
     python3-asyncio \
     python3-pytest \
     python3-pytest-asyncio \
     python3-unittest \
+    python3-unittest-automake-output \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb
index 0f04a12..1717085 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytoml_0.1.21.bb
@@ -16,12 +16,13 @@
 "
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-stringold \
+    python3-datetime \
+    python3-stringold \
     "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyunormalize_15.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyunormalize_15.1.0.bb
new file mode 100644
index 0000000..6992ca2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyunormalize_15.1.0.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Unicode normalization forms (NFC, NFKC, NFD, NFKD). A library independent from the Python core Unicode database."
+HOMEPAGE = "https://github.com/mlodewijck/pyunormalize"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc15b678c3bac1f5b2c873591a330eae"
+
+SRC_URI[sha256sum] = "cf4a87451a0f1cb76911aa97f432f4579e1f564a2f0c84ce488c73a73901b6c1"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include/run-ptest
new file mode 100755
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb
new file mode 100644
index 0000000..3a5bd99
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml-include_1.3.2.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Extending PyYAML with a custom constructor for including YAML files within YAML files"
+HOMEPAGE = "https://github.com/tanbro/pyyaml-include"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS += "python3-setuptools-scm-native"
+SRCREV = "36b6975aa8fc7a6cbf37de40aa2ed6d996b2f7be"
+
+SRC_URI = " \
+            git://github.com/tanbro/pyyaml-include;protocol=https;branch=main \
+            file://run-ptest \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit python_setuptools_build_meta ptest
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS:${PN} += " \
+    python3-pyyaml \
+"
+RDEPENDS:${PN}-ptest += " \
+    python3-pytest \
+    python3-unittest-automake-output \
+"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
index 658dbe6..5793db5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
@@ -26,13 +26,14 @@
 "
 
 RDEPENDS:${PN} += "\
-        ${PYTHON_PN}-json \
-        ${PYTHON_PN}-multiprocessing \
+        python3-json \
+        python3-multiprocessing \
 "
 
 RDEPENDS:${PN}-ptest += "\
-        ${PN}-test \
-        ${PYTHON_PN}-pytest \
+    ${PN}-test \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_compile:prepend() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.5.1.bb
index 21cdb8c..7ff984a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.5.1.bb
@@ -13,7 +13,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
index 2534c1c..9cbe492 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
@@ -14,15 +14,16 @@
 inherit pypi setuptools3 ptest
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-requests (>=2.0.1) \
+    python3-requests (>=2.0.1) \
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
-	${PYTHON_PN}-betamax \
-	${PYTHON_PN}-mock \
-	${PYTHON_PN}-multiprocessing \
-	${PYTHON_PN}-trustme \
+    python3-betamax \
+    python3-mock \
+    python3-multiprocessing \
+    python3-pytest \
+    python3-trustme \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_7.0.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_7.0.bb
index 7fd2f2e..ca301e4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_6.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_7.0.bb
@@ -13,7 +13,7 @@
 
 PYPI_PACKAGE_EXT = "zip"
 
-SRC_URI[sha256sum] = "3fa18f2596a4df2418c4b59abf43248327c15ed38ad8665f6a9a9c75c95d7789"
+SRC_URI[sha256sum] = "04623f758346c917db182e17591ffa474090560c02ed5a64343902e72b7b4bd5"
 
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-shell \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scikit-build_0.16.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scikit-build_0.16.7.bb
deleted file mode 100644
index c033c56..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-scikit-build_0.16.7.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Improved build system generator for Python C/C++/Fortran/Cython extensions"
-LICENSE = "MIT & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7c96d2b08b3cec6d3c67fb864d1fd8cc"
-
-DEPENDS = "python3-setuptools-scm-native"
-
-PYPI_PACKAGE = "scikit-build"
-
-inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "a9b9cc7479b71e6c8d434596dfade025253aae23adb22a9a2d85850fd51cecfd"
-
-RDEPENDS:${PN} = " \
-	python3-distro \
-	python3-packaging \
-	python3-setuptools \
-	python3-typing-extensions \
-	python3-wheel \
-	cmake \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scikit-build_0.17.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scikit-build_0.17.6.bb
new file mode 100644
index 0000000..7f99dd1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-scikit-build_0.17.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Improved build system generator for Python C/C++/Fortran/Cython extensions"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7c96d2b08b3cec6d3c67fb864d1fd8cc"
+
+DEPENDS = "${PYTHON_PN}-hatch-vcs-native ${PYTHON_PN}-hatch-fancy-pypi-readme-native"
+
+PYPI_PACKAGE = "scikit_build"
+
+inherit pypi python_hatchling
+
+SRC_URI[sha256sum] = "b51a51a36b37c42650994b5047912f59b22e3210b23e321f287611f9ef6e5c9d"
+
+RDEPENDS:${PN} = " \
+	${PYTHON_PN}-distro \
+	${PYTHON_PN}-packaging \
+	${PYTHON_PN}-setuptools \
+	${PYTHON_PN}-typing-extensions \
+	${PYTHON_PN}-wheel \
+	cmake \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.20.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.20.bb
index c386932..ce0d4de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.20.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-scrypt_0.8.20.bb
@@ -14,11 +14,12 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-ctypes \
+    python3-ctypes \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest
index cd2bc85..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO tests/test_semver.py --disable-warnings| sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb
index f90ea0c..25222bb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb
@@ -17,7 +17,8 @@
 DEPENDS += " python3-setuptools-scm-native"
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.39.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.40.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.39.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.40.0.bb
index 9f42132..ec59c71 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.39.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.40.0.bb
@@ -15,7 +15,7 @@
 	${PYTHON_PN}-datetime \
 "
 
-SRC_URI[sha256sum] = "320a55cdf9da9097a0bead239c35b7e61f53660ef9878861824fd6d9b2eaf3b5"
+SRC_URI[sha256sum] = "34ad8cfc9b877aaa2a8eb86bfe5296a467fffe0619b931a05b181c45f6da59bf"
 
 PYPI_PACKAGE = "sentry-sdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb
index 480e3ab..941b5ee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb
@@ -11,8 +11,9 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-pytz \
+    python3-pytest \
+    python3-pytz \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
@@ -21,6 +22,6 @@
 }
 
 RDEPENDS:${PN} += "\
-    ${PYTHON_PN}-netclient \
-    ${PYTHON_PN}-numbers \
-"    
+    python3-netclient \
+    python3-numbers \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb
index c3c26dd..0a2f272 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-service-identity_21.1.0.bb
@@ -20,7 +20,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.13.bb
index 35cd19f..af2c4a1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.13.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-simpleeval_0.9.13.bb
@@ -12,11 +12,12 @@
 SRC_URI += "file://run-ptest"
 
 RDEPENDS:${PN} += " \
-	${PYTHON_PN}-math \
+	python3-math \
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb
index 25f8f6a..7979f04 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb
@@ -13,15 +13,16 @@
 "
 
 RDEPENDS:${PN} += " \
-        ${PYTHON_PN}-logging \
-        ${PYTHON_PN}-six \
+        python3-logging \
+        python3-six \
 "
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-pytest \
-        ${PYTHON_PN}-unittest \
-        ${PYTHON_PN}-profile \
-        ${PYTHON_PN}-mock \
+    python3-mock \
+    python3-profile \
+    python3-pytest \
+    python3-unittest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sniffio_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sniffio_1.3.0.bb
new file mode 100644
index 0000000..448ac34
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sniffio_1.3.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Sniff out which async library your code is running under"
+SECTION = "devel/python"
+LICENSE = "MIT | Apache-2.0"
+LIC_FILES_CHKSUM = "\
+    file://LICENSE;md5=fa7b86389e58dd4087a8d2b833e5fe96 \
+    file://LICENSE.MIT;md5=e62ba5042d5983462ad229f5aec1576c \
+    file://LICENSE.APACHE2;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socksio/0001-Unpin-flit-core-dependency.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-socksio/0001-Unpin-flit-core-dependency.patch
new file mode 100644
index 0000000..75be61f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socksio/0001-Unpin-flit-core-dependency.patch
@@ -0,0 +1,21 @@
+From 5c50fd76e7459bb822ff8f712172a78e21b8dd04 Mon Sep 17 00:00:00 2001
+From: Theodore Ni <3806110+tjni@users.noreply.github.com>
+Date: Sun, 13 Aug 2023 09:21:49 -0700
+Subject: [PATCH] Unpin flit-core dependency
+
+Upstream-Status: Submitted [https://github.com/sethmlarson/socksio/pull/61]
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 2d6c5a3..60c63ea 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["flit_core >=2,<3"]
++requires = ["flit_core >=2"]
+ build-backend = "flit_core.buildapi"
+ 
+ [tool.flit.metadata]
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socksio_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socksio_1.0.0.bb
new file mode 100644
index 0000000..4353a52
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socksio_1.0.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5."
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0b4dda8edb09eec767aaded3cbf8f6b1"
+
+inherit pypi python_flit_core
+
+SRC_URI += "file://0001-Unpin-flit-core-dependency.patch"
+
+SRC_URI[sha256sum] = "f88beb3da5b5c38b9890469de67d0cb0f9d494b78b106ca1845f96c10b91c4ac"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
index 42c07fb..d26a13d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
@@ -13,8 +13,9 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-pytest \
-        ${PYTHON_PN}-beautifulsoup4 \
+    python3-beautifulsoup4 \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
index e4ac403..c04971e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlparse_0.4.4.bb
@@ -16,8 +16,9 @@
 inherit pypi ptest python_flit_core
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-unixadmin \
+    python3-pytest \
+    python3-unittest-automake-output \
+    python3-unixadmin \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-strenum/0001-patch-versioneer-for-python-3.12-compatibility.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-strenum/0001-patch-versioneer-for-python-3.12-compatibility.patch
new file mode 100644
index 0000000..cdf3f1a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-strenum/0001-patch-versioneer-for-python-3.12-compatibility.patch
@@ -0,0 +1,37 @@
+From 3a71c9bc3747201e5bebe0e80b98ac6219209875 Mon Sep 17 00:00:00 2001
+From: alperak <alperyasinak1@gmail.com>
+Date: Thu, 8 Feb 2024 14:09:32 +0300
+Subject: [PATCH] Patch versioneer for Python 3.12 compatibility
+
+AttributeError: 'ConfigParser' object has no attribute 'readfp'. Did you mean: 'read'?
+AttributeError: module 'configparser' has no attribute 'SafeConfigParser'. Did you mean: 'RawConfigParser'?
+
+readfp and SafeConfigParser has been deprecated since Python 3.2 and removed in Python 3.12 (due October 2023). Use read_file and ConfigParser instead.
+
+https://docs.python.org/3/whatsnew/3.12.html#configparser
+
+Upstream-Status: Submitted [https://github.com/irgeek/StrEnum/pull/34]
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ versioneer.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/versioneer.py b/versioneer.py
+index 64fea1c..3aa5da3 100644
+--- a/versioneer.py
++++ b/versioneer.py
+@@ -339,9 +339,9 @@ def get_config_from_root(root):
+     # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
+     # the top of versioneer.py for instructions on writing your setup.cfg .
+     setup_cfg = os.path.join(root, "setup.cfg")
+-    parser = configparser.SafeConfigParser()
++    parser = configparser.ConfigParser()
+     with open(setup_cfg, "r") as f:
+-        parser.readfp(f)
++        parser.read_file(f)
+     VCS = parser.get("versioneer", "VCS")  # mandatory
+
+     def get(parser, name):
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-strenum_0.4.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-strenum_0.4.15.bb
new file mode 100644
index 0000000..aa85189
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-strenum_0.4.15.bb
@@ -0,0 +1,14 @@
+SUMMARY = "An Enum that inherits from str"
+HOMEPAGE = "https://github.com/irgeek/StrEnum"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ba0eb3de1df70bde0ed48488cfd81269"
+
+SRC_URI += "file://0001-patch-versioneer-for-python-3.12-compatibility.patch"
+
+DEPENDS = "${PYTHON_PN}-pytest-runner-native"
+
+SRC_URI[sha256sum] = "878fb5ab705442070e4dd1929bb5e2249511c0bcf2b0eeacf3bcd80875c82eff"
+
+PYPI_PACKAGE = "StrEnum"
+
+inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb
index 89acd77..d4162a1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb
@@ -18,9 +18,10 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-poetry-core \
-        ${PYTHON_PN}-pytest \
-        ${PYTHON_PN}-pyyaml \
+    python3-poetry-core \
+    python3-pytest \
+    python3-pyyaml \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.1.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.1.bb
index 4025fa3..f1763ee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca09cab178326d18433aae982d1edf5d"
 
-SRC_URI[sha256sum] = "88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194"
+SRC_URI[sha256sum] = "ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.12.1.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.12.1.bb
index 62c15a7..6d092c6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.12.1.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7"
 
-SRC_URI[sha256sum] = "73a7240778fabf305aeb05ab8ea26e575e042ab5a18d71d0ed13e343a51d6ce1"
+SRC_URI[sha256sum] = "61aafbeff1bd8a5af84e54ef6e8402f53c6a6066d0782336171ddfbf5362122e"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb
index e925712..ac03bce 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb
@@ -20,9 +20,10 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-	${PYTHON_PN}-pytest \
-	${PYTHON_PN}-service-identity \
-	${PYTHON_PN}-pyasn1-modules \
+    python3-pyasn1-modules \
+    python3-pytest \
+    python3-service-identity \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.5.bb
index 53a02dc..000620e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.5.bb
@@ -17,9 +17,10 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-        ${PYTHON_PN}-pytest \
-        ${PYTHON_PN}-typing-extensions \
-        ${PYTHON_PN}-unixadmin \
+    python3-pytest \
+    python3-typing-extensions \
+    python3-unittest-automake-output \
+    python3-unixadmin \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.20240205.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.17.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.20240205.bb
index 055cecd..736024d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.17.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.20240205.bb
@@ -5,6 +5,6 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "f7d8769812d72a4b513d7ec9eb5580fe2f6013fc270394a603cb6534811f3e4d"
+SRC_URI[sha256sum] = "51df36a361aa597bf483dcc5b58f2ab7aa87452a36d2da97c90994d6a81ef743"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.20240125.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.20240125.bb
index 2fc1895..7e15dcb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_69.0.0.20240125.bb
@@ -5,6 +5,6 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b0a06219f628c6527b2f8ce770a4f47550e00d3e8c3ad83e2dc31bc6e6eda95d"
+SRC_URI[sha256sum] = "22ad498cb585b22ce8c97ada1fccdf294a2e0dd7dc984a28535a84ea82f45b3f"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb
index 866a7a7..da58964 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb
@@ -10,4 +10,5 @@
 RDEPENDS:${PN} += " \
     python3-datetime \
     python3-logging \
+    python3-zoneinfo \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python/run-ptest
index 7110f6b..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO test_umsgpack.py| sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python_2.8.0.bb
index 8baedcb..6cde243 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-u-msgpack-python_2.8.0.bb
@@ -12,7 +12,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-       ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
@@ -20,7 +21,7 @@
 }
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-datetime \
+    python3-datetime \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest
index b153945..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-python3 tests/test_ujson.py
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.9.0.bb
index 8de9b03..b5f6be9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.9.0.bb
@@ -13,17 +13,18 @@
     file://0001-setup.py-Do-not-strip-debugging-symbols.patch \
 "
 
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+DEPENDS += "python3-setuptools-scm-native"
 
 RDEPENDS:${PN} += "\
-    ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-numbers \
+    python3-datetime \
+    python3-numbers \
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-json \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-pytz \
+    python3-json \
+    python3-pytest \
+    python3-pytz \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.5.bb
index 690acf8..d77252b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.5.bb
@@ -12,7 +12,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-       ${PYTHON_PN}-pytest \
+       python3-pytest \
+       python3-unittest-automake-output \
 "
 
 do_install_ptest() {
@@ -21,6 +22,6 @@
 }
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-codecs \
-    ${PYTHON_PN}-io \
+    python3-codecs \
+    python3-io \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate/run-ptest
index b63c4de..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb
index 3c41b1e..e741b62 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uritemplate_4.1.1.bb
@@ -14,7 +14,8 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-       ${PYTHON_PN}-pytest \
+       python3-pytest \
+       python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_3.0.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_3.0.0.bb
index 061586b..7470fc0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_3.0.0.bb
@@ -10,6 +10,6 @@
         python3-logging \
 "
 
-SRC_URI[sha256sum] = "780a4082c5fbc0fde6a2fcfe5e26e6efc1e8f425730863c04085769781f51eba"
+SRC_URI[sha256sum] = "005da479b04134cdd9dd602d1ee7c49d79de0537610d653674cc6cbde222b8a1"
 
 inherit python_setuptools_build_meta pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.14.0.bb
deleted file mode 100644
index 177c6fc..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.14.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A Python library for interacting with Ethereum."
-HOMEPAGE = "https://github.com/ethereum/web3.py"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
-
-SRC_URI[sha256sum] = "a3726289da9eff2ce30f9b1b49ec59e9245216f7aecbfa2007f73dbe94999717"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
-    python3-aiohttp \
-    python3-eth-account \
-    python3-idna \
-    python3-jsonschema \
-    python3-google-api-core \
-    python3-lru-dict \
-    python3-requests \
-    python3-setuptools \
-    python3-websockets \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.15.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.15.1.bb
new file mode 100644
index 0000000..00b19bb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.15.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A Python library for interacting with Ethereum."
+HOMEPAGE = "https://github.com/ethereum/web3.py"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
+
+SRC_URI[sha256sum] = "f9e7eefc1b3c3d194868a4ef9583b625c18ea3f31a48ebe143183db74898f381"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-aiohttp \
+    ${PYTHON_PN}-eth-abi \
+    ${PYTHON_PN}-eth-account \
+    ${PYTHON_PN}-eth-hash \
+    ${PYTHON_PN}-eth-typing \
+    ${PYTHON_PN}-eth-utils \
+    ${PYTHON_PN}-hexbytes \
+    ${PYTHON_PN}-jsonschema \
+    ${PYTHON_PN}-protobuf \
+    ${PYTHON_PN}-pydantic \
+    ${PYTHON_PN}-requests \
+    ${PYTHON_PN}-typing-extensions \
+    ${PYTHON_PN}-websockets \
+    ${PYTHON_PN}-pyunormalize \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.3.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.3.6.bb
deleted file mode 100644
index 11441fc..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.3.6.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "The Swiss Army knife of Python web development"
-DESCRIPTION = "\
-Werkzeug started as simple collection of various utilities for WSGI \
-applications and has become one of the most advanced WSGI utility modules. \
-It includes a powerful debugger, full featured request and response objects, \
-HTTP utilities to handle entity tags, cache control headers, HTTP dates, \
-cookie handling, file uploads, a powerful URL routing system and a bunch \
-of community contributed addon modules."
-HOMEPAGE = "http://werkzeug.pocoo.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
-
-PYPI_PACKAGE = "Werkzeug"
-
-SRC_URI[sha256sum] = "98c774df2f91b05550078891dee5f0eb0cb797a522c757a2452b9cee5b202330"
-
-inherit pypi python_setuptools_build_meta
-
-CLEANBROKEN = "1"
-
-RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-difflib \
-    ${PYTHON_PN}-email \
-    ${PYTHON_PN}-html \
-    ${PYTHON_PN}-io \
-    ${PYTHON_PN}-json \
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-netclient \
-    ${PYTHON_PN}-netserver \
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-pkgutil \
-    ${PYTHON_PN}-pprint \
-    ${PYTHON_PN}-simplejson \
-    ${PYTHON_PN}-threading \
-    ${PYTHON_PN}-unixadmin \
-    ${PYTHON_PN}-misc \
-    ${PYTHON_PN}-profile \
-    ${PYTHON_PN}-markupsafe \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.1.bb
new file mode 100644
index 0000000..0c3308d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_3.0.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "The comprehensive WSGI web application library"
+DESCRIPTION = "\
+Werkzeug started as simple collection of various utilities for WSGI \
+applications and has become one of the most advanced WSGI utility modules. \
+It includes a powerful debugger, full featured request and response objects, \
+HTTP utilities to handle entity tags, cache control headers, HTTP dates, \
+cookie handling, file uploads, a powerful URL routing system and a bunch \
+of community contributed addon modules."
+HOMEPAGE = "https://werkzeug.palletsprojects.com"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
+
+SRC_URI[sha256sum] = "507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc"
+
+inherit pypi python_flit_core
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-markupsafe \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-profile \
+    ${PYTHON_PN}-compression \
+    ${PYTHON_PN}-json \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-whitenoise_6.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-whitenoise_6.6.0.bb
new file mode 100644
index 0000000..352a537
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-whitenoise_6.6.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Radically simplified static file serving for WSGI applications"
+AUTHOR = "David Evans <d@evans.io>"
+HOMEPAGE = "https://whitenoise.evans.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aba4901cc64e401cea5a267eac2a2e1e"
+
+PYPI_PACKAGE = "whitenoise"
+
+SRC_URI[sha256sum] = "8998f7370973447fac1e8ef6e8ded2c5209a7b1f67c1012866dbcd09681c3251"
+
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN}:append = " \
+    python3-brotli \
+    python3-coverage \
+    python3-django \
+    python3-pytest \
+    python3-requests \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
index ed2a6d4..38d3e1c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
@@ -16,13 +16,13 @@
 inherit ptest pypi setuptools3
 
 RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-email \
-    ${PYTHON_PN}-multiprocessing \
-    ${PYTHON_PN}-netclient \
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-pickle \
-    ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-stringold \
+    python3-email \
+    python3-multiprocessing \
+    python3-netclient \
+    python3-numbers \
+    python3-pickle \
+    python3-shell \
+    python3-stringold \
 "
 
 SRC_URI += " \
@@ -30,8 +30,9 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
-    ${PYTHON_PN}-fcntl \
+    python3-fcntl \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_2.0.1.bb
index 5e63d3c..8a9af14 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_2.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlrd_2.0.1.bb
@@ -30,6 +30,7 @@
 
 RDEPENDS:${PN}-ptest += " \
     python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_3.0.1.bb
similarity index 71%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_3.0.1.bb
index 19fae91..890743b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_2.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_3.0.1.bb
@@ -1,9 +1,9 @@
 SUMMARY = "The xmlschema library is an implementation of XML Schema for Python (supports Python 3.6+)."
 HOMEPAGE = "https://github.com/sissaschool/xmlschema"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0ab20f8e337bea2e6874f372edfd12c0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=26aa26eda991a3a2b61c11b62d3fda65"
 
-SRC_URI[sha256sum] = "4f7497de6c8b6dc2c28ad7b9ed6e21d186f4afe248a5bea4f54eedab4da44083"
+SRC_URI[sha256sum] = "bb24a5f4738e49d85d9eb03a2b5af26bbbbfdb055517ad953d98925094b8c026"
 
 PYPI_PACKAGE = "xmlschema"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest
index e398fa8..72c918c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest tests/test.py -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake tests/test.py
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb
index 4050d12..be9ce00 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb
@@ -14,7 +14,8 @@
 inherit pypi python_setuptools_build_meta ptest
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest
index 3385d68..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.4.bb
index d9fe4c0..29897b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.4.bb
@@ -12,18 +12,19 @@
 inherit pypi ptest python_setuptools_build_meta
 
 DEPENDS += " \
-    ${PYTHON_PN}-expandvars-native \
-    ${PYTHON_PN}-cython-native \
+    python3-expandvars-native \
+    python3-cython-native \
 "
 
 RDEPENDS:${PN} = "\
-    ${PYTHON_PN}-multidict \
-    ${PYTHON_PN}-idna \
-    ${PYTHON_PN}-io \
+    python3-multidict \
+    python3-idna \
+    python3-io \
 "
 
 RDEPENDS:${PN}-ptest += " \
-    ${PYTHON_PN}-pytest \
+    python3-pytest \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.4.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.4.bb
deleted file mode 100644
index 920ff4d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Google Spreadsheets Python API"
-HOMEPAGE = "https://github.com/burnash/gspread"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f"
-
-SRC_URI[sha256sum] = "3fcef90183f15d3c9233b4caa021a83682f2b2ee678340c42d7ca7d8be98c6d1"
-
-S = "${WORKDIR}/gspread-${PV}"
-
-RDEPENDS:${PN} = "python3-requests"
-
-inherit pypi python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_6.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_6.0.1.bb
new file mode 100644
index 0000000..7854b75
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_6.0.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Google Spreadsheets Python API"
+HOMEPAGE = "https://github.com/burnash/gspread"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f"
+
+SRC_URI[sha256sum] = "8c8bf83be676a019d3a483455d8b17b442f2acfc620172f245422ca4fc960dd0"
+
+RDEPENDS:${PN} = " \
+	${PYTHON_PN}-google-auth \
+	${PYTHON_PN}-google-auth-oauthlib \
+	${PYTHON_PN}-strenum \
+	"
+
+inherit pypi python_flit_core