diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-05-24 12:05:47 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-05-24 12:05:47 +0200 |
commit | d1a914082b7e53636f9801769ef96218b2125c4b (patch) | |
tree | 998805fc59fe0b1bb105b24a6a79fff646257d96 /gnu/packages/python.scm | |
parent | 657fb6c947d94cf946f29cd24e88bd080c01ff0a (diff) | |
parent | ae548434337cddf9677a4cd52b9370810b2cc9b6 (diff) | |
download | guix-patches-d1a914082b7e53636f9801769ef96218b2125c4b.tar guix-patches-d1a914082b7e53636f9801769ef96218b2125c4b.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r-- | gnu/packages/python.scm | 751 |
1 files changed, 713 insertions, 38 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9863d1cf6b..54dc493904 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -36,7 +36,9 @@ ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> -;;; Copyright © 2017 humanitiesNerd <catonano@gmail.com> +;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> +;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> +;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -529,14 +531,14 @@ John the Ripper).") (define-public python-paramiko (package (name "python-paramiko") - (version "1.16.0") + (version "1.17.4") (source (origin (method url-fetch) (uri (pypi-uri "paramiko" version)) (sha256 (base32 - "14k8z7ndc3zk5xivnm4d8lncchx475ll5izpf8vmfbq7rp9yp5rj")))) + "1rs2qcmskcmq66q6g5al08wa41l9am0fad5r719m8wf91msyylqw")))) (build-system python-build-system) (arguments '(;; FIXME: One test fails with "EOFError not raised by connect". @@ -1107,14 +1109,14 @@ Python file, so it can be easily copied into your project.") (define-public python-dateutil (package (name "python-dateutil") - (version "2.5.3") + (version "2.6.0") (source (origin (method url-fetch) (uri (pypi-uri "python-dateutil" version)) (sha256 (base32 - "1v9j9fmf8g911yg6k01xa2db6dx3wv73zkk7fncsj7vagjqgs20l")))) + "1lhq0hxjc3cfha101q02ld5ijlpfyjn2w1yh7wvpiy367pgzi8k2")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) @@ -1352,7 +1354,8 @@ Python 3.3+.") (build-system python-build-system) (arguments `(#:python ,python-2 #:tests? #f)) ; invalid command "test" - (home-page "https://fedorahosted.org/dogtail/") + ;; Currently no offical homepage. + (home-page "https://pypi.python.org/pypi/dogtail/") (synopsis "GUI test tool and automation framework written in Python") (description "Dogtail is a GUI test tool and automation framework written in Python. @@ -1842,14 +1845,14 @@ and many external plugins.") (define-public python-pytest-cov (package (name "python-pytest-cov") - (version "2.2.1") + (version "2.4.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-cov" version)) (sha256 (base32 - "1yl4nbhzfgsxqlsyk4clafgp9x11zvgrkprm9i2p3fgkwx9jxcm8")))) + "03c2qc42r4bczyw93gd7n0qi1h1jfhw7fnbhi33c3vp1hs81gm2k")))) (build-system python-build-system) (arguments `(#:phases @@ -1878,14 +1881,14 @@ supports coverage of subprocesses.") (define-public python-pytest-runner (package (name "python-pytest-runner") - (version "2.6.2") + (version "2.11.1") (source (origin (method url-fetch) (uri (pypi-uri "pytest-runner" version)) (sha256 (base32 - "1nwcqx0l3fv52kv8526wy8ypzghbq96c96di318d98d3wh7a8xg7")))) + "1cw978kqqcq916b9gfns1qjqvg33c5ail5jhw9054dsynkm32flq")))) (build-system python-build-system) (arguments `(#:phases @@ -2640,7 +2643,7 @@ version numbers.") (build-system python-build-system) (propagated-inputs `(("python-chardet" ,python-chardet))) - (home-page "https://fedorahosted.org/kitchen") + (home-page "https://github.com/fedora-infra/kitchen") (synopsis "Python API for snippets") (description "@code{kitchen} module provides a python API for all sorts of little useful snippets of code that everybody ends up writing for their projects @@ -3374,15 +3377,13 @@ mining and data analysis.") (define-public python-rq (package (name "python-rq") - (version "0.5.2") + (version "0.7.1") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/r/rq/rq-" - version ".tar.gz")) + (uri (pypi-uri "rq" version)) (sha256 - (base32 "0b0z5hn8wkfg300hx7816csgv3bcfamlr29fi3yzgqmpqxwj3fix")))) + (base32 "0gaq5pnh0zy46r8jvygi0ifbvz3pq6i7xla78ijcgjw0x77qzsdh")))) (build-system python-build-system) (propagated-inputs `(("python-click" ,python-click) @@ -3401,14 +3402,15 @@ is designed to have a low barrier to entry.") (define-public python-cython (package (name "python-cython") - (version "0.24.1") + (version "0.25.2") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) + (patches (search-patches "python-cython-fix-tests-32bit.patch")) (sha256 (base32 - "1fg7fmpvfcq9md4ncyqnnylyjy4z3ksdrshzis95g1sh03d8z044")))) + "01h3lrf6d98j07iakifi81qjszh6faa37ibx7ylva1vsqbwx2hgi")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -4215,6 +4217,38 @@ routines such as routines for numerical integration and optimization.") (package-with-python2 (strip-python2-variant python-scipy))) +(define-public python-sockjs-tornado + (package + (name "python-sockjs-tornado") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sockjs-tornado" version)) + (sha256 + (base32 + "16cff40nniqsyvda1pb2j3b4zwmrw7y2g1vqq78lp20xpmhnwwkd")))) + (build-system python-build-system) + (arguments + `(;; There are no tests, and running the test phase requires missing + ;; dependencies + #:tests? #f)) + (propagated-inputs + `(("python-tornado" ,python-tornado))) + (home-page "http://github.com/mrjoes/sockjs-tornado/") + (synopsis + "SockJS python server implementation on top of Tornado framework") + (description + "SockJS-tornado provides the server side counterpart to a SockJS client +library, through the Tornado framework. + +SockJS provides a low latency, full duplex, cross-domain communication channel +between a web browser and web server.") + (license license:expat))) + +(define-public python2-sockjs-tornado + (package-with-python2 python-sockjs-tornado)) + (define-public python-socksipy-branch (package (name "python-socksipy-branch") @@ -4905,7 +4939,7 @@ cluster without needing to write any wrapper code yourself.") (replace 'check (lambda _ (zero? (system* "nosetests" "-v"))))))) (native-inputs `(("python-nose" ,python-nose) - ("python-pytest" ,python-pytest) + ("python-pytest" ,python-pytest-3.0) ("man-db" ,man-db) ("which" ,which))) (propagated-inputs @@ -5507,7 +5541,18 @@ features useful for text console applications.") (license license:lgpl2.1+))) (define-public python2-urwid - (package-with-python2 python-urwid)) + (let ((python2-urwid (package-with-python2 python-urwid))) + (package + (inherit python2-urwid) + (arguments + (append + '(#:phases + (modify-phases %standard-phases + ;; Disable the vterm tests because of non-deterministic failures + ;; with Python 2. See https://github.com/urwid/urwid/issues/230. + (add-after 'unpack 'delete-test_vterm.py + (delete-file "urwid/tests/test_vterm.py")))) + (package-arguments python-urwid)))))) (define-public python-openid (package @@ -5521,6 +5566,18 @@ features useful for text console applications.") (base32 "1x3nh3fycqfn43jp5j5pb4q4y2jxp4mdka4absaa3bc0078qd758")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "./admin/runtests"))))))) + (properties `((python2-variant . ,(delay python2-openid)))) + (propagated-inputs + `(("python-defusedxml" ,python-defusedxml))) + (native-inputs + `(("python-psycopg2" ,python-psycopg2) + ("python-django" ,python-django))) (home-page "https://github.com/necaris/python3-openid") (synopsis "OpenID support for servers and consumers") (description "This library provides OpenID authentication for Python, both @@ -6092,13 +6149,13 @@ It is written entirely in Python.") (define-public python-tornado (package (name "python-tornado") - (version "4.3") + (version "4.5.1") (source (origin (method url-fetch) (uri (pypi-uri "tornado" version)) (sha256 - (base32 "1gzgwayl6hmc9jfcl88bni4jcsk2jcca9dn1rvrfsvnijcjx7hn9")))) + (base32 "1zbkgcdfq81k298awrm8p0xwbwwn2p3nbizdglzfbkskhai082fv")))) (build-system python-build-system) (arguments '(;; FIXME: Two tests error out with: @@ -6785,7 +6842,7 @@ should be stored on various operating systems.") (define-public python-llfuse (package (name "python-llfuse") - (version "1.1.1") + (version "1.2") (source (origin (method url-fetch) (uri (string-append @@ -6793,7 +6850,7 @@ should be stored on various operating systems.") "llfuse-" version ".tar.bz2")) (sha256 (base32 - "0v6vj9mb286njgd1szg9hz2qdh5f3vkhsvajripfcqg458av310v")))) + "11hms1x68bf1bqbqy7w3wpffqsd3jkgricmzrc1hrnwkswfzzlr4")))) (build-system python-build-system) (inputs `(("fuse" ,fuse) @@ -7088,7 +7145,7 @@ printing of sub-tables by specifying a row range.") (home-page "http://www.pytables.org/") (synopsis "Hierarchical datasets for Python") (description "PyTables is a package for managing hierarchical datasets and -designed to efficently cope with extremely large amounts of data.") +designed to efficiently cope with extremely large amounts of data.") (license license:bsd-3))) (define-public python2-tables @@ -7321,14 +7378,14 @@ message digests and key derivation functions.") (define-public python-pyopenssl (package (name "python-pyopenssl") - (version "16.2.0") + (version "17.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp")) + "1pdg1gpmkzj8yasg6cmkhcivxcdp4c12nif88y4qvsxq5ffzxas8")) (patches (search-patches "python-pyopenssl-skip-network-test.patch")))) (build-system python-build-system) @@ -7346,7 +7403,7 @@ message digests and key derivation functions.") (inputs `(("openssl" ,openssl))) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest-3.0))) (home-page "https://github.com/pyca/pyopenssl") (synopsis "Python wrapper module around the OpenSSL library") (description @@ -7433,7 +7490,7 @@ a hash value.") (source (origin (method url-fetch) - (uri (pypi-uri "python-termcolor" version)) + (uri (pypi-uri "termcolor" version)) (sha256 (base32 "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x")))) @@ -8690,7 +8747,7 @@ pure Python module that works on virtually all Python versions.") (description "Execnet provides a share-nothing model with channel-send/receive communication for distributing execution across many Python interpreters across version, platform and network barriers. It has a -minimal and fast API targetting the following uses: +minimal and fast API targeting the following uses: @enumerate @item distribute tasks to (many) local or remote CPUs @item write and deploy hybrid multi-process applications @@ -8837,13 +8894,13 @@ processes across test runs.") (define-public python-icalendar (package (name "python-icalendar") - (version "3.11.3") + (version "3.11.4") (source (origin (method url-fetch) (uri (pypi-uri "icalendar" version)) (sha256 (base32 - "086jslw8cg2hni79j267p1dy6d27m7q5hi39ni2clh9waqbdf5v3")))) + "0ix3xxykz8hs8mx4f2063djawmd888y3vsl75fbvbfqvg67v35jn")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) @@ -9371,6 +9428,7 @@ interface to the Amazon Web Services (AWS) API.") ("python-botocore" ,python-botocore) ("python-s3transfer" ,python-s3transfer) ("python-docutils" ,python-docutils) + ("python-pyyaml" ,python-pyyaml) ("python-rsa" ,python-rsa))) (arguments ;; FIXME: The 'pypi' release does not contain tests. @@ -10019,13 +10077,13 @@ programmatically interfacing with your system's $EDITOR.") (define-public python-sphinxcontrib-programoutput (package (name "python-sphinxcontrib-programoutput") - (version "0.8") + (version "0.10") (source (origin (method url-fetch) (uri (pypi-uri "sphinxcontrib-programoutput" version)) (sha256 (base32 - "098as6z1s0gb4dh5xcr1fd2vpm91zj93jzvgawspxf5s4hqs0xhp")))) + "153hhnlbx4688zj9wd64819ps5znc2jlyp5crkgzvn5hxgy99vpx")))) (build-system python-build-system) (arguments ;; FIXME: Many tests are failing and the upstream is gone. @@ -10659,14 +10717,14 @@ development version of CPython that are not available in older releases.") (define-public python-future (package (name "python-future") - (version "0.15.2") + (version "0.16.0") (source (origin (method url-fetch) (uri (pypi-uri "future" version)) (sha256 (base32 - "15wvcfzssc68xqnqi1dq4fhd0848hwi9jn42hxyvlqna40zijfrx")))) + "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773")))) (build-system python-build-system) ;; Many tests connect to the network or are otherwise flawed. ;; https://github.com/PythonCharmers/python-future/issues/210 @@ -10789,7 +10847,7 @@ Python. It generates C++ code and a Makefile.")) (description "Rope is a refactoring library for Python. It facilitates the renaming, moving and extracting of attributes, functions, modules, fields and parameters in Python 2 source code. These refactorings can also be applied -to occurences in strings and comments.") +to occurrences in strings and comments.") (license license:gpl2))) (define-public python-py3status @@ -13831,7 +13889,7 @@ in other versions.") (home-page "https://liw.fi/coverage-test-runner/") (synopsis "Python module for running unit tests") (description "@code{CoverageTestRunner} is a python module for running -unit tests and failing them if the unit test module does not excercise all +unit tests and failing them if the unit test module does not exercise all statements in the module it tests.") (license license:gpl3+))) @@ -13947,3 +14005,620 @@ recognize TestCases.") (define-public python2-mando (package-with-python2 python-mando)) + +(define-public python-mando-0.3.1 + ;; python-radon (version 1.5.0) has a requirement + ;; for mando<0.4,>=0.3 + (package + (inherit python-mando) + (name "python-mando") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/rubik/mando/archive/v" + version + ".tar.gz")) + (sha256 + (base32 + "17jlkdpqw22z1nyml5ybslilqkzmnk0dxxjml8bfghav1l5hbwd2")))))) + +(define-public python-fudge + (package + (name "python-fudge") + ;; 0.9.6 is the latest version suitable for testing the "fabric" Python 2 + ;; package, which is currently the only use of this package. + (version "0.9.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fudge" version)) + (sha256 + (base32 + "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;XXX: Tests require the NoseJS Python package. + (home-page "https://github.com/fudge-py/fudge") + (synopsis "Replace real objects with fakes/mocks/stubs while testing") + (description + "Fudge is a Python module for using fake objects (mocks and stubs) to +test real ones. + +In readable Python code, you declare the methods available on your fake object +and how they should be called. Then you inject that into your application and +start testing. This declarative approach means you don’t have to record and +playback actions and you don’t have to inspect your fakes after running code. +If the fake object was used incorrectly then you’ll see an informative +exception message with a traceback that points to the culprit.") + (license license:expat))) + +(define-public python2-fudge + (package-with-python2 python-fudge)) + +(define-public python-oauth2client + (package + (name "python-oauth2client") + (version "4.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "oauth2client" version)) + (sha256 + (base32 + "1irqqap2zibysf8dba8sklfqikia579srd0phm5n754ni0h59gl0")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) + (propagated-inputs + `(("python-httplib2" ,python-httplib2) + ("python-pyasn1" ,python-pyasn1) + ("python-pyasn1-modules" ,python-pyasn1-modules) + ("python-rsa" ,python-rsa) + ("python-six" ,python-six))) + (home-page "http://github.com/google/oauth2client/") + (synopsis "OAuth 2.0 client library") + (description "@code{python-oauth2client} provides an OAuth 2.0 client +library for Python") + (license license:asl2.0))) + +(define-public python-flask-oidc + (package + (name "python-flask-oidc") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flask-oidc" version)) + (sha256 + (base32 + "1ay5j0mf174bix7i67hclr95gv16z81fpx0dijvi0gydvdj3ddy2")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flask" ,python-flask) + ("python-itsdangerous" ,python-itsdangerous) + ("python-oauth2client" ,python-oauth2client) + ("python-six" ,python-six))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-mock" ,python-mock))) + (home-page "https://github.com/puiterwijk/flask-oidc") + (synopsis "OpenID Connect extension for Flask") + (description "@code{python-flask-oidc} provides an OpenID Connect extension +for Flask.") + (license license:bsd-2))) + +(define-public python-mwclient + (package + (name "python-mwclient") + (version "0.8.4") + (source + (origin + (method url-fetch) + ;; The PyPI version wouldn't contain tests. + (uri (string-append "https://github.com/mwclient/mwclient/archive/" + "v" version ".tar.gz")) + (sha256 + (base32 + "1jj0yhilkjir00719fc7w133x7hdyhkxhk6xblla4asig45klsfv")))) + (build-system python-build-system) + (propagated-inputs + `(("python-requests" ,python-requests) + ("python-requests-oauthlib" + ,python-requests-oauthlib) + ("python-six" ,python-six))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-pytest-pep8" ,python-pytest-pep8) + ("python-pytest-cache" ,python-pytest-cache) + ("python-pytest-cov" ,python-pytest-cov) + ("python-responses" ,python-responses))) + (home-page "https://github.com/btongminh/mwclient") + (synopsis "MediaWiki API client") + (description "This package provides a MediaWiki API client.") + (license license:expat))) + +(define-public python2-mwclient + (package-with-python2 python-mwclient)) + +(define-public python-pytest-warnings + (package + (name "python-pytest-warnings") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-warnings" version)) + (sha256 + (base32 + "0gf2dpahpl5igb7jh1sr9acj3z3gp7zahqdqb69nk6wx01c8kc1g")))) + (build-system python-build-system) + (propagated-inputs + `(("pytest" ,python-pytest-3.0))) + (home-page "https://github.com/fschulze/pytest-warnings") + (synopsis "Pytest plugin to list Python warnings in pytest report") + (description + "Python-pytest-warnings is a pytest plugin to list Python warnings in +pytest report.") + (license license:expat))) + +(define-public python2-pytest-warnings + (package-with-python2 python-pytest-warnings)) + +(define-public python-pytest-catchlog + (package + (name "python-pytest-catchlog") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-catchlog" version ".zip")) + (sha256 + (base32 + "1w7wxh27sbqwm4jgwrjr9c2gy384aca5jzw9c0wzhl0pmk2mvqab")))) + (build-system python-build-system) + (native-inputs + `(("unzip" ,unzip))) + (propagated-inputs + `(("pytest" ,python-pytest-3.0))) + (home-page "https://github.com/eisensheng/pytest-catchlog") + (synopsis "Pytest plugin to catch log messages") + (description + "Python-pytest-catchlog is a pytest plugin to catch log messages. This is +a fork of pytest-capturelog.") + (license license:expat))) + +(define-public python2-pytest-catchlog + (package-with-python2 python-pytest-catchlog)) + +(define-public python-utils + (package + (name "python-utils") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "python-utils" version)) + (sha256 + (base32 + "1mcsy6q5am4ya72rgkpb6kax6vv7c93cfkkas89xnpa4sj9zf28p")))) + (build-system python-build-system) + (native-inputs + `(("pytest-runner" ,python-pytest-runner) + ("pytest" ,python-pytest) + ("six" ,python-six))) + (home-page "https://github.com/WoLpH/python-utils") + (synopsis "Convenient utilities not included with the standard Python install") + (description + "Python Utils is a collection of small Python functions and classes which +make common patterns shorter and easier.") + (license license:bsd-2))) + +(define-public python2-utils + (package-with-python2 python-utils)) + +(define-public python-webassets + (package + (name "python-webassets") + (version "0.12.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "webassets" version)) + (sha256 + (base32 + "1nrqkpb7z46h2b77xafxihqv3322cwqv6293ngaky4j3ff4cing7")))) + (build-system python-build-system) + (native-inputs + `(("python-jinja2" ,python-jinja2) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/miracle2k/webassets") + (synopsis "Media asset management") + (description "Merges, minifies and compresses Javascript and CSS files, +supporting a variety of different filters, including YUI, jsmin, jspacker or +CSS tidy. Also supports URL rewriting in CSS files.") + (license license:bsd-2))) + +(define-public python-sphinx-me + (package + (name "python-sphinx-me") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sphinx-me" version)) + (sha256 + (base32 + "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq")))) + (build-system python-build-system) + (home-page "https://github.com/stephenmcd/sphinx-me") + (synopsis "Create a Sphinx documentation shell") + (description + "Create a Sphinx documentation shell for your project and include the +README file as the documentation index. It handles extracting the required +meta data such as the project name, author and version from your project for +use in your Sphinx docs.") + (license license:bsd-2))) + +(define-public python2-sphinx-me + (package-with-python2 python-sphinx-me)) + +(define-public python-cssmin + (package + (name "python-cssmin") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cssmin" version)) + (sha256 + (base32 + "1dk723nfm2yf8cp4pj785giqlwv42l0kj8rk40kczvq1hk6g04p0")))) + (build-system python-build-system) + (home-page "https://github.com/zacharyvoase/cssmin") + (synopsis "Python port of the YUI CSS Compressor") + (description "Python port of the YUI CSS Compressor.") + (license (list license:expat license:bsd-3)))) + +(define-public python2-cssmin + (package-with-python2 python-cssmin)) + +(define-public python-diff-match-patch + (package + (name "python-diff-match-patch") + (version "20121119") + (source + (origin + (method url-fetch) + (uri (pypi-uri "diff-match-patch" version)) + (sha256 + (base32 + "0k1f3v8nbidcmmrk65m7h8v41jqi37653za9fcs96y7jzc8mdflx")))) + (build-system python-build-system) + (home-page "https://code.google.com/p/google-diff-match-patch") + (synopsis "Synchronize plain text") + (description "Diff Match and Patch libraries offer robust algorithms to +perform the operations required for synchronizing plain text.") + (license license:asl2.0))) + +(define-public python2-diff-match-patch + (package-with-python2 python-diff-match-patch)) + +(define-public python-dirsync + (package + (name "python-dirsync") + (version "2.2.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dirsync" version ".zip")) + (sha256 + (base32 + "1hcdvmkwd5512zbxpin0k7bx5bkgzy3swjx7d0kj1y45af6r75v2")))) + (build-system python-build-system) + (native-inputs + `(("unzip" ,unzip))) + (propagated-inputs + `(("six" ,python-six))) + (home-page "https://bitbucket.org/tkhyn/dirsync") + (synopsis "Advanced directory tree synchronisation tool") + (description "Advanced directory tree synchronisation tool.") + (license license:expat))) + +(define-public python2-dirsync + (package-with-python2 python-dirsync)) + +(define-public python-nosexcover + (package + (name "python-nosexcover") + (version "1.0.11") + (source (origin + (method url-fetch) + (uri (pypi-uri "nosexcover" version)) + (sha256 + (base32 + "10xqr12qv62k2flxwqhh8cr00cjhn7sfjrm6p35gd1x5bmjkr319")))) + (build-system python-build-system) + (propagated-inputs + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (home-page "http://github.com/cmheisel/nose-xcover") + (synopsis "Extends nose.plugins.cover to add Cobertura-style XML reports") + (description "Nose-xcover is a companion to the built-in +@code{nose.plugins.cover}. This plugin will write out an XML coverage report +to a file named coverage.xml. + +It will honor all the options you pass to the Nose coverage plugin, +especially -cover-package.") + (license license:expat))) + +(define-public python2-nosexcover + (package-with-python2 python-nosexcover)) + +(define-public python-elasticsearch + (package + (name "python-elasticsearch") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "elasticsearch" version)) + (sha256 + (base32 + "1sdw1r05cw7ihnmng8ra9v968fj7bq6sji8i1dikymsnkcpgc69g")))) + (build-system python-build-system) + (native-inputs + `(("python-mock" ,python-mock) + ("python-nosexcover" ,python-nosexcover) + ("python-pyaml" ,python-pyaml) + ("python-requests" ,python-requests))) + (propagated-inputs + `(("urllib3" ,python-urllib3))) + (arguments + ;; tests require the test_elasticsearch module but it is not distributed. + `(#:tests? #f)) + (home-page "https://github.com/elastic/elasticsearch-py") + (synopsis "Low-level client for Elasticsearch") + (description "Official low-level client for Elasticsearch. Its goal is to +provide common ground for all Elasticsearch-related code in Python; because of +this it tries to be opinion-free and very extendable.") + (license license:expat))) + +(define-public python2-elasticsearch + (package-with-python2 python-elasticsearch)) + +(define-public python-levenshtein + (package + (name "python-levenshtein") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-Levenshtein" version)) + (sha256 + (base32 + "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3")))) + (build-system python-build-system) + (home-page "https://github.com/ztane/python-Levenshtein") + (synopsis "Fast computation of Levenshtein distance and string similarity") + (description + "The Levenshtein Python C extension module contains functions for fast computation of +@enumerate +@item Levenshtein (edit) distance, and edit operations +@item string similarity +@item approximate median strings, and generally string averaging +@item string sequence and set similarity +@end enumerate +It supports both normal and Unicode strings.") + (license license:gpl2+))) + +(define-public python2-levenshtein + (package-with-python2 python-levenshtein)) + +(define-public python-scandir + (package + (name "python-scandir") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "scandir" version)) + (sha256 + (base32 "0yjrgp0mxp3d8bjkq2m1ac2ys8n76wykksvgyjrnil9gr3fx7a5d")))) + (build-system python-build-system) + (home-page "https://github.com/benhoyt/scandir") + (synopsis "Directory iteration function") + (description + "Directory iteration function like os.listdir(), except that instead of +returning a list of bare filenames, it yields DirEntry objects that include +file type and stat information along with the name. Using scandir() increases +the speed of os.walk() by 2-20 times (depending on the platform and file +system) by avoiding unnecessary calls to os.stat() in most cases.") + (license license:bsd-3))) + +(define-public python2-scandir + (package-with-python2 python-scandir)) + +(define-public python2-stemming + (package + (name "python2-stemming") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "stemming" version)) + (sha256 + (base32 "0ldwa24gnnxhniv0fhygkpc2mwgd93q10ag8rvzayv6hw418frsr")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (home-page "https://bitbucket.org/mchaput/stemming/overview") + (synopsis "Python implementations of various stemming algorithms") + (description + "Python implementations of the Porter, Porter2, Paice-Husk, and Lovins +stemming algorithms for English. These implementations are straightforward and +efficient, unlike some Python versions of the same algorithms available on the +Web. This package is an extraction of the stemming code included in the Whoosh +search engine.") + (license license:public-domain))) + +(define-public python-factory-boy + (package + (name "python-factory-boy") + (version "2.8.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "factory_boy" version)) + (sha256 + (base32 "1fvin6san5xsjh2c4y18caj2lnmwxlylyqm8mh1yc6rp38wlwr56")))) + (build-system python-build-system) + (arguments + ;; Tests are not included in the tarball. + `(#:tests? #f)) + (propagated-inputs + `(("faker" ,python-faker))) + (home-page "https://github.com/benhoyt/scandir") + (synopsis "Versatile test fixtures replacement") + (description + "Factory_boy is a fixtures replacement based on thoughtbot’s factory_girl. + +As a fixtures replacement tool, it aims to replace static, hard to maintain +fixtures with easy-to-use factories for complex object. + +Instead of building an exhaustive test setup with every possible combination +of corner cases, factory_boy allows you to use objects customized for the +current test, while only declaring the test-specific fields") + (license license:expat))) + +(define-public python2-factory-boy + (package-with-python2 python-factory-boy)) + +(define-public python-translate-toolkit + (package + (name "python-translate-toolkit") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "translate-toolkit" version ".tar.bz2")) + (sha256 + (base32 "1vlkwrg83vb17jc36pmwh2b7jphwf390lz0jw8hakcg16qhwypvq")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx))) + (propagated-inputs + `(("python-babel" ,python-babel) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-chardet" ,python-chardet) + ("python-diff-match-patch" ,python-diff-match-patch) + ("python-levenshtein" ,python-levenshtein) + ("python-lxml" ,python-lxml) + ("python-six" ,python-six) + ("python-vobject" ,python-vobject) + ("python-pyyaml" ,python-pyyaml))) + (arguments + ;; TODO: tests are not run, because they end with + ;; TypeError: parse() missing 2 required positional arguments: 'tree' and + ;; 'parse_funcs' + ;; during test setup. + `(#:tests? #f)) + (home-page "http://toolkit.translatehouse.org") + (synopsis "Tools and API for translation and localization engineering") + (description + "Tools and API for translation and localization engineering. It contains +several utilities, as well as an API for building localization tools.") + (license license:gpl2+))) + +(define-public python2-translate-toolkit + (package-with-python2 python-translate-toolkit)) + +(define-public python-mysqlclient + (package + (name "python-mysqlclient") + (version "1.3.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mysqlclient" version)) + (sha256 + (base32 + "0qkj570x4rbsblji6frvsvp2v1ap32dqzj1lq62zp9515ffsyaj5")))) + (build-system python-build-system) + (native-inputs + `(("mariadb" ,mariadb) + ("nose" ,python-nose) + ("mock" ,python-mock) + ("py.test" ,python-pytest))) + (inputs + `(("mysql" ,mysql) + ("libz" ,zlib) + ("openssl" ,openssl))) + (home-page "https://github.com/PyMySQL/mysqlclient-python") + (synopsis "MySQLdb is an interface to the popular MySQL database server for Python") + (description "MySQLdb is an interface to the popular MySQL database server +for Python. The design goals are: +@enumerate +@item Compliance with Python database API version 2.0 [PEP-0249], +@item Thread-safety, +@item Thread-friendliness (threads will not block each other). +@end enumerate") + (license license:gpl2))) + +(define-public python2-mysqlclient + (package-with-python2 python-mysqlclient)) + +(define-public python-hiredis + (package + (name "python-hiredis") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hiredis" version)) + (sha256 + (base32 + "1dfm2k9l9zar9nw9fwmm74zrgraxdxs04vx9li56fjcf289qx5fa")))) + (build-system python-build-system) + (arguments + ;; no tests + `(#:tests? #f)) + (home-page "https://github.com/redis/hiredis-py") + (synopsis "Python extension that wraps protocol parsing code in hiredis") + (description "Python-hiredis is a python extension that wraps protocol +parsing code in hiredis. It primarily speeds up parsing of multi bulk replies.") + (license license:bsd-3))) + +(define-public python2-hiredis + (package-with-python2 python-hiredis)) + +(define-public python-fakeredis + (package + (name "python-fakeredis") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fakeredis" version)) + (sha256 + (base32 + "0zncahj3byyasyfx9i7k991ph0n0lq8v3a21pqri5qxn9564bk9r")))) + (build-system python-build-system) + (arguments + ;; no tests + `(#:tests? #f)) + (home-page "https://github.com/jamesls/fakeredis") + (synopsis "Fake implementation of redis API for testing purposes") + (description "Fakeredis is a pure python implementation of the redis-py +python client that simulates talking to a redis server. This was created for a +single purpose: to write unittests. Setting up redis is not hard, but many time + you want to write unittests that do not talk to an external server (such as +redis). This module now allows tests to simply use this module as a reasonable +substitute for redis.") + (license license:bsd-3))) + +(define-public python2-fakeredis + (package-with-python2 python-fakeredis)) |