summaryrefslogtreecommitdiff
path: root/gnu/packages/python-check.scm
diff options
context:
space:
mode:
authorNguyễn Gia Phong <cnx@loang.net>2026-01-19 21:27:08 +0900
committerAndreas Enge <andreas@enge.fr>2026-02-07 12:28:32 +0100
commit81df280103e692725a3983689f1a7a622d31dfc2 (patch)
treedf128f1eea74be4799dacf6dc7fa7f42b06c3546 /gnu/packages/python-check.scm
parentb984aaab6028ac298cb08e3ea51f1823ad8210b4 (diff)
gnu: Add python-blockbuster.
* gnu/packages/python-check.scm (python-blockbuster): Add variable. Change-Id: I7cbdea1d62f700d75d92b8fd98929dc716e038e0 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/python-check.scm')
-rw-r--r--gnu/packages/python-check.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 4d1b3605ea9..04a7a3bc36a 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -481,6 +481,42 @@ all the files it generates a report.")
written in pure Python.")
(license license:expat)))
+(define-public python-blockbuster
+ (package
+ (name "python-blockbuster")
+ (version "1.5.26")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cbornet/blockbuster")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16ycwblivp6d7s78sxq97f9xb4vxcjfr5srxhpkpssv770lp37fs"))))
+ (build-system pyproject-build-system)
+ ;; test_ssl_socket wants to connects to the Internet.
+ (arguments (list #:test-flags #~'("-k" "not test_ssl_socket")))
+ (native-inputs (list python-hatchling
+ python-pytest
+ python-pytest-asyncio
+ python-requests))
+ (propagated-inputs (list python-forbiddenfruit))
+ (home-page "https://github.com/cbornet/blockbuster")
+ (synopsis "Utility to detect blocking calls in Python async event loop")
+ (description
+ "Blockbuster is a Python package designed to detect and prevent
+blocking calls within an asynchronous event loop. It is particularly useful
+when executing tests to ensure that your asynchronous code
+does not inadvertently call blocking operations,
+which can lead to performance bottlenecks and unpredictable behavior.
+
+It does this by wrapping common blocking functions
+and raising an exception when they are called within an asynchronous context.
+Note that Blockbuster currently only detects @code{asyncio} event loops
+and is tested only with CPython.")
+ (license license:asl2.0)))
+
(define-public python-codacy-coverage
(package
(name "python-codacy-coverage")