summary refs log tree commit diff
path: root/gnu/packages/python-check.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-21 23:14:29 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:46:09 -0400
commit50b620f119e3aea2876f4b8580a49de059fc038b (patch)
tree46432c5712aec226f149afae3ecf4543b2e7aac4 /gnu/packages/python-check.scm
parentea20078ccb098ee0e5a27cfed7efdf4fe9c7d799 (diff)
downloadguix-50b620f119e3aea2876f4b8580a49de059fc038b.tar.gz
gnu: Add python-beartype.
* gnu/packages/python-check.scm (python-beartype): New variable.
Diffstat (limited to 'gnu/packages/python-check.scm')
-rw-r--r--gnu/packages/python-check.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 41b73172b0..8cabd05dd5 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -70,6 +70,38 @@ Protocol (TAP) in Python.  TAP is a line based test protocol for recording test
 data in a standard way.")
     (license license:bsd-3)))
 
+(define-public python-beartype
+  (package
+    (name "python-beartype")
+    (version "0.10.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "beartype" version))
+       (sha256
+        (base32 "0amzckgw9c93bl4jf0q6322j9wyyf3i8vl03yixfkrpllzv6kv14"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "pytest" "-vv" "beartype_test"
+                             ;; These tests rely on git through the
+                             ;; "get_main_readme_file" helper.
+                             "-k"
+                             (string-append "not test_doc_readme "
+                                            "and not test_sphinx "
+                                            "and not test_pep561_mypy"))))))))
+    (native-inputs
+     (list python-pytest))
+    (home-page "https://github.com/beartype/beartype")
+    (synopsis "Fast runtime type checking for Python")
+    (description "Beartype aims to be a very fast runtime type checking tool
+written in pure Python.")
+    (license license:expat)))
+
 (define-public python-pytest-click
   (package
     (name "python-pytest-click")