diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 50911673b2..70db8445ee 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -362,6 +362,55 @@ framework.")
 framework.")
     (license license:expat)))
 
+(define-public python-pytest-benchmark
+  (package
+  (name "python-pytest-benchmark")
+  (version "3.2.3")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "pytest-benchmark" version))
+      (sha256
+        (base32
+          "0a4mpb4j73dsyk47hd1prrjpfk4r458s102cn80rf253jg818hxd"))))
+  (build-system python-build-system)
+  (native-inputs
+    `(("python-pathlib2" ,python-pathlib2)
+      ("python-py-cpuinfo" ,python-py-cpuinfo)
+      ("python-pytest" ,python-pytest)))
+  (home-page "https://github.com/ionelmc/pytest-benchmark")
+  (synopsis
+    "Pytest fixture for benchmarking code")
+  (description
+    "This pytest fixture will group the tests into rounds that are calibrated to
+the chosen timer.")
+  (license license:bsd-2)))
+
+(define-public python-pytest-flask
+  (package
+  (name "python-pytest-flask")
+  (version "1.0.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "pytest-flask" version))
+      (sha256
+        (base32
+          "1hln7mwgdzfi5ma0kqfsi768l7p24jhkw8l0imhifwy08nh7hmjd"))))
+  (build-system python-build-system)
+  (native-inputs
+    `(("python-flask" ,python-flask)
+      ("python-pytest" ,python-pytest)
+      ("python-setuptools-scm" ,python-setuptools-scm)
+      ("python-werkzeug" ,python-werkzeug)))
+  (home-page
+    "https://github.com/pytest-dev/pytest-flask")
+  (synopsis
+    "Pytest fixtures to test Flask applications")
+  (description
+   "This pytest plugin provides some fixtures to simplify app testing.")
+  (license license:expat)))
+
 (define-public python-codacy-coverage
   (package
     (name "python-codacy-coverage")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 00caf7f229..c1658052d8 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4024,3 +4024,52 @@ request/response web apps to larger, grown applications.")
 than 326,000 known user-agents.  Users can pick a random one, or select one
 based on filters.")
     (license license:expat)))
+
+(define-public python-flask-restx
+  (package
+  (name "python-flask-restx")
+  (version "0.2.0")
+  (source
+   ;; We fetch from the Git repo because there are no tests in the PyPI
+   ;; archive.
+   (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/python-restx/flask-restx")
+           (commit version)))
+     (file-name (git-file-name name version))
+     (sha256
+      (base32 "0xf2vkmdngp9cv9klznizai4byxjcf0iqh1pr4b83nann0jxqwy7"))))
+  (build-system python-build-system)
+  (propagated-inputs
+   `(("python-aniso8601" ,python-aniso8601)
+     ("python-flask" ,python-flask)
+     ("python-jsonschema" ,python-jsonschema)
+     ("python-pytz" ,python-pytz)))
+  (native-inputs
+   `(("python-blinker" ,python-blinker)
+      ("python-faker" ,python-faker)
+      ("python-pytest" ,python-pytest)
+      ("python-pytest-benchmark"
+       ,python-pytest-benchmark)
+      ("python-pytest-flask" ,python-pytest-flask)
+      ("python-pytest-mock" ,python-pytest-mock)))
+  (arguments
+   `(#:phases
+     (modify-phases %standard-phases
+       (replace 'check
+         (lambda _
+           (invoke "pytest" "--benchmark-skip" "-k"
+                   ;; Those tests need internet access
+                   "not test_check and not test_valid_value_check"))))))
+  (home-page
+    "https://github.com/python-restx/flask-restx")
+  (synopsis
+    "Framework for fast, easy and documented API development with Flask")
+  (description
+    "Flask-RESTX is an extension for Flask that adds support for quickly building
+REST APIs.  Flask-RESTX encourages best practices with minimal setup.  If you are familiar
+ with Flask, Flask-RESTX should be easy to pick up.  It provides a coherent collection of
+decorators and tools to describe your API and expose its documentation properly using
+Swagger.")
+  (license license:bsd-3)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1b32e7e2a8..d8552276fc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -20076,6 +20076,26 @@ It builds upon tmux's target and formats to create an object mapping to traverse
 using multi-select lists, confirmations, free text prompts, completion, etc.")
   (license license:expat)))
 
+(define-public python-py-cpuinfo
+  (package
+  (name "python-py-cpuinfo")
+  (version "5.0.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "py-cpuinfo" version))
+      (sha256
+        (base32
+          "0045y6832gqjg63jmw0qj2jwyypgjwr7sfdq3lfv49b6fxpl5xic"))))
+  (build-system python-build-system)
+  (home-page
+    "https://github.com/workhorsy/py-cpuinfo")
+  (synopsis "Get CPU info with pure Python 2 & 3")
+  (description
+    "This module returns the CPU info by using the best sources of information for
+ your OS.")
+  (license license:expat)))
+
 (define-public python-daemux
   (package
     (name "python-daemux")
