summary refs log tree commit diff
diff options
context:
space:
mode:
authorMalte Frank Gerdes <malte.f.gerdes@gmail.com>2022-04-07 18:09:12 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2022-04-07 18:35:38 +0200
commit504dd8b6960705e032ac6fa860f57e3ce3808dba (patch)
tree26ecf8009cfec0945d8fbc1f4b3465c14a8b84da
parent8d2493dda175213801741704e3c0e00d85edce07 (diff)
downloadguix-504dd8b6960705e032ac6fa860f57e3ce3808dba.tar.gz
gnu: Add python-pyinstrument.
* gnu/packages/python-check.scm (python-pyinstrument): New variable.

Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
-rw-r--r--gnu/packages/python-check.scm33
1 files changed, 32 insertions, 1 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 5bbe544113..02e1b5a9d7 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -11,8 +11,9 @@
 ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
+;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -244,6 +245,36 @@ nosetests, etc...) in Python projects.")
 result documents that can be read by tools such as Jenkins or Bamboo.")
       (license license:expat))))
 
+(define-public python-pyinstrument
+  (package
+    (name "python-pyinstrument")
+    (version "4.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyinstrument" version))
+       (sha256
+        (base32 "18n3waxsxcd48pmcp8158s5rlancll2000amrdck9zfj5hfpkhhx"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-flaky
+           python-pytest
+           python-pytest-asyncio
+           python-pytest-trio))
+    (arguments
+     `(;; TODO: Get tests to work.
+       #:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "pytest" "-vv")))))))
+    (home-page "https://github.com/joerick/pyinstrument")
+    (synopsis "Call stack profiler for Python")
+    (description
+     "Pyinstrument is a Python profiler to help you optimize your code.")
+    (license license:bsd-3)))
+
 (define-public python-vcrpy
   (package
     (name "python-vcrpy")