summaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm1064
1 files changed, 1018 insertions, 46 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d0401b7bdd..6972e79081 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -56,6 +56,7 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
+;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -908,6 +909,29 @@ version identifier.")
(define-public python2-semantic-version
(package-with-python2 python-semantic-version))
+(define-public python-serpent
+ (package
+ (name "python-serpent")
+ (version "1.27")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "serpent" version))
+ (sha256
+ (base32
+ "04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/irmen/Serpent")
+ (synopsis "Serializer for literal Python expressions")
+ (description
+ "Serpent provides ast.literal_eval() compatible object tree
+serialization. It serializes an object tree into bytes (utf-8 encoded string)
+that can be decoded and then passed as-is to ast.literal_eval() to rebuild it
+as the original object tree. As such it is safe to send serpent data to other
+machines over the network for instance (because only safe literals are
+encoded).")
+ (license license:expat)))
+
(define-public python-setuptools
(package
(name "python-setuptools")
@@ -1048,6 +1072,32 @@ for additional processing.")
(define-public python2-capturer
(package-with-python2 python-capturer))
+(define-public python-case
+ (package
+ (name "python-case")
+ (version "1.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "case" version))
+ (sha256
+ (base32
+ "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)
+ ("python-six" ,python-six)
+ ("python-unittest2" ,python-unittest2)))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)))
+ (home-page "https://github.com/celery/case")
+ (synopsis "Unittest utilities and convenience methods")
+ (description
+ "The @code{case} package provides utilities on top of unittest, including
+some helpful Python 2 compatibility convenience methods.")
+ (license license:bsd-3)))
+
(define-public python-verboselogs
(package
(name "python-verboselogs")
@@ -2268,6 +2318,30 @@ object.")
(define-public python2-pyyaml
(package-with-python2 python-pyyaml))
+(define-public python-vine
+ (package
+ (name "python-vine")
+ (version "1.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vine" version))
+ (sha256
+ (base32
+ "0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-case" ,python-case)))
+ (home-page "https://github.com/celery/vine")
+ (synopsis "Promises for Python")
+ (description
+ "@code{vine} provides a special implementation of promises in that it can
+be used both for \"promise of a value\" and lazy evaluation. The biggest
+upside for this is that everything in a promise can also be a promise,
+e.g. filters, callbacks and errbacks can all be promises.")
+ (license license:bsd-3)))
+
(define-public python-virtualenv
(package
(name "python-virtualenv")
@@ -5977,9 +6051,10 @@ PEP8_PLUGIN('break_before_binary_operator'),"))
(string-append (getcwd) "/build/lib:"
(getenv "PYTHONPATH")))
(zero? (system* "py.test" "-v")))))))
+ (propagated-inputs
+ `(("python-flake8" ,python-flake8)))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-mock" ,python-mock)
+ `(("python-mock" ,python-mock)
("python-pep8" ,python-pep8)
("python-pycodestyle" ,python-pycodestyle)
("python-pytest" ,python-pytest)))
@@ -8196,18 +8271,21 @@ and provides a uniform API regardless of which JSON implementation is used.")
(define-public python-amqp
(package
(name "python-amqp")
- (version "1.4.9")
+ (version "2.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "amqp" version))
(sha256
(base32
- "06n6q0kxhjnbfz3vn8x9yz09lwmn1xi9d6wxp31h5jbks0b4vsid"))))
+ "1sv600dgqwpimr6i1g59y9hpn50mc236gdqkr7zin13kvlpx0g87"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
+ `(("python-case" ,python-case)
+ ("python-pytest-sugar" ,python-pytest-sugar)
("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-vine" ,python-vine)))
(home-page "https://github.com/celery/py-amqp")
(synopsis
"Low-level AMQP client for Python (fork of amqplib)")
@@ -8261,23 +8339,26 @@ applications.")
(define-public python-kombu
(package
(name "python-kombu")
- (version "3.0.37")
+ (version "4.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kombu" version))
(sha256
(base32
- "0l16chb314gpq2v7fh94a22c30lcv6w3ylmhsa60bldlcq6a0r70"))))
+ "15k8f7mzqr049sg9vi48m19vjykviafk3f0p5xzgw9by0x0kyxjj"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ ("python-case" ,python-case)
+ ("python-pyro4" ,python-pyro4)
+ ("python-pytest-sugar" ,python-pytest-sugar)
+ ("python-pytz" ,python-pytz)))
(propagated-inputs
`(("python-anyjson" ,python-anyjson)
("python-amqp" ,python-amqp)
("python-redis" ,python-redis)))
- (home-page "http://kombu.readthedocs.org")
+ (home-page "https://kombu.readthedocs.io")
(synopsis "Message passing library for Python")
(description "The aim of Kombu is to make messaging in Python as easy as
possible by providing an idiomatic high-level interface for the AMQ protocol,
@@ -8303,17 +8384,18 @@ RabbitMQ messaging server is the most popular implementation.")
(define-public python-billiard
(package
(name "python-billiard")
- (version "3.3.0.23")
+ (version "3.5.0.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "billiard" version))
(sha256
(base32
- "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"))))
+ "03msmapj3s5zgqk87d646mafz7a01h5bm2wijalgpi0s80ks5na2"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-case" ,python-case)
+ ("python-pytest" ,python-pytest)))
(home-page "https://github.com/celery/billiard")
(synopsis
"Python multiprocessing fork with improvements and bugfixes")
@@ -8337,31 +8419,35 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
(define-public python-celery
(package
(name "python-celery")
- (version "3.1.24")
+ (version "4.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "celery" version))
(sha256
(base32
- "0yh2prhdnx2dgkb67a5drj12hh2zvzx5f611p7mqqg01ydghif4r"))))
+ "0y66rz7z8dfcgs3s0qxmdddlaq57bzbgxgfz896nbp14grkv9nkp"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ '(;; TODO The tests fail with Python 3.7
+ ;; https://github.com/celery/celery/issues/4849
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
- ;; These tests break with Python 3.5:
- ;; https://github.com/celery/celery/issues/2897#issuecomment-253066295
- (replace 'check
+ (add-after 'unpack 'patch-requirements
(lambda _
- (zero?
- (system* "nosetests" "--exclude=^test_safe_to_remove.*")))))))
+ (substitute* "requirements/test.txt"
+ (("pytest>=3\\.0,<3\\.3")
+ "pytest>=3.0"))
+ #t)))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-case" ,python-case)
+ ("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-pytz" ,python-pytz)
("python-billiard" ,python-billiard)
("python-kombu" ,python-kombu)))
- (home-page "http://celeryproject.org")
+ (home-page "https://celeryproject.org")
(synopsis "Distributed Task Queue")
(description "Celery is an asynchronous task queue/job queue based on
distributed message passing. It is focused on real-time operation, but
@@ -9226,6 +9312,13 @@ graphviz.")
(setenv "CPATH"
(string-append greenlet "/" python)))))
#t))
+ (add-before 'check 'skip-timer-test
+ (lambda _
+ ;; XXX: Skip 'TestTimerResolution', which appears to be
+ ;; unreliable.
+ (substitute* "src/greentest/test__core_timer.py"
+ (("not greentest.RUNNING_ON_CI") "False"))
+ #t))
(replace 'check
(lambda _
;; Make sure the build directory is on PYTHONPATH.
@@ -9266,17 +9359,6 @@ to provide a high-level synchronous API on top of the libev event loop.")
(strip-python2-variant python-gevent))))
(package
(inherit base)
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-before 'check 'skip-timer-test
- (lambda _
- ;; XXX: Skip 'TestTimerResolution', which appears to be
- ;; unreliable.
- (substitute* "src/greentest/test__core_timer.py"
- (("not greentest.RUNNING_ON_CI") "False"))
- #t))))))
(native-inputs `(,@(package-native-inputs python-gevent)
("python-mock" ,python2-mock))))))
@@ -9759,13 +9841,13 @@ addresses, and phone numbers.")
(define-public python-pyaml
(package
(name "python-pyaml")
- (version "17.7.2")
+ (version "18.11.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyaml" version))
(sha256
(base32
- "132grrw0ajq4nrappi3ldbkb952k7yn9b6c7csi2rmvzm1g6ppp2"))))
+ "0fi604ix8lbpj1266q7js6szm771saprdzzcdwmj43wy83694qmr"))))
(build-system python-build-system)
(native-inputs
`(("python-unidecode" ,python-unidecode)))
@@ -9841,20 +9923,25 @@ characters, mouse support, and auto suggestions.")
(define-public python-jedi
(package
(name "python-jedi")
- (version "0.12.1")
+ (version "0.13.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jedi" version))
(sha256
(base32
- "1h8ypnjisn57kiv1zqrkj1im6sbfnhxllqaa8znh39qkd47ys2dl"))))
+ "0j11q42g5vjkyhhjpyy8nb0gdxs78m3rpjai7p1hvgpyl9rkyjdp"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ `( ;; Many tests are failing with Python 3.7.x as of version 0.13.1 (see:
+ ;; https://github.com/davidhalter/jedi/issues/1263)
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
- (replace 'check (lambda _
- (invoke "py.test" "-vv"))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "py.test" "-vv")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-docopt" ,python-docopt)))
@@ -10622,9 +10709,16 @@ useful as a validator for JSON data.")
(base32
"090vdksbz341f7ljvr0zswblw4lspa8qaiikzyjkf318arpxmil9"))))
(build-system python-build-system)
- ;; Test suite requires python-setuptools
- (native-inputs
- `(("python-setuptools" ,python-setuptools)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-pythonpath
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append
+ (getcwd) "/test/"
+ ":" (getenv "PYTHONPATH")))
+ #t)))))
(home-page
"https://github.com/eliben/pyelftools")
(synopsis
@@ -12544,14 +12638,14 @@ validating Swagger API specifications.")
(define-public python-apache-libcloud
(package
(name "python-apache-libcloud")
- (version "2.3.0")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apache-libcloud" version))
(sha256
- (base32
- "15xg79ad4g2xrk081ylvj41k5hmg9hl1xvbmb5hd0fqn08wfwbhf"))))
+ (base32
+ "0daj3mkzw79v5zin2r1s2wkrz1hplfc16bwj4ss68i5qjq4l2p0j"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -13258,6 +13352,28 @@ such as figshare or Zenodo.")
(define-public python2-semver
(package-with-python2 python-semver))
+(define-public python-pyro4
+ (package
+ (name "python-pyro4")
+ (version "4.74")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pyro4" version))
+ (sha256
+ (base32
+ "0pzp7c6q3vvkxq0wy9lr6wd5wky40sajz69g697i5rb2q497pvc9"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-serpent" ,python-serpent)))
+ (home-page "https://pyro4.readthedocs.io")
+ (synopsis "Distributed object middleware for Python")
+ (description
+ "Pyro enables you to build applications in which objects can talk to each
+other over the network. You can just use normal Python method calls to call
+objects on other machines, also known as remote procedure calls (RPC).")
+ (license license:expat)))
+
(define-public python2-pyro
(package
(name "python2-pyro")
@@ -14882,3 +14998,859 @@ RFC 8265 and RFC 8266.")
(description "Simple decorator to set attributes of target function or
class in a @acronym{DRY, Don't Repeat Yourself} way.")
(license license:expat)))
+
+(define-public python-sybil
+ (package
+ (name "python-sybil")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sybil" version))
+ (sha256
+ (base32
+ "13rdznw3fllmj5sy20bwi3ipzm6rv1dnji1yi01m91ig759jacw6"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(;("python-coveralls" ,python-coveralls)
+ ("python-nose" ,python-nose)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/cjw296/sybil")
+ (synopsis
+ "Automated testing for the examples in your documentation.")
+ (description
+ "Automated testing for the examples in your documentation.")
+ (license license:expat)))
+
+(define-public python-sarge
+ (package
+ (name "python-sarge")
+ (version "0.1.5.post0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sarge" version))
+ (sha256
+ (base32
+ "1c1ll7pys9vra5cfi8jxlgrgaql6c27l6inpy15aprgqhc4ck36s"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (home-page "http://sarge.readthedocs.org/")
+ (synopsis
+ "A wrapper for subprocess which provides command pipeline functionality.")
+ (description
+ "A wrapper for subprocess which provides command pipeline functionality.")
+ (license license:bsd-3)))
+
+(define-public python-unidiff
+ (package
+ (name "python-unidiff")
+ (version "0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "unidiff" version))
+ (sha256
+ (base32
+ "1g1501w0ac9plqxd6009ax5c0hi495sv5xnysm68p65njvxvb6lw"))))
+ (build-system python-build-system)
+ (home-page
+ "http://github.com/matiasb/python-unidiff")
+ (synopsis
+ "Unified diff parsing/metadata extraction library.")
+ (description
+ "Unified diff parsing/metadata extraction library.")
+ (license license:expat)))
+
+(define-public python-testfixtures
+ (package
+ (name "python-testfixtures")
+ (version "5.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "testfixtures" version))
+ (sha256
+ (base32
+ "1w581221qbsmc177n7xijqn7wghyaaxxlwd2p34vfcn4jnbfv2ik"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-coverage" ,python-coverage)
+ ;("python-coveralls" ,python-coveralls)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ;("python-pytest-django" ,python-pytest-django)
+ ("python-sybil" ,python-sybil)
+ ("python-zope-component" ,python-zope-component)))
+ (home-page
+ "https://github.com/Simplistix/testfixtures")
+ (synopsis
+ "A collection of helpers and mock objects for unit tests and doc tests.")
+ (description
+ "A collection of helpers and mock objects for unit tests and doc tests.")
+ (license license:expat)))
+
+(define-public python-pyprint
+ (package
+ (name "python-pyprint")
+ (version "0.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyPrint" version))
+ (sha256
+ (base32
+ "1qmhcz8n9rnxkj2ikcc208900yg4p9qglhw50br7carr1ca1q3ps"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)
+ ("python-termcolor" ,python-termcolor)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "")
+ (synopsis
+ "A library providing printing facilities for python applications.")
+ (description
+ "A library providing printing facilities for python applications.")
+ (license #f)))
+
+(define-public python-libclang-py3
+ (package
+ (name "python-libclang-py3")
+ (version "3.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "libclang-py3" version))
+ (sha256
+ (base32
+ "0g2zw3mv8i4s9r3l70a5j3k2c09p9igvap0h6lfwf0w32jz8a65b"))))
+ (build-system python-build-system)
+ (home-page
+ "https://bitbucket.org/Anteru/python3-libclang")
+ (synopsis "Python3 bindings for libclang")
+ (description "Python3 bindings for libclang")
+ (license #f)))
+
+(define-public python-coala-utils
+ (package
+ (name "python-coala-utils")
+ (version "0.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "coala_utils" version))
+ (sha256
+ (base32
+ "0f2bli6acqjz3i5p6a5ykg9r2hkcaxcpq5q36a2jv30wdjkk31z1"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-pyprint" ,python-pyprint)
+ ("python-testfixtures" ,python-testfixtures)))
+ (home-page
+ "https://gitlab.com/coala/coala-utils")
+ (synopsis "A collection of coala utilities.")
+ (description "A collection of coala utilities.")
+ (license #f)))
+
+(define-public python-dependency-management
+ (package
+ (name "python-dependency-management")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dependency_management" version))
+ (sha256
+ (base32
+ "0q5axi5vzla6vfgs8r5mxczih3w0vipa17mqkx2zcirxvy131i7h"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-coala-utils" ,python-coala-utils)
+ ("python-sarge" ,python-sarge)))
+ (home-page "https://gitlab.com/coala/package_manager")
+ (synopsis "coala Dependency Management")
+ (description "coala Dependency Management")
+ (license #f)))
+
+(define-public python-colorlog
+ (package
+ (name "python-colorlog")
+ (version "3.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "colorlog" version))
+ (sha256
+ (base32
+ "0i21sd6pggr2gqza41vyq2rqyb552wf5iwl4bc16i7kqislbd53z"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)))
+ (home-page
+ "https://github.com/borntyping/python-colorlog")
+ (synopsis "Log formatting with colors!")
+ (description "Log formatting with colors!")
+ (license #f)))
+
+(define-public coala
+ (package
+ (name "coala")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "coala" version))
+ (sha256
+ (base32
+ "03mz2alvjf9aki5cpjl9167bd5kw0aqp8yml08lb5170gpsfyjyd"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-requires
+ (lambda _
+ (for-each (lambda (requirement)
+ (substitute* "requirements.txt"
+ (((string-append requirement "~="))
+ (string-append requirement ">="))))
+ '("testfixtures"
+ "libclang-py3"
+ "colorlog"))
+ #t)))))
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-coala-utils" ,python-coala-utils)
+ ("python-colorlog" ,python-colorlog)
+ ("python-dependency-management"
+ ,python-dependency-management)
+ ("python-libclang-py3" ,python-libclang-py3)
+ ("python-packaging" ,python-packaging)
+ ("python-pygments" ,python-pygments)
+ ("python-pyprint" ,python-pyprint)
+ ("python-requests" ,python-requests)
+ ("python-setuptools" ,python-setuptools)
+ ("python-testfixtures" ,python-testfixtures)
+ ("python-unidiff" ,python-unidiff)))
+ (home-page "http://coala.io/")
+ (synopsis
+ "Linting and Fixing Code for All Languages")
+ (description
+ "Linting and Fixing Code for All Languages")
+ (license #f)))
+
+(define-public python-autoflake
+ (package
+ (name "python-autoflake")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "autoflake" version))
+ (sha256
+ (base32
+ "0cfidqg3msagg92l1hbc644nih0n615c5p9ab1s4yr82g956hkd7"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/myint/autoflake")
+ (synopsis
+ "Removes unused imports and unused variables")
+ (description
+ "Removes unused imports and unused variables")
+ (license #f)))
+
+(define-public python-cmakelint
+ (package
+ (name "python-cmakelint")
+ (version "1.3.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cmakelint" version))
+ (sha256
+ (base32
+ "1fb7jlkp6bxx2i80g0z4xl11i927lh74v9bbnkgv9raafqphj9pg"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/richq/cmake-lint")
+ (synopsis "Static code checker for CMake files")
+ (description
+ "Static code checker for CMake files")
+ (license license:asl2.0)))
+
+(define-public python-cppclean
+ (package
+ (name "python-cppclean")
+ (version "0.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cppclean" version))
+ (sha256
+ (base32
+ "05p0qsmrn3zhp33rhdys0ddn8hql6z25sdvbnccqwps8jai5wq2r"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/cppclean")
+ (synopsis
+ "Find problems in C++ source that slow development of large code bases.")
+ (description
+ "Find problems in C++ source that slow development of large code bases.")
+ (license #f)))
+
+(define-public python-cpplint
+ (package
+ (name "python-cpplint")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cpplint" version))
+ (sha256
+ (base32
+ "06b7jf9vii2rp8q05h5h6jsrflrwpv2bd5chrj2drij476f16xk8"))))
+ (build-system python-build-system)
+ (home-page
+ "http://en.wikipedia.org/wiki/Cpplint")
+ (synopsis
+ "An automated checker to make sure a C++ file follows Google's C++ style guide")
+ (description
+ "An automated checker to make sure a C++ file follows Google's C++ style guide")
+ (license #f)))
+
+(define-public python-dennis
+ (package
+ (name "python-dennis")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dennis" version))
+ (sha256
+ (base32
+ "0116hbz6dakwcafcij5hr553gwf7wmg9q1mwmrfwc0vxvbajv54c"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-polib" ,python-polib)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://github.com/willkg/dennis")
+ (synopsis
+ "Utilities for working with PO and POT files to ease development and improve localization quality")
+ (description
+ "Utilities for working with PO and POT files to ease development and improve localization quality")
+ (license #f)))
+
+(define-public python-eradicate
+ (package
+ (name "python-eradicate")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "eradicate" version))
+ (sha256
+ (base32
+ "092zmck919bn6sl31ixrzhn88g9nvhwzmwzpq8dzgn6c8k2h3bzr"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/eradicate")
+ (synopsis "Removes commented-out code.")
+ (description "Removes commented-out code.")
+ (license #f)))
+
+(define-public python-guess-language-spirit
+ (package
+ (name "python-guess-language-spirit")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "guess_language-spirit" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1k4j0xldg741a09lin7iy6sqrah5kr2zcpq5kfvd3gvb4iq09cm9"))))
+ (build-system python-build-system)
+ (home-page
+ "https://bitbucket.org/spirit/guess_language")
+ (synopsis "Guess the natural language of a text")
+ (description
+ "Guess the natural language of a text")
+ (license #f)))
+
+(define-public python-template-remover
+ (package
+ (name "python-template-remover")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "template-remover" version))
+ (sha256
+ (base32
+ "0hgzynfi9z1qjk7qz4nd1620w9m1rjpmd4xjxp0zmbsn7zk1q3s8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docopt" ,python-docopt)))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page
+ "http://github.com/deezer/template-remover")
+ (synopsis
+ "Remove the template markup from html files")
+ (description
+ "Remove the template markup from html files")
+ (license #f)))
+
+(define-public python-html-linter
+ (package
+ (name "python-html-linter")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "html-linter" version))
+ (sha256
+ (base32
+ "148ijk0hisb9b049xgc72gxdil3f0ichkpigasi11j1ggxkssb9l"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docopt" ,python-docopt)
+ ("python-template-remover" ,python-template-remover)))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page "http://github.com/sk-/html-linter")
+ (synopsis
+ "Lints an HTML5 file using Google's style guide")
+ (description
+ "Lints an HTML5 file using Google's style guide")
+ (license #f)))
+
+(define-public python-mypy-lang
+ (package
+ (name "python-mypy-lang")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mypy-lang" version))
+ (sha256
+ (base32
+ "0ibwh1v6f7a0w4hpd3ydw9k7ph74b2lcfwwlli9pzby0vzwg2jq5"))))
+ (build-system python-build-system)
+ (home-page "")
+ (synopsis
+ "Dummy to remind people to switch to 'pip install mypy'")
+ (description
+ "Dummy to remind people to switch to 'pip install mypy'")
+ (license #f)))
+
+(define-public python-proselint
+ (package
+ (name "python-proselint")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "proselint" version))
+ (sha256
+ (base32
+ "1g8vx04gmv0agmggz1ml5vydfppqvl8dzjvqm6vqw5rzafa89m08"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-future" ,python-future)
+ ("python-click" ,python-click)))
+ (home-page
+ "http://github.com/amperser/proselint")
+ (synopsis "A linter for prose")
+ (description "A linter for prose")
+ (license license:bsd-3)))
+
+(define-public python-pydocstyle
+ (package
+ (name "python-pydocstyle")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pydocstyle" version))
+ (sha256
+ (base32
+ "15ssv8l6cvrmzgwcdzw76rnl4np3qf0dbwr1wsx76y0hc7lwsnsd"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-configparser" ,python-configparser)
+ ("python-six" ,python-six)
+ ("python-snowballstemmer"
+ ,python-snowballstemmer)))
+ (home-page
+ "https://github.com/PyCQA/pydocstyle/")
+ (synopsis "Python docstring style checker")
+ (description "Python docstring style checker")
+ (license license:expat)))
+
+(define-public python-pyroma
+ (package
+ (name "python-pyroma")
+ (version "2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyroma" version))
+ (sha256
+ (base32
+ "0ncnmrqs19jma2q5yz1sh0lcllvg8m96p78bxm50k6bzfc52h07x"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docutils" ,python-docutils)))
+ (home-page "https://github.com/regebro/pyroma")
+ (synopsis
+ "Test your project's packaging friendliness")
+ (description
+ "Test your project's packaging friendliness")
+ (license license:expat)))
+
+(define-public python-restructuredtext-lint
+ (package
+ (name "python-restructuredtext-lint")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "restructuredtext_lint" version))
+ (sha256
+ (base32
+ "0ds05cc5qx1gagwy3cvr93pckvgsvi3zwhgh14l2cari9jlak364"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-docutils"
+ ,python-docutils)))
+ (home-page
+ "https://github.com/twolfson/restructuredtext-lint")
+ (synopsis "reStructuredText linter")
+ (description "reStructuredText linter")
+ (license #f)))
+
+(define-public python-rstcheck
+ (package
+ (name "python-rstcheck")
+ (version "3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rstcheck" version))
+ (sha256
+ (base32
+ "1pr1zcd77fj97q6kiz5rfs0nrz1mjwijr4jylcvfk9ca6cyqjnhm"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docutils"
+ ,python-docutils)))
+ (home-page "https://github.com/myint/rstcheck")
+ (synopsis
+ "Checks syntax of reStructuredText and code blocks nested within it")
+ (description
+ "Checks syntax of reStructuredText and code blocks nested within it")
+ (license #f)))
+
+(define-public python-dparse
+ (package
+ (name "python-dparse")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dparse" version))
+ (sha256
+ (base32
+ "10pm9q5r97828rml3pzi428ihf2cpaiw25hssgbax0zxv1sr37vw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-packaging" ,python-packaging)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/jayfk/dparse")
+ (synopsis "A parser for Python dependency files")
+ (description
+ "A parser for Python dependency files")
+ (license license:expat)))
+
+(define-public python-safety
+ (package
+ (name "python-safety")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "safety" version))
+ (sha256
+ (base32
+ "0yipd9bpxs600dckkr91i51hscs5x9qidi1nbs1367brmmv4n37z"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-dparse" ,python-dparse)
+ ("python-packaging" ,python-packaging)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/pyupio/safety")
+ (synopsis
+ "Safety checks your installed dependencies for known security vulnerabilities.")
+ (description
+ "Safety checks your installed dependencies for known security vulnerabilities.")
+ (license license:expat)))
+
+(define-public python-scspell3k
+ (package
+ (name "python-scspell3k")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "scspell3k" version))
+ (sha256
+ (base32
+ "02dp70ikvb2yw839cycjksyi1izvfjlwjps74fh3279asa59m2d9"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/scspell")
+ (synopsis
+ "A conservative interactive spell checker for source code.")
+ (description
+ "A conservative interactive spell checker for source code.")
+ (license #f)))
+
+(define-public python-ansicolor
+ (package
+ (name "python-ansicolor")
+ (version "0.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ansicolor" version))
+ (sha256
+ (base32
+ "078zsfx1wchz9l9brp5nz623adydwqxabg4zd4qyszfxp43inzni"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/numerodix/ansicolor")
+ (synopsis
+ "A library to produce ansi color output and colored highlighting and diffing")
+ (description
+ "A library to produce ansi color output and colored highlighting and diffing")
+ (license #f)))
+
+(define-public python-vim-vint
+ (package
+ (name "python-vim-vint")
+ (version "0.3.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vim-vint" version))
+ (sha256
+ (base32
+ "0w038bgic7rdim60rhwrx3gwj33lgmhad8shpvcl2iy6fy8rpp7y"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-ansicolor" ,python-ansicolor)
+ ("python-chardet" ,python-chardet)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://github.com/Kuniwak/vint")
+ (synopsis "Lint tool for Vim script Language")
+ (description "Lint tool for Vim script Language")
+ (license #f)))
+
+(define-public python-vulture
+ (package
+ (name "python-vulture")
+ (version "0.26")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vulture" version))
+ (sha256
+ (base32
+ "1884vymmlwnpw2naam5xn3cn7w74sn24yvpkf9n567sb3kkzmc49"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ (home-page
+ "https://github.com/jendrikseipp/vulture")
+ (synopsis "Find dead code")
+ (description "Find dead code")
+ (license license:expat)))
+
+(define-public python-pathspec
+ (package
+ (name "python-pathspec")
+ (version "0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathspec" version))
+ (sha256
+ (base32
+ "1lyhyc6ps4imcj4f99c3njqf3wk2c0f6szrhkqhp8rp7pg8rbi3j"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/cpburnz/python-path-specification")
+ (synopsis
+ "Utility library for gitignore style pattern matching of file paths.")
+ (description
+ "Utility library for gitignore style pattern matching of file paths.")
+ (license #f)))
+
+(define-public python-yamllint
+ (package
+ (name "python-yamllint")
+ (version "1.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "yamllint" version))
+ (sha256
+ (base32
+ "114nbzy8s9sr9czxx7g64p8naf46zgk2cab0df00l3sz6bmcmkq5"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pathspec" ,python-pathspec)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page
+ "https://github.com/adrienverge/yamllint")
+ (synopsis "A linter for YAML files.")
+ (description "A linter for YAML files.")
+ (license #f)))
+
+(define-public python-munkres3
+ (package
+ (name "python-munkres3")
+ (version "1.0.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "munkres3" version))
+ (sha256
+ (base32
+ "1kyc4nqrff1zri6ky96s4msls7263jy8rp7hid2q1dcnjb9i1hgp"))))
+ (build-system python-build-system)
+ (home-page
+ "http://github.com/datapublica/munkres")
+ (synopsis
+ "munkres algorithm for the Assignment Problem. Python 3 port.")
+ (description
+ "munkres algorithm for the Assignment Problem. Python 3 port.")
+ (license #f)))
+
+(define-public coala-bears
+ (package
+ (name "coala-bears")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "coala-bears" version))
+ (sha256
+ (base32
+ "08jlf9jxch1i27kgfmqhnn8qdxzbi2v2l8fwpnc621s6br5k13wl"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-requires
+ (lambda _
+ (for-each (lambda (requirement)
+ (substitute* "bear-requirements.txt"
+ (((string-append requirement "(=|~)="))
+ (string-append requirement ">="))))
+ '("autoflake"
+ "click"
+ "eradicate"
+ "html-linter"
+ "mypy-lang"
+ "proselint"
+ "pydocstyle"
+ "pyflakes"
+ "pyroma"
+ "radon"
+ "restructuredtext-lint"
+ "rstcheck"
+ "safety"
+ "vulture"
+ "yamllint"
+ "yapf"))
+ #t)))))
+ (propagated-inputs
+ `(;;("python-aenum" ,python-aenum)
+ ;; ("python-apertium-lint" ,python-apertium-lint)
+ ("python-autoflake" ,python-autoflake)
+ ("python-autopep8" ,python-autopep8)
+ ("python-bandit" ,python-bandit)
+ ("python-click" ,python-click)
+ ("python-cmakelint" ,python-cmakelint)
+ ("coala" ,coala)
+ ("python-cppclean" ,python-cppclean)
+ ("python-cpplint" ,python-cpplint)
+ ("python-dennis" ,python-dennis)
+ ;; ("python-docutils-ast-writer"
+ ;; ,python-docutils-ast-writer)
+ ("python-eradicate" ,python-eradicate)
+ ("python-guess-language-spirit"
+ ,python-guess-language-spirit)
+ ("python-html-linter" ,python-html-linter)
+ ;; ("python-httpolice" ,python-httpolice)
+ ("python-isort" ,python-isort)
+ ;; ("python-memento-client" ,python-memento-client)
+ ("python-munkres3" ,python-munkres3)
+ ("python-mypy-lang" ,python-mypy-lang)
+ ("python-nbformat" ,python-nbformat)
+ ("python-nltk" ,python-nltk)
+ ("python-proselint" ,python-proselint)
+ ("python-pycodestyle" ,python-pycodestyle)
+ ("python-pydocstyle" ,python-pydocstyle)
+ ("python-pyflakes" ,python-pyflakes)
+ ("python-pylint" ,python-pylint)
+ ("python-pyroma" ,python-pyroma)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-radon" ,python-radon)
+ ("python-restructuredtext-lint"
+ ,python-restructuredtext-lint)
+ ("python-rstcheck" ,python-rstcheck)
+ ("python-safety" ,python-safety)
+ ("python-scspell3k" ,python-scspell3k)
+ ("python-vim-vint" ,python-vim-vint)
+ ("python-vulture" ,python-vulture)
+ ("python-yamllint" ,python-yamllint)
+ ("python-yapf" ,python-yapf)
+ ))
+ (home-page "http://coala.rtfd.org/")
+ (synopsis
+ "Bears for coala (Code Analysis Application)")
+ (description
+ "Bears for coala (Code Analysis Application)")
+ (license #f)))