aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-05-24 12:05:47 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-05-24 12:05:47 +0200
commitd1a914082b7e53636f9801769ef96218b2125c4b (patch)
tree998805fc59fe0b1bb105b24a6a79fff646257d96 /gnu/packages/python.scm
parent657fb6c947d94cf946f29cd24e88bd080c01ff0a (diff)
parentae548434337cddf9677a4cd52b9370810b2cc9b6 (diff)
downloadpatches-d1a914082b7e53636f9801769ef96218b2125c4b.tar
patches-d1a914082b7e53636f9801769ef96218b2125c4b.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm751
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))