aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuriithi Frederick Muriuki <fredmanglis@gmail.com>2017-06-24 06:56:13 +0300
committerLudovic Courtès <ludo@gnu.org>2017-09-02 00:58:11 +0200
commit2038a48f4d68fd0a15922abb86a4402419d0e20c (patch)
tree4ba74e009e8d88fd57379df260fefe0cbd154334
parent6106d195a2cb8d3a8dc7aea4f06a0e4bfc02be05 (diff)
downloadguix-2038a48f4d68fd0a15922abb86a4402419d0e20c.tar
guix-2038a48f4d68fd0a15922abb86a4402419d0e20c.tar.gz
gnu: Add python-xenon.
* gnu/packages/python.scm (python-xenon, python2-xenon) New variables. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/python.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 30d67b102f..346faf434c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -16057,6 +16057,51 @@ pure Python module.")
(define-public python2-rencode
(package-with-python2 python-rencode))
+(define-public python-xenon
+ (package
+ (name "python-xenon")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xenon" version))
+ (sha256
+ (base32
+ "14kby2y48vp3sgwxqlm5d5789yibqwb1qli5fwcmdqg3iayrbklc"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pyyaml" ,python-pyyaml)
+ ("python-radon" ,python-radon)
+ ("python-requests" ,python-requests)
+ ("python-flake8" ,python-flake8)
+ ("python-tox" ,python-tox)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-test-requirements
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Update requirements from dependency==version to
+ ;; dependency>=version.
+ (substitute* "requirements.txt"
+ (("==") ">=")
+ ((",<1.5.0") ""))
+ ;; Remove httpretty dependency for tests.
+ (substitute* "setup.py"
+ (("httpretty") ""))
+ #t)))))
+ (home-page "https://xenon.readthedocs.org/")
+ (synopsis "Monitor code metrics for Python on your CI server")
+ (description
+ "Xenon is a monitoring tool based on Radon. It monitors code complexity.
+Ideally, @code{xenon} is run every time code is committed. Through command
+line options, various thresholds can be set for the complexity of code. It
+will fail (i.e. it will exit with a non-zero exit code) when any of these
+requirements is not met.")
+ (license license:expat)))
+
+(define-public python2-xenon
+ (package-with-python2 python-xenon))
+
(define-public python-flask-principal
(package
(name "python-flask-principal")