diff --git a/meta-python/recipes-devtools/python/python3-cbor2-crates.inc b/meta-python/recipes-devtools/python/python3-cbor2-crates.inc
new file mode 100644
index 0000000000..b7b94b8da1
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-cbor2-crates.inc
@@ -0,0 +1,56 @@
+# Autogenerated with 'bitbake -c update_crates python3-cbor2'
+
+# from rust/Cargo.lock
+SRC_URI += " \
+    crate://crates.io/autocfg/1.5.0 \
+    crate://crates.io/bigdecimal/0.4.10 \
+    crate://crates.io/cfg-if/1.0.4 \
+    crate://crates.io/crunchy/0.2.4 \
+    crate://crates.io/half/2.7.1 \
+    crate://crates.io/heck/0.5.0 \
+    crate://crates.io/libc/0.2.182 \
+    crate://crates.io/libm/0.2.16 \
+    crate://crates.io/num-bigint/0.4.6 \
+    crate://crates.io/num-integer/0.1.46 \
+    crate://crates.io/num-traits/0.2.19 \
+    crate://crates.io/once_cell/1.21.3 \
+    crate://crates.io/portable-atomic/1.13.1 \
+    crate://crates.io/proc-macro2/1.0.106 \
+    crate://crates.io/pyo3/0.28.2 \
+    crate://crates.io/pyo3-build-config/0.28.2 \
+    crate://crates.io/pyo3-ffi/0.28.2 \
+    crate://crates.io/pyo3-macros/0.28.2 \
+    crate://crates.io/pyo3-macros-backend/0.28.2 \
+    crate://crates.io/quote/1.0.44 \
+    crate://crates.io/syn/2.0.117 \
+    crate://crates.io/target-lexicon/0.13.5 \
+    crate://crates.io/unicode-ident/1.0.24 \
+    crate://crates.io/zerocopy/0.8.40 \
+    crate://crates.io/zerocopy-derive/0.8.40 \
+"
+
+SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
+SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695"
+SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
+SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
+SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
+SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
+SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
+SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
+SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
+SRC_URI[pyo3-0.28.2.sha256sum] = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1"
+SRC_URI[pyo3-build-config-0.28.2.sha256sum] = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7"
+SRC_URI[pyo3-ffi-0.28.2.sha256sum] = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc"
+SRC_URI[pyo3-macros-0.28.2.sha256sum] = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e"
+SRC_URI[pyo3-macros-backend-0.28.2.sha256sum] = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a"
+SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
+SRC_URI[syn-2.0.117.sha256sum] = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
+SRC_URI[target-lexicon-0.13.5.sha256sum] = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
+SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
+SRC_URI[zerocopy-0.8.40.sha256sum] = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5"
+SRC_URI[zerocopy-derive-0.8.40.sha256sum] = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953"
diff --git a/meta-python/recipes-devtools/python/python3-cbor2_5.9.0.bb b/meta-python/recipes-devtools/python/python3-cbor2_6.1.1.bb
similarity index 65%
rename from meta-python/recipes-devtools/python/python3-cbor2_5.9.0.bb
rename to meta-python/recipes-devtools/python/python3-cbor2_6.1.1.bb
index 42d661ead3..4b4406ffbf 100644
--- a/meta-python/recipes-devtools/python/python3-cbor2_5.9.0.bb
+++ b/meta-python/recipes-devtools/python/python3-cbor2_6.1.1.bb
@@ -3,9 +3,13 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a79e64179819c7ce293372c059f1dbd8"
 DEPENDS += "python3-setuptools-scm-native"
 
-SRC_URI[sha256sum] = "85c7a46279ac8f226e1059275221e6b3d0e370d2bb6bd0500f9780781615bcea"
+SRC_URI[sha256sum] = "6f0644869e0fdcd6f3874330b8f1cebd009f33191de43acf609dc2409cd362c4"
 
-inherit pypi python_setuptools_build_meta ptest-python-pytest
+inherit pypi python_setuptools3_rust cargo-update-recipe-crates ptest-python-pytest
+
+CARGO_SRC_DIR = "rust"
+
+require ${BPN}-crates.inc
 
 RDEPENDS:${PN}-ptest += " \
     python3-hypothesis \
