diff options
author | Marius Bakke <mbakke@fastmail.com> | 2017-05-14 17:21:46 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2017-05-14 17:21:46 +0200 |
commit | 61b1df6f2791a2afa291b56708d73a5264ca70eb (patch) | |
tree | 314ddb96391b25e83e9a31637be0f1a7f52cc249 /gnu/packages/python.scm | |
parent | bdb8267680f14ee5d3df9d029f23279c1457c211 (diff) | |
parent | 4be014128e1c422f37b56f9a6b3420b4e85c4302 (diff) | |
download | patches-61b1df6f2791a2afa291b56708d73a5264ca70eb.tar patches-61b1df6f2791a2afa291b56708d73a5264ca70eb.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r-- | gnu/packages/python.scm | 651 |
1 files changed, 631 insertions, 20 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 164c1f49bc..57a67de416 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -36,8 +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. ;;; @@ -1108,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))) @@ -1353,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. @@ -1843,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 @@ -1879,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 @@ -2641,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 @@ -3375,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) @@ -4217,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") @@ -5509,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 @@ -5529,6 +5572,7 @@ features useful for text console applications.") (replace 'check (lambda _ (zero? (system* "./admin/runtests"))))))) + (properties `((python2-variant . ,(delay python2-openid)))) (propagated-inputs `(("python-defusedxml" ,python-defusedxml))) (native-inputs @@ -6105,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: @@ -7446,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")))) @@ -8850,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) @@ -14011,3 +14055,570 @@ exception message with a traceback that points to the culprit.") (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)) |