diff options
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r-- | gnu/packages/python.scm | 1064 |
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))) |