diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a0e99340ccd9..457065276be5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51702,17 +51702,17 @@ (define-public rust-pyo3-macros-0.15
         ("rust-syn" ,rust-syn-1))))
     (native-inputs (list python))))
 
-(define-public rust-pyo3-0.20
+(define-public rust-pyo3-0.21
   (package
     (name "rust-pyo3")
-    (version "0.20.2")
+    (version "0.21.2")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pyo3" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1q3g7ppg2qskigbgqg3w9280klkil5is9hhyps1ykl2hb1xdr2cs"))))
+        (base32 "1n39y183jfqbyvimscqr0ysxxa6804pn46ivw048ww91lnb0pq55"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
@@ -51729,9 +51729,9 @@ (define-public rust-pyo3-0.20
                        ("rust-num-bigint" ,rust-num-bigint-0.4)
                        ("rust-num-complex" ,rust-num-complex-0.4)
                        ("rust-parking-lot" ,rust-parking-lot-0.12)
-                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.20)
-                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.20)
-                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.20)
+                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.21)
+                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.21)
+                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.21)
                        ("rust-rust-decimal" ,rust-rust-decimal-1)
                        ("rust-serde" ,rust-serde-1)
                        ("rust-smallvec" ,rust-smallvec-1)
@@ -51754,6 +51754,50 @@ (define-public rust-pyo3-0.20
 Python code from a Rust binary is also supported.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-pyo3-0.20
+  (package
+    (inherit rust-pyo3-0.21)
+    (name "rust-pyo3")
+    (version "0.20.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pyo3" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0cw2pgab0pq5gd98nhv18xgxvyigygspla6c8mfycmwisjbbpgak"))))
+    (arguments
+     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+                       ("rust-cfg-if" ,rust-cfg-if-1)
+                       ("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-either" ,rust-either-1)
+                       ("rust-eyre" ,rust-eyre-0.6)
+                       ("rust-hashbrown" ,rust-hashbrown-0.14)
+                       ("rust-indexmap" ,rust-indexmap-2)
+                       ("rust-indoc" ,rust-indoc-2)
+                       ("rust-inventory" ,rust-inventory-0.3)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-memoffset" ,rust-memoffset-0.9)
+                       ("rust-num-bigint" ,rust-num-bigint-0.4)
+                       ("rust-num-complex" ,rust-num-complex-0.4)
+                       ("rust-parking-lot" ,rust-parking-lot-0.12)
+                       ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.20)
+                       ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.20)
+                       ("rust-pyo3-macros" ,rust-pyo3-macros-0.20)
+                       ("rust-rust-decimal" ,rust-rust-decimal-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-smallvec" ,rust-smallvec-1)
+                       ("rust-unindent" ,rust-unindent-0.2))
+       #:cargo-development-inputs (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
+                                   ("rust-chrono" ,rust-chrono-0.4)
+                                   ("rust-proptest" ,rust-proptest-1)
+                                   ("rust-rayon" ,rust-rayon-1)
+                                   ("rust-send-wrapper" ,rust-send-wrapper-0.6)
+                                   ("rust-serde" ,rust-serde-1)
+                                   ("rust-serde-json" ,rust-serde-json-1)
+                                   ("rust-trybuild" ,rust-trybuild-1)
+                                   ("rust-widestring" ,rust-widestring-0.5))))))
+
 (define-public rust-pyo3-0.19
   (package
     (inherit rust-pyo3-0.20)
