aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorAntero Mejr <antero@mailbox.org>2023-05-23 16:14:46 +0000
committerjgart <jgart@dismail.de>2023-05-23 12:29:48 -0500
commit297ba5c15a32845ab8514aeb6f405ebd4290142d (patch)
treee3da5d3ce25c499d85f1f5ef74273b02a6896547 /gnu/packages
parentcb193c0dd1deb89f9d7db4d065e3dc66d1168c1c (diff)
downloadguix-297ba5c15a32845ab8514aeb6f405ebd4290142d.tar.gz
guix-297ba5c15a32845ab8514aeb6f405ebd4290142d.zip
gnu: Add python-vulture.
* gnu/packages/python-check.scm (python-vulture): New variable. Signed-off-by: jgart <jgart@dismail.de>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/python-check.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 6c5f45d4b5..468a339788 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2599,3 +2599,36 @@ the X11 display server protocol. It runs in memory and does not require a
physical display. Only a network layer is necessary. Xvfb is useful for
running acceptance tests on headless servers.")
(license license:expat)))
+
+(define-public python-vulture
+ (package
+ (name "python-vulture")
+ (version "2.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "vulture" version))
+ (sha256
+ (base32
+ "0cl0v3dadxvff0pgq1j120m064a3nmnbjjylkmcxp7zd2jh81yv7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "tests" "-k"
+ ;; skip test that uses python-pint
+ ;; pint has many dependencies
+ "not test_whitelists_with_python")))))))
+ (native-inputs (list python-pytest python-pytest-cov))
+ (propagated-inputs (list python-toml))
+ (home-page "https://github.com/jendrikseipp/vulture")
+ (synopsis "Find dead Python code")
+ (description
+ "Vulture finds unused code in Python programs. This is useful for
+cleaning up and finding errors in large code bases. If you run Vulture on
+both your library and test suite you can find untested code. Due to Python's
+dynamic nature, static code analyzers like Vulture are likely to miss some
+dead code. Also, code that is only called implicitly may be reported as
+unused.")
+ (license license:expat)))