;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
+;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages search)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages ssh)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages zip)
#:use-module (gnu packages tcl)
#:use-module (gnu packages bdw-gc)
#:use-module (guix packages)
(base32
"1c6v1n9nz4mlx9mw1125fxpmbrgniqdbbx9hnqx44maqazb2mzpf"))
(snippet
- '(delete-file
- "Lib/ctypes/test/test_win32.py")))) ; fails on aarch64
+ '(begin
+ (for-each delete-file
+ '("Lib/ctypes/test/test_win32.py" ; fails on aarch64
+ "Lib/test/test_fcntl.py"))
+ #t))))
(arguments (substitute-keyword-arguments (package-arguments python-2)
((#:tests? _) #t)))
(native-search-paths
(define-public python-pytz
(package
(name "python-pytz")
- (version "2016.10")
+ (version "2017.2")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "pytz" version ".tar.bz2"))
+ (uri (pypi-uri "pytz" version ".zip"))
(sha256
(base32
- "0az099cyp6p5xbsvfcdacj4hvxncbwm2ayn3h55mcp07zb2b45kh"))))
+ "12cmd3j46d2gcw08bspvp6s9icfcvx88zjz52n1bli9dyvl5dh7m"))))
(build-system python-build-system)
- (arguments `(#:tests? #f)) ; no test target
+ (native-inputs
+ `(("unzip" ,unzip)))
(home-page "http://pythonhosted.org/pytz")
(synopsis "Python timezone library")
- (description
- "This library allows accurate and cross platform timezone calculations
-using Python 2.4 or higher and provides access to the Olson timezone database.")
+ (description "This library brings the Olson tz database into Python. It
+allows accurate and cross platform timezone calculations using Python 2.4 or
+higher. It also solves the issue of ambiguous times at the end of daylight
+saving time. Almost all of the Olson timezones are supported.")
(license license:expat)))
(define-public python2-pytz
(package-with-python2 python-pytz))
+(define-public python-clyent
+ (package
+ (name "python-clyent")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "clyent" version))
+ (sha256
+ (base32
+ "1r9987qmy1pz3hq54160bapqsywpq14waw4w9x3ly8hmq7kpgfbj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-mock" ,python-mock)))
+ (home-page "https://github.com/binstar/clyent")
+ (synopsis "Command line client library")
+ (description "Clyent is a Python command line utiliy library. It is used
+by @code{binstar}, @code{binstar-build} and @code{chalmers}.")
+ (license license:bsd-3)))
+
+(define-public python2-clyent
+ (package-with-python2 python-clyent))
(define-public python-babel
(package
(define-public python-h5py
(package
(name "python-h5py")
- (version "2.6.0")
+ (version "2.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "h5py" version))
(sha256
(base32
- "0df46dg7i7xfking9lp221bfm8dbl974yvlrbi1w7r6m61ac7bxj"))))
+ "0433sdv6xc9p7v1xs1gvbxp7p152ywi3nplgjb258q9fvw9469br"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test target
(define-public python-netcdf4
(package
(name "python-netcdf4")
- (version "1.2.7")
+ (version "1.2.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "netCDF4" version))
(sha256
(base32
- "1fllizmnpw0zkzzm4j9pgamarlzfn3kmv9zrm0w65q1y31h9ni0c"))))
+ "1h6jq338amlbk0ilzvjyl7cck80i0bah9a5spn9in71vy2qxm7i5"))))
(build-system python-build-system)
(native-inputs
`(("python-cython" ,python-cython)))
(define-public python2-mock
(package-with-python2 python-mock))
+;;; Some packages (notably, certbot and python-acme) rely on this newer version
+;;; of python-mock. However, a large number of packages fail to build with
+;;; mock@2, so we add a new variable for now. Also, there may be a dependency
+;;; cycle between mock and six, so we avoid creating python2-mock@2 for now.
+(define-public python-mock-2
+ (package
+ (inherit python-mock)
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mock" version))
+ (sha256
+ (base32
+ "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i"))))
+ (propagated-inputs
+ `(("python-pbr" ,python-pbr-minimal)
+ ,@(package-propagated-inputs python-mock)))))
(define-public python-setuptools
(package
(define-public python2-setuptools
(package-with-python2 python-setuptools))
+(define-public python-uniseg
+ (package
+ (name "python-uniseg")
+ (version "0.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://bitbucket.org/emptypage/uniseg-python/"
+ "get/rel-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1df4gddnj2a0v8z35wb2ra5vvh1f1qyxs8fgd25c8g64031mna6x"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; The test suite requires network access.
+ (home-page
+ "https://bitbucket.org/emptypage/uniseg-python")
+ (synopsis
+ "Python library to determine Unicode text segmentations")
+ (description
+ "Uniseg is a Python package used to determine Unicode text segmentations.
+Supported segmentations include:
+@enumerate
+@item @dfn{Code point} (any value in the Unicode codespace)
+@item @dfn{Grapheme cluster} (user-perceived character made of a single or
+multiple Unicode code points, e.g. \"G\" + acute-accent)
+@item Word break
+@item Sentence break
+@item Line break
+@end enumerate")
+ (license license:expat)))
+
+(define-public python2-uniseg
+ (package-with-python2 python-uniseg))
+
;;; Pycrypto is abandoned upstream:
;;;
;;; https://github.com/dlitz/pycrypto/issues/173
(build-system python-build-system)
(propagated-inputs
`(("python-greenlet" ,python-greenlet)))
+ (arguments
+ ;; TODO: Requires unpackaged 'enum-compat'.
+ '(#:tests? #f))
(home-page "http://eventlet.net")
(synopsis "Concurrent networking library for Python")
(description
(define-public python-parsedatetime
(package
(name "python-parsedatetime")
- (version "2.3")
+ (version "2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parsedatetime" version))
(sha256
(base32
- "1vkrmd398s11h1zn3zaqqsiqhj9lwy1ikcg6irx2lrgjzjg3rjll"))))
+ "0jxqkjks7z9dn222cqgvskp4wr6d92aglinxq7pd2w4mzdc7r09x"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)
(propagated-inputs
`(("python-py" ,python-py)))
(native-inputs
- `(("python-nose" ,python-nose)
+ `(;; Tests need the "regular" bash since 'bash-final' lacks `compgen`.
+ ("bash" ,bash)
+ ("python-nose" ,python-nose)
("python-mock" ,python-mock)))
(home-page "http://pytest.org")
(synopsis "Python testing library")
line)))
#t)))))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-mock" ,python-mock)
- ("python-hypothesis" ,python-hypothesis)))
+ `(("python-hypothesis" ,python-hypothesis)
+ ,@(package-native-inputs python-pytest)))
(properties `((python2-variant . ,(delay python2-pytest-3.0))))))
(define-public python2-pytest-3.0
(define python-pbr-minimal
(package
(name "python-pbr-minimal")
- (version "1.10.0")
+ (version "3.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pbr" version))
(sha256
(base32
- "177kd9kbv1hvf2ban7l3x9ymzbi1md4hkaymwbgnz7ihf312hr0q"))
- (patches (search-patches "python-pbr-fix-man-page-support.patch"))))
+ "14fs5acnalnb3h62s7q7av239j541fk0n0z0lawh4h09b1s93s6p"))))
(build-system python-build-system)
(arguments
`(#:tests? #f))
(propagated-inputs
`(("python2-functools32" ,python2-functools32))))))
+(define-public python-schema
+ (package
+ (name "python-schema")
+ (version "0.6.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "schema" version))
+ (sha256
+ (base32
+ "1lw28j9w9vxyigg7vkfkvi6ic9lgjkdnfvnxdr7pklslqvzmk2vm"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/keleshev/schema")
+ (synopsis "Simple data validation library")
+ (description
+ "@code{python-schema} is a library for validating Python data
+structures, such as those obtained from config-files, forms, external
+services or command-line parsing, converted from JSON/YAML (or
+something else) to Python data-types.")
+ (license license:psfl)))
+
+(define-public python2-schema
+ (package-with-python2 python-schema))
+
+(define-public python-schema-0.5
+ (package (inherit python-schema)
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "schema" version))
+ (sha256
+ (base32
+ "10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s"))))))
+
+(define-public python2-schema-0.5
+ (package-with-python2 python-schema-0.5))
+
(define-public python-kitchen
(package
(name "python-kitchen")
(define-public python2-pygments
(package-with-python2 python-pygments))
+(define-public python-sphinxcontrib-websupport
+ (package
+ (name "python-sphinxcontrib-websupport")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "sphinxcontrib-websupport" version))
+ (sha256
+ (base32
+ "1f9f0wjpi9nhikbyaz6d19s7qvzdf1nq2g5dsh640fma4q9rd1bs"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-xapian-bindings" ,python-xapian-bindings)))
+ ;; Needed for running the test suite
+ (native-inputs
+ `(("python-six" ,python-six)
+ ("python-jinja2" ,python-jinja2)
+ ("python-docutils" ,python-docutils)
+ ("python-sphinx" ,python-sphinx)
+ ("python-sqlalchemy" ,python-sqlalchemy)
+ ("python-whoosh" ,python-whoosh)))
+ (home-page "http://sphinx-doc.org/")
+ (synopsis "Sphinx API for web applications")
+ (description "This package provides a Python API to easily integrate
+Sphinx documentation into your web application. It provides tools to
+integrate Sphinx documents in web templates and to handle searches.")
+ (license license:bsd-3)))
+
(define-public python-sphinx
(package
(name "python-sphinx")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-sphinx))))))
+(define-public python-sphinx-1.6
+ (package (inherit python-sphinx)
+ (name "python-sphinx")
+ (version "1.6.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Sphinx" version))
+ (sha256
+ (base32
+ "1rj6f3i8hmrx2qlkshi5kp5xcy98dlynwlyl05yvflj5f66dp2xg"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; Requires Internet access.
+ (delete-file "tests/test_build_linkcheck.py")
+ (substitute* "tests/test_build_latex.py"
+ (("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
+ "@pytest.mark.skip()"))
+ (zero? (system* "make" "test")))))))
+ (propagated-inputs
+ `(("python-sphinxcontrib-websupport" ,python-sphinxcontrib-websupport)
+ ,@(package-propagated-inputs python-sphinx)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest-3.0)
+ ("imagemagick" ,imagemagick) ; for "convert"
+ ,@(package-native-inputs python-sphinx)))
+ (properties '())))
+
(define-public python-sphinx-1.5.3
(package
(inherit python-sphinx)
(define-public python-sphinx-rtd-theme
(package
(name "python-sphinx-rtd-theme")
- (version "0.1.6")
+ (version "0.2.4")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/s/"
- "sphinx_rtd_theme/sphinx_rtd_theme-"
- version ".tar.gz"))
+ (uri (pypi-uri "sphinx_rtd_theme" version))
(sha256
(base32
- "19nw3rn7awplcdrz63kg1njqwkbymfg9lwn7l2grhdyhyr2gaa8g"))))
+ "05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No tests.
(propagated-inputs
(define-public python-scikit-learn
(package
(name "python-scikit-learn")
- (version "0.18.1")
+ (version "0.19.0")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1hwswckdmd27f7k1jvwdc0m4mqrgxl2s245yq1scq34v124bjqgq"))))
+ "0g7q4ri75mj93wpa9bp83a3jmrf3dm5va9h7k4zkbcxr6bgqka15"))))
(build-system python-build-system)
(arguments
`(#:phases
(define-public python-cython
(package
(name "python-cython")
- (version "0.25.2")
+ (version "0.26")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
- (patches (search-patches "python-cython-fix-tests-32bit.patch"))
(sha256
(base32
- "01h3lrf6d98j07iakifi81qjszh6faa37ibx7ylva1vsqbwx2hgi"))))
+ "0riciynnr0r68cvg6r3gbhi9x7h44pdwb7926m6n5vfs5p1f492c"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
(modify-phases %standard-phases
(add-before 'check 'set-HOME
;; some tests require access to "$HOME/.cython"
- (lambda _ (setenv "HOME" "/tmp")))
+ (lambda _ (setenv "HOME" "/tmp") #t))
(replace 'check
(lambda _ (zero? (system* "python" "runtests.py" "-vv")))))))
(home-page "http://cython.org/")
("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc)
- ("texlive" ,texlive)
+ ("texlive" ,(texlive-union (list texlive-fonts-amsfonts
+ texlive-fonts-ec
+ texlive-generic-ifxetex
+ texlive-generic-pdftex
+ texlive-latex-amsfonts
+ texlive-latex-capt-of
+ texlive-latex-cmap
+ texlive-latex-environ
+ texlive-latex-eqparbox
+ texlive-latex-etoolbox
+ texlive-latex-expdlist
+ texlive-latex-fancyhdr
+ texlive-latex-fancyvrb
+ texlive-latex-fncychap
+ texlive-latex-float
+ texlive-latex-framed
+ texlive-latex-geometry
+ texlive-latex-graphics
+ texlive-latex-hyperref
+ texlive-latex-mdwtools
+ texlive-latex-multirow
+ texlive-latex-oberdiek
+ texlive-latex-parskip
+ texlive-latex-preview
+ texlive-latex-tabulary
+ texlive-latex-threeparttable
+ texlive-latex-titlesec
+ texlive-latex-trimspaces
+ texlive-latex-ucs
+ texlive-latex-upquote
+ texlive-latex-url
+ texlive-latex-varwidth
+ texlive-latex-wrapfig)))
("texinfo" ,texinfo)
("perl" ,perl)
("scipy-sphinx-theme"
(scipy-sphinx-theme "scipy-sphinx-theme")
(sphinx-theme-checkout (assoc-ref inputs scipy-sphinx-theme))
(pyver ,(string-append "PYVER=")))
+
+ ;; FIXME: this is needed to for texlive-union to generate
+ ;; fonts, which are not found.
+ (setenv "HOME" "/tmp")
+
(with-directory-excursion "doc"
(copy-recursively sphinx-theme-checkout scipy-sphinx-theme)
(mkdir-p html)
(define-public python-pygit2
(package
(name "python-pygit2")
- (version "0.25.0")
+ (version "0.26.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pygit2" version))
(sha256
(base32
- "0wf5rp0fvrw7j3j18dvwjq6xqlbm611wd55aphrfpps0v1gxh3ny"))
+ "1cbc488ra3kg7r3qky17ms0szi3cda2d96qfkv1l9djsy9hnvw57"))
(patches
(search-patches "python-pygit2-disable-network-tests.patch"))))
(build-system python-build-system)
(define-public python-pyparsing
(package
(name "python-pyparsing")
- (version "2.0.3")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
"/pyparsing-" version ".tar.gz"))
(sha256
(base32
- "0kw4py7gn45j93q8r7bzajfrjdc3xlsn2yzln41lf9zmrghjkrq6"))))
+ "016b9gh606aa44sq92jslm89bg874ia0yyiyb643fa6dgbsbqch8"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(arguments
`(#:tests? #f ; no test target
- #:modules ((guix build python-build-system)
- (guix build utils))
#:phases
- (alist-cons-after
- 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((doc (string-append (assoc-ref outputs "doc")
- "/share/doc/" ,name "-" ,version))
- (html-doc (string-append doc "/html"))
- (examples (string-append doc "/examples")))
- (mkdir-p html-doc)
- (mkdir-p examples)
- (for-each
- (lambda (dir tgt)
- (map (lambda (file)
- (install-file file tgt))
- (find-files dir ".*")))
- (list "docs" "htmldoc" "examples")
- (list doc html-doc examples))))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" ,name "-" ,version))
+ (html-doc (string-append doc "/html"))
+ (examples (string-append doc "/examples")))
+ (mkdir-p html-doc)
+ (mkdir-p examples)
+ (for-each
+ (lambda (dir tgt)
+ (map (lambda (file)
+ (install-file file tgt))
+ (find-files dir ".*")))
+ (list "docs" "htmldoc" "examples")
+ (list doc html-doc examples))
+ #t))))))
(home-page "http://pyparsing.wikispaces.com")
(synopsis "Python parsing class library")
(description
(define-public python-matplotlib
(package
(name "python-matplotlib")
- (version "2.0.0")
+ (version "2.0.2")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://github.com/matplotlib/matplotlib/archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (pypi-uri "matplotlib" version))
(sha256
(base32
- "0w3k5m5qb3wsd7yhvmg042xddvligklvcq2visk2c5wnph3hhsln"))))
+ "1w8z2a1l7s72p1byfz7g03wqhygqxi8w82619dqb3a1lm97w9yqg"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
(define-public python-scipy
(package
(name "python-scipy")
- (version "0.18.1")
+ (version "0.19.1")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/scipy/scipy/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (pypi-uri "scipy" version))
(sha256
(base32
- "17slsrfawjp7if6qrlx03zhgp05350ginxx8ddpw9zqx43x905sn"))))
+ "1rl411bvla6q7qfdb47fpdnyjhfgzl6smpha33n9ar1klykjr6m1"))))
(build-system python-build-system)
(propagated-inputs
`(("python-numpy" ,python-numpy)
(define-public python-pycodestyle
(package
(name "python-pycodestyle")
- (version "2.0.0")
+ (version "2.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycodestyle" version))
(sha256
(base32
- "1rz2v8506mdjdyxcnv9ygiw6v0d4dqx8z5sjyjm0w2v32h5l5w1p"))))
+ "0rk78b66p57ala26mdldl9lafr48blv5s659sah9q50qnfjmc8k8"))))
(build-system python-build-system)
(home-page "https://pycodestyle.readthedocs.io/")
(synopsis "Python style guide checker")
(define-public python2-furl
(package-with-python2 python-furl))
+(define-public python-flaky
+ (package
+ (name "python-flaky")
+ (version "3.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "flaky" version))
+ (sha256
+ (base32
+ "18pkmf79rfkfpy1d2rrx3v55nxj762ilyk9rvd6s6dccxw58imsa"))))
+ (build-system python-build-system)
+ (arguments
+ ;; TODO: Tests require 'coveralls' and 'genty' which are not in Guix yet.
+ '(#:tests? #f))
+ (home-page "https://github.com/box/flaky")
+ (synopsis "Automatically rerun flaky tests")
+ (description
+ "Flaky is a plugin for @code{nose} or @code{py.test} that automatically
+reruns flaky tests.
+
+Ideally, tests reliably pass or fail, but sometimes test fixtures must rely
+on components that aren't 100% reliable. With flaky, instead of removing
+those tests or marking them to @code{@@skip}, they can be automatically
+retried.")
+ (license license:asl2.0)))
+
+(define-public python2-flaky
+ (package-with-python2 python-flaky))
+
(define-public python-flask-babel
(package
(name "python-flask-babel")
(define-public python-cffi
(package
(name "python-cffi")
- (version "1.4.2")
+ (version "1.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cffi" version))
(sha256
- (base32 "161rj52rzi3880lij17d6i9kvgkiwjilrqjs8405k8sf6ryif7cg"))))
+ (base32 "1mffyilq4qycm8gs4wkgb18rnqil8a9blqq77chdlshzxc8jkc5k"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(inputs
("python-sphinx" ,python-sphinx)
("python-pytest" ,python-pytest)))
(arguments
- `(#:phases
- (alist-cons-after
- 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (html (string-append doc "/html")))
- (with-directory-excursion "doc"
- (system* "make" "html")
- (mkdir-p html)
- (copy-recursively "build/html" html))
- (copy-file "LICENSE" (string-append doc "/LICENSE"))))
- %standard-phases)))
+ `(#:modules ((ice-9 ftw)
+ (srfi srfi-26)
+ (guix build utils)
+ (guix build python-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append
+ (getenv "PYTHONPATH")
+ ":" (getcwd) "/build/"
+ (car (scandir "build" (cut string-prefix? "lib." <>)))))
+
+ ;; XXX The "normal" approach of setting CC and friends does
+ ;; not work here. Is this the correct way of doing things?
+ (substitute* "testing/embedding/test_basic.py"
+ (("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
+ (string-append "c = distutils.ccompiler.new_compiler();"
+ "c.set_executables(compiler='gcc',"
+ "compiler_so='gcc',linker_exe='gcc',"
+ "linker_so='gcc -shared')")))
+ (substitute* "testing/cffi0/test_ownlib.py"
+ (("'cc testownlib") "'gcc testownlib"))
+ (zero? (system* "py.test" "-v" "c/" "testing/"))))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
+ (doc (string-append data "/doc/" ,name "-" ,version))
+ (html (string-append doc "/html")))
+ (with-directory-excursion "doc"
+ (system* "make" "html")
+ (mkdir-p html)
+ (copy-recursively "build/html" html))
+ (copy-file "LICENSE" (string-append doc "/LICENSE"))
+ #t))))))
(home-page "http://cffi.readthedocs.org")
(synopsis "Foreign function interface for Python")
(description
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/d/drmaa/drmaa-"
- version ".tar.gz"))
+ (uri (pypi-uri "drmaa" version))
(sha256
(base32 "0xzqriqyvk5b8hszbavsyxd29wm3sxirm8zvvdm73rs2iq7w4hkx"))))
(build-system python-build-system)
(define-public python2-drmaa
(package-with-python2 python-drmaa))
+(define-public python-grako
+ (package
+ (name "python-grako")
+ (version "3.99.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (pypi-uri "grako" version ".zip"))
+ (sha256
+ (base32
+ "0r63i68wcnv63rfjkasq1ah81frz61a6mzbcnaxhrkdpx84p7hzw"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ; Test file 'grako.ebnf' is missing from archive.
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("python-pytest" ,python-pytest-3.0)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://bitbucket.org/neogeny/grako")
+ (synopsis "EBNF parser generator")
+ (description
+ "Grako takes a grammar in a variation of EBNF as input, and outputs a
+memoizing PEG/Packrat parser in Python.")
+ (license license:bsd-3)))
+
+(define-public python2-grako
+ (package-with-python2 python-grako))
+
(define-public python-gridmap
(package
(name "python-gridmap")
(define-public python2-gridmap
(package-with-python2 python-gridmap))
+(define-public python-honcho
+ (package
+ (name "python-honcho")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/nickstenning/honcho/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0zizn61n5z5hq421hkypk9pw8s6fpxw30f4hsg7k4ivwzy3gjw9j"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest-3.0)
+ ("python-mock" ,python-mock)
+ ("python-tox" ,python-tox)
+ ("which" ,which))) ;for tests
+ (propagated-inputs
+ `(("python-jinja2" ,python-jinja2)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; fix honcho path in testsuite
+ (substitute* "tests/conftest.py"
+ (("'honcho'") (string-append "'" (assoc-ref outputs "out")
+ "/bin/honcho" "'")))
+ ;; It's easier to run tests after install.
+ ;; Make installed package available for running the tests
+ (add-installed-pythonpath inputs outputs)
+ (zero? (system* "py.test" "-v")))))))
+ (home-page "https://github.com/nickstenning/honcho")
+ (synopsis "Manage Procfile-based applications")
+ (description
+ "A Procfile is a file which describes how to run an application
+consisting of serveral processes. honcho starts all listed processes.
+The output of all running processes is collected by honcho and
+displayed.")
+ (license license:expat)))
+
+(define-public python2-honcho
+ (package-with-python2 python-honcho))
+
(define-public python-pexpect
(package
(name "python-pexpect")
`(("python-nose" ,python-nose)
("python-pytest" ,python-pytest-3.0)
("man-db" ,man-db)
- ("which" ,which)))
+ ("which" ,which)
+ ("bash-full" ,bash))) ;full Bash for 'test_replwrap.py'
(propagated-inputs
`(("python-ptyprocess" ,python-ptyprocess)))
(home-page "http://pexpect.readthedocs.org/")
("python-nose" ,python-nose)
("python-sphinx" ,python-sphinx)
("python-shpinx-rtd-theme" ,python-sphinx-rtd-theme)
- ("texlive" ,texlive)
+ ;; FIXME: It's possible that a smaller union would work just as well.
+ ("texlive" ,(texlive-union (list texlive-fonts-amsfonts
+ texlive-fonts-ec
+ texlive-generic-ifxetex
+ texlive-generic-pdftex
+ texlive-latex-amsfonts
+ texlive-latex-capt-of
+ texlive-latex-cmap
+ texlive-latex-environ
+ texlive-latex-eqparbox
+ texlive-latex-etoolbox
+ texlive-latex-expdlist
+ texlive-latex-fancyhdr
+ texlive-latex-fancyvrb
+ texlive-latex-fncychap
+ texlive-latex-float
+ texlive-latex-framed
+ texlive-latex-geometry
+ texlive-latex-graphics
+ texlive-latex-hyperref
+ texlive-latex-mdwtools
+ texlive-latex-multirow
+ texlive-latex-oberdiek
+ texlive-latex-parskip
+ texlive-latex-preview
+ texlive-latex-tabulary
+ texlive-latex-threeparttable
+ texlive-latex-titlesec
+ texlive-latex-trimspaces
+ texlive-latex-ucs
+ texlive-latex-upquote
+ texlive-latex-url
+ texlive-latex-varwidth
+ texlive-latex-wrapfig)))
("texinfo" ,texinfo)))
(arguments
`(#:phases
(inherit python2-urwid)
(arguments
(append
- '(#:phases
+ `(;; Explicitly using Python 2 is necessary due the argument list being
+ ;; built from only the 'delete-test_vterm.py' phase and python-urwid's
+ ;; package arguments, which by default assumes the use of Python 3.
+ #:python ,python-2
+ #: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.
(define-public snakemake
(package
(name "snakemake")
- (version "3.11.2")
+ (version "3.13.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "snakemake" version))
(sha256
- (base32 "0qcp7y9csvanyzh08jppryhd5di8r1z7p0d4wkfg5591pj3bb8zp"))))
+ (base32 "1nixb944r4hlskwkzc4wjs34b40xpxpw9gmhhm5p09gvmm22ap5d"))))
(build-system python-build-system)
(arguments
;; TODO: Package missing test dependencies.
- '(#:tests? #f))
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; For cluster execution Snakemake will call Python. Since there is
+ ;; no suitable PYTHONPATH set, cluster execution will fail. We fix
+ ;; this by calling the snakemake wrapper instead.
+ (add-after 'unpack 'call-wrapper-not-wrapped-snakemake
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "snakemake/executors.py"
+ (("\\{sys.executable\\} -m snakemake")
+ (string-append (assoc-ref outputs "out")
+ "/bin/snakemake")))
+ #t)))))
(propagated-inputs
`(("python-wrapt" ,python-wrapt)
("python-requests" ,python-requests)))
("python2-singledispatch" ,python2-singledispatch)
,@(package-propagated-inputs tornado))))))
+(define-public python-tornado-http-auth
+ (package
+ (name "python-tornado-http-auth")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tornado-http-auth" version))
+ (sha256
+ (base32
+ "0znrgqd7k2s4ia474xizi6h3061zj4sn5n6cq76bkwl3wwshifn5"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-tornado" ,python-tornado)))
+ (home-page
+ "https://github.com/gvalkov/tornado-http-auth")
+ (synopsis
+ "Digest and basic authentication module for Tornado")
+ (description
+ "Provides support for adding authentication to services using the Tornado
+web framework, either via the basic or digest authentication schemes.")
+ (license license:asl2.0)))
+
;; the python- version can be removed with python-3.5
(define-public python-backports-abc
(package
(define-public python2-backports-abc
(package-with-python2 python-backports-abc))
+(define-public python-backports-csv
+ (package
+ (name "python-backports-csv")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "backports.csv" version))
+ (sha256
+ (base32
+ "1imzbrradkfn8s2m1qcimyn74dn1mz2p3j381jljn166rf2i6hlc"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/ryanhiebert/backports.csv")
+ (synopsis "Backport of Python 3's csv module for Python 2")
+ (description
+ "Provides a backport of Python 3's @code{csv} module for parsing
+comma separated values. The API of the @code{csv} module in Python 2
+is drastically different from the @code{csv} module in Python 3.
+This is due, for the most part, to the difference between str in
+Python 2 and Python 3.")
+ (license license:psfl)))
+
+(define-public python2-backports-csv
+ (package-with-python2 python-backports-csv))
+
(define-public python2-backports-shutil-get-terminal-size
(package
(name "python2-backports-shutil-get-terminal-size")
(define-public python2-flake8
(package-with-python2 python-flake8))
-;; This will only be needed by the python-hacking package and will not be
-;; necessary once python-hacking > 0.10.2 is released.
-(define-public python-flake8-2.2.4
- (package (inherit python-flake8)
- (propagated-inputs
- `(("python-pep8" ,python-pep8-1.5.7)
- ("python-pyflakes" ,python-pyflakes-0.8.1)
- ("python-mccabe" ,python-mccabe-0.2.1)))
- (native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
- (version "2.2.4")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "flake8" version))
- (sha256
- (base32
- "1r9wsry4va45h1rck5hxd3vzsg2q3y6lnl6pym1bxvz8ry19jwx8"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Remove pre-compiled .pyc files from source.
- (for-each delete-file-recursively
- (find-files "." "__pycache__" #:directories? #t))
- (for-each delete-file (find-files "." "\\.pyc$"))
- #t))))
- (arguments
- ;; XXX Fails with Python 3.5.
- '(#:tests? #f))))
-
-(define-public python2-flake8-2.2.4
- (package-with-python2 python-flake8-2.2.4))
-
(define-public python-flake8-polyfill
(package
(name "python-flake8-polyfill")
(define-public python-netaddr
(package
(name "python-netaddr")
- (version "0.7.18")
+ (version "0.7.19")
(source
(origin
(method url-fetch)
".tar.gz"))
(sha256
(base32
- "06dxjlbcicq7q3vqy8agq11ra01kvvd47j4mk6dmghjsyzyckxd1"))))
+ "1zdfadvpq4lmcqzr383gywxn4xyn355kj1n3lk9q2l03vmyfrbiq"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ;; No tests.
(home-page "https://github.com/drkjam/netaddr/")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "1.8.2")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
- "0hzvq0bfy21bc35p8z7zdxpv3hbvi7adg4axc1b5yd3hk16a1nh0"))))
+ "1qa117fs1yd50zn2cfxh7d9l999ds0z4h83m9m7j4fk6ffm33f5y"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "1.8.2")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography" version))
(sha256
(base32
- "1nmy4fw3zy7rlvarkhn33g9905rwpy9z7k5kv8j80f0s6ynfp24f"))))
+ "0fnck37zyvbzmccbp7w3jy27jgmij1992j5wyy3gxhw6a11b4jyh"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))
("python-cffi" ,python-cffi)
("python-six" ,python-six)
("python-idna" ,python-idna)
- ;; Packaging is used to check the version of python-cffi in
- ;; 'src/cryptography/hazmat/primitives/ciphers/base.py'. We should be
- ;; able to remove this dependency in the next release of cryptography:
- ;; python-cryptography:
- ;; https://github.com/pyca/cryptography/commit/0417d00d9ff1e19bc3ab67d39bdd18e1674768c1
- ("python-packaging" ,python-packaging)
("python-iso8601" ,python-iso8601)))
(native-inputs
`(("python-cryptography-vectors" ,python-cryptography-vectors)
(define-public python-pyopenssl
(package
(name "python-pyopenssl")
- (version "17.0.0")
+ (version "17.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyOpenSSL" version))
(sha256
(base32
- "1pdg1gpmkzj8yasg6cmkhcivxcdp4c12nif88y4qvsxq5ffzxas8"))
- (patches
- (search-patches "python-pyopenssl-skip-network-test.patch"))))
+ "0d283g4zi0hr9papd24mjl70mi15gyzq6fx618rizi87dgipqqax"))))
(build-system python-build-system)
(arguments
'(#:phases
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
- (zero? (system* "py.test" "-v")))))))
+ (zero? (system* "py.test" "-v" "-k"
+ (string-append
+ ;; This test tries to look up certificates from
+ ;; the compiled-in default path in OpenSSL, which
+ ;; does not exist in the build environment.
+ "not test_fallback_default_verify_paths "
+ ;; This test attempts to make a connection to
+ ;; an external web service.
+ "and not test_set_default_verify_paths"))))))))
(propagated-inputs
`(("python-cryptography" ,python-cryptography)
("python-six" ,python-six)))
(inputs
`(("openssl" ,openssl)))
(native-inputs
- `(("python-pytest" ,python-pytest-3.0)))
+ `(("python-flaky" ,python-flaky)
+ ("python-pretend" ,python-pretend)
+ ("python-pytest" ,python-pytest-3.0)))
(home-page "https://github.com/pyca/pyopenssl")
(synopsis "Python wrapper module around the OpenSSL library")
(description
(define-public python-nbformat
(package
(name "python-nbformat")
- (version "4.1.0")
+ (version "4.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nbformat" version))
(sha256
(base32
- "0mq8iki3d4mnx7wy05phss7x98mds4fqydin8lcagidp1knw1xnv"))))
+ "12s7j4qja8b5bs1kyw5dzmrqbjxxj8wk52cyasbiqbv7fblcrssz"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; no test target
(propagated-inputs
(define-public python-icalendar
(package
(name "python-icalendar")
- (version "3.11.4")
+ (version "3.11.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "icalendar" version))
(sha256
(base32
- "0ix3xxykz8hs8mx4f2063djawmd888y3vsl75fbvbfqvg67v35jn"))))
+ "1ny9mbm9zgghl612b8wc4ap52bz3kgl486d7f307gxjmlqgz3i64"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
(define-public python-vobject
(package
(name "python-vobject")
- (version "0.9.2")
+ (version "0.9.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "vobject" version))
(sha256
(base32
- "1qfnwlx8qwkgr6nf5wvl6ff1r3kll53dh3z6nyp173nmlhhhqccb"))))
+ "0hqjgf3ay1m5w1c0k00g5yfpdz1zni5qnr5rh9b8fg9hjvhwlmhg"))))
(build-system python-build-system)
(arguments
'(;; The test suite relies on some non-portable Windows interfaces.
`(("python2-ipaddress" ,python2-ipaddress)
,@(package-propagated-inputs base))))))
-(define-public python-fake-factory
- (package
- (name "python-fake-factory")
- (version "0.7.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "fake-factory" version))
- (sha256
- (base32
- "0vs0dkmg0dlaxf8w6q2i3k0i03gmp56ablldv7ci9x3nbadkn71g"))
- (patches
- (search-patches
- "python-fake-factory-fix-build-32bit.patch"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (zero? (system* "python" "-m" "unittest" "-v" "faker.tests")))))))
- (native-inputs
- `(;; For testing
- ("python-email-validator" ,python-email-validator)
- ("python-mock" ,python-mock)
- ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
- (propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-six" ,python-six)))
- (home-page "https://github.com/joke2k/faker")
- (synopsis "Python package that generates fake data")
- (description
- "Faker is a Python package that generates fake data such as names,
-addresses, and phone numbers.")
- (license license:expat)
- (properties `((python2-variant . ,(delay python2-fake-factory))
- (superseded . ,python-faker)))))
-
-(define-public python2-fake-factory
- (let ((base (package-with-python2 (strip-python2-variant
- python-fake-factory))))
- (package
- (inherit base)
- (properties `((superseded . ,python2-faker)))
- (propagated-inputs
- `(("python2-ipaddress" ,python2-ipaddress)
- ,@(package-propagated-inputs base))))))
-
(define-public python-pyaml
(package
(name "python-pyaml")
@command{nosetests} command of the Python Nose unit test framework.")
(license license:bsd-3)))
+(define-public python2-rednose
+ (package-with-python2 python-rednose))
+
(define-public python-flask-restplus
(package
(name "python-flask-restplus")
(build-system python-build-system)
(native-inputs
`(("python-pexpect" ,python-pexpect)
- ("tcsh" ,tcsh)))
+ ("tcsh" ,tcsh)
+ ("bash-full" ,bash))) ;full Bash for 'test_file_completion'
(home-page "https://github.com/kislyuk/argcomplete")
(synopsis "Shell tab completion for Python argparse")
(description "argcomplete provides extensible command line tab completion
(define-public python2-cliapp
(package
(name "python2-cliapp")
- (version "1.20160724")
+ (version "1.20170823")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "025cyi75vxyghbm4hav8dz4fzwksshddavy9g9fwr440awcvw74f"))))
+ "1i9gik0xrj6jmi95s5w988jl1y265baz5xm5pbqdyvsh8h9ln6yq"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(define-public python2-ttystatus
(package
(name "python2-ttystatus")
- (version "0.32")
+ (version "0.35")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0b5g889jj23r2w1hi300cdldx6jvspanp0ybf5n1qvdvl150aamf"))))
+ "0vivqbw7ddhsq1zj3g9cvvv4f0phl0pis2smsnwcr2szz2fk3hl6"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(define-public python-astroid
(package
(name "python-astroid")
- (version "1.4.9")
+ (version "1.5.3")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0j0wgy54d13a470vm4b9rdjk99n1hmdxpf34x9k3pbmi9w9b566z"))))
+ "0isn5p7f9n48hmksgbrj7dkm9dyglnayzn5jngk37qywg8a74ngn"))))
(build-system python-build-system)
(propagated-inputs
`(("python-lazy-object-proxy" ,python-lazy-object-proxy)
additional methods and attributes for different usages. They include some
support for static inference and local name scopes. Furthermore, astroid
builds partial trees by inspecting living objects.")
- (license license:lgpl2.1+)))
+ (license license:lgpl2.1+)
+ (properties `((python2-variant . ,(delay python2-astroid))))))
(define-public python2-astroid
- (package-with-python2 python-astroid))
+ (let ((base (package-with-python2
+ (strip-python2-variant python-astroid))))
+ (package (inherit base)
+ (propagated-inputs
+ `(("python2-backports-functools-lru-cache"
+ ,python2-backports-functools-lru-cache)
+ ("python2-enum34" ,python2-enum34)
+ ("python2-singledispatch" ,python2-singledispatch)
+ ,@(package-propagated-inputs base))))))
(define-public python-isort
(package
(define-public python-pylint
(package
(name "python-pylint")
- (version "1.6.5")
+ (version "1.7.2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "08pmgflmq2zrzrn9nkfadzwa5vybz46wvwxhrsd2mjlcgsh4rzbm"))))
+ "0mzn1czhf1mgr2wiqfihb274sja02h899b85kywdpivppa9nwrmp"))))
(build-system python-build-system)
(native-inputs
- `(("python-tox" ,python-tox)))
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-tox" ,python-tox)))
(propagated-inputs
`(("python-astroid" ,python-astroid)
("python-isort" ,python-isort)
all on a minimally sized program. It's highly configurable and handle
pragmas to control it from within your code. Additionally, it is
possible to write plugins to add your own checks.")
+ (properties `((python2-variant . ,(delay python2-pylint))))
(license license:gpl2+)))
(define-public python2-pylint
- (let ((pylint (package-with-python2 python-pylint)))
+ (let ((pylint (package-with-python2
+ (strip-python2-variant python-pylint))))
(package (inherit pylint)
(propagated-inputs
`(("python2-backports-functools-lru-cache"
(define-public python2-pytest-warnings
(package-with-python2 python-pytest-warnings))
+(define-public python-pytest-capturelog
+ (package
+ (name "python-pytest-capturelog")
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-capturelog" version ".tar.gz"))
+ (sha256
+ (base32
+ "038049nyjl7di59ycnxvc9nydivc5m8np3hqq84j2iirkccdbs5n"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("pytest" ,python-pytest-3.0)))
+ (home-page "http://bitbucket.org/memedough/pytest-capturelog/overview")
+ (synopsis "Pytest plugin to catch log messages")
+ (description
+ "Python-pytest-catchlog is a pytest plugin to catch log messages.")
+ (license license:expat)))
+
+(define-public python2-pytest-capturelog
+ (package-with-python2 python-pytest-capturelog))
+
(define-public python-pytest-catchlog
(package
(name "python-pytest-catchlog")
(define-public python2-jsonpointer
(package-with-python2 python-jsonpointer))
+(define-public python-jsonpatch
+ (package
+ (name "python-jsonpatch")
+ (version "1.16")
+ (source
+ (origin
+ (method url-fetch)
+ ;; pypi version lacks tests.js
+ (uri (string-append "https://github.com/stefankoegl/python-json-patch/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "085ykisl8v7mv9h7hvhdy3l2fjzs4214gx32r5k6nx4f76hbv6y5"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-jsonpointer" ,python-jsonpointer)))
+ (home-page "https://github.com/stefankoegl/python-json-patch")
+ (synopsis "Applying JSON Patches in Python 2.6+ and 3.x")
+ (description "@code{jsonpatch} is a library and program that allows
+applying JSON Patches according to RFC 6902.")
+ (license license:bsd-3)))
+
+(define-public python2-jsonpatch
+ (package-with-python2 python-jsonpatch))
+
+(define-public python-jsonpatch-0.4
+ (package (inherit python-jsonpatch)
+ (name "python-jsonpatch")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/stefankoegl/python-json-patch/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0j0cd9z9zyp8kppp464jxrfgrnbgkzl1yi10i5gsv8yz6d95929d"))))))
+
+(define-public python2-jsonpatch-0.4
+ (package-with-python2 python-jsonpatch-0.4))
+
(define-public python-rfc3987
(package
(name "python-rfc3987")
(define-public python-marshmallow
(package
(name "python-marshmallow")
- (version "3.0.0b2")
+ (version "3.0.0b3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "marshmallow" version))
(sha256
(base32
- "11bnpvfdbczr74177p295zbkdrax2cahvbj5bqhhlprgz2xxi5d9"))))
+ "07mcrij1yvk85lvgx44wwr9pc80xryghvlgayb057g1cazcypysd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
(define-public python2-swagger-spec-validator
(package-with-python2 python-swagger-spec-validator))
+
+(define-public python-apache-libcloud
+ (package
+ (name "python-apache-libcloud")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "apache-libcloud" version))
+ (sha256
+ (base32
+ "1a71z02ckcxld72k4qgmdnkjan52c4wczncs3p2mp5yafh7dsan7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-ssh
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "libcloud/compute/ssh.py"
+ (("'ssh'") (string-append "'" (assoc-ref inputs "openssh")
+ "/bin/ssh" "'")))
+ #t))
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "./libcloud/test/test_file_fixtures.py"
+ ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-923>.
+ (("def _ascii") "def _raw_data(self, method, url, body, headers):
+ return (httplib.OK,
+ \"1234abcd\",
+ {\"test\": \"value\"},
+ httplib.responses[httplib.OK])
+ def _ascii"))
+ (substitute* "libcloud/test/compute/test_ssh_client.py"
+ (("class ShellOutSSHClientTests")
+ "@unittest.skip(\"Guix container doesn't have ssh service\")
+class ShellOutSSHClientTests")
+ ;; See <https://issues.apache.org/jira/browse/LIBCLOUD-924>.
+ (("'.xf0.x90.x8d.x88'") "b'\\xF0\\x90\\x8D\\x88'")
+ (("'.xF0', '.x90', '.x8D', '.x88'")
+ "b'\\xF0', b'\\x90', b'\\x8D', b'\\x88'"))
+ #t)))))
+ (inputs
+ `(("openssh" ,openssh)))
+ (propagated-inputs
+ `(("python-paramiko" ,python-paramiko)
+ ("python-requests" ,python-requests)))
+ (native-inputs
+ `(("python-lockfile" ,python-lockfile)
+ ("python-mock" ,python-mock)
+ ("python-requests-mock" ,python-requests-mock)))
+ (home-page "https://libcloud.apache.org/")
+ (synopsis "Unified Cloud API")
+ (description "@code{libcloud} is a Python library for interacting with
+many of the popular cloud service providers using a unified API.")
+ (license license:asl2.0)))
+
+(define-public python2-apache-libcloud
+ (package-with-python2 python-apache-libcloud))
+
+(define-public python-smmap2
+ (package
+ (name "python-smmap2")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "smmap2" version))
+ (sha256
+ (base32
+ "1hvn28p3zvxa98sbi9lrqvv2ps4q284j4jq9a619zw0m7yv0sly7"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nosexcover" ,python-nosexcover)))
+ (home-page "https://github.com/Byron/smmap")
+ (synopsis "Python sliding window memory map manager")
+ (description "@code{smmap2} is a pure Python implementation of a sliding
+window memory map manager.")
+ (license license:bsd-3)))
+
+(define-public python2-smmap2
+ (package-with-python2 python-smmap2))
+
+(define-public python-regex
+ (package
+ (name "python-regex")
+ (version "2017.06.07")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "regex" version))
+ (sha256
+ (base32
+ "06r6b7yigikbj3a72whl85r2b64pj1r0ypmw9yalmkm0wnxq8mz4"))))
+ (build-system python-build-system)
+ (home-page "https://bitbucket.org/mrabarnett/mrab-regex")
+ (synopsis "Alternative regular expression module")
+ (description "This regular expression implementation is backwards-
+compatible with the standard @code{re} module, but offers additional
+functionality like full case-folding for case-insensitive matches in Unicode.")
+ (license license:psfl)))
+
+(define-public python2-regex
+ (package-with-python2 python-regex))
+
+(define-public python2-pyopengl
+ (package
+ (name "python2-pyopengl")
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyOpenGL" version))
+ (sha256
+ (base32
+ "1byxjj6a8rwzhxhjqlc588zdad2qwxdd7vlam2653ylll31waiwv"))))
+ (arguments
+ `(#:python ,python-2))
+ (build-system python-build-system)
+ (home-page "http://pyopengl.sourceforge.net")
+ (synopsis "Standard OpenGL bindings for Python")
+ (description
+ "PyOpenGL is the most common cross platform Python binding to OpenGL and
+related APIs. The binding is created using the standard @code{ctypes}
+library.")
+ (license license:bsd-3)))
+
+(define-public python-rencode
+ (package
+ (name "python-rencode")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rencode" version))
+ (sha256
+ (base32
+ "08if5yax1xn5yfp8p3765ccjmfcv9di7i4m5jckgnwvdsgznwkbj"))))
+ (build-system python-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("python-cython", python-cython)))
+ (home-page "https://github.com/aresch/rencode")
+ (synopsis "Serialization of heterogeneous data structures")
+ (description
+ "The @code{rencode} module is a data structure serialization library,
+similar to @code{bencode} from the BitTorrent project. For complex,
+heterogeneous data structures with many small elements, r-encoding stake up
+significantly less space than b-encodings. This version of rencode is a
+complete rewrite in Cython to attempt to increase the performance over the
+pure Python module.")
+ (license license:bsd-3)))
+
+(define-public python2-rencode
+ (package-with-python2 python-rencode))
+
+(define-public python-flask-principal
+ (package
+ (name "python-flask-principal")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask-Principal" version))
+ (sha256
+ (base32
+ "0lwlr5smz8vfm5h9a9i7da3q1c24xqc6vm9jdywdpgxfbi5i7mpm"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-blinker" ,python-blinker)))
+ (native-inputs
+ `(("python-flask" ,python-flask)
+ ("python-nose" ,python-nose)))
+ (home-page "http://packages.python.org/Flask-Principal/")
+ (synopsis "Identity management for Flask")
+ (description "@code{flask_principal} is a identity management library for
+Flask. It supports managing both authentication and authorization data in a
+thread-local variable.")
+ (license license:expat)))
+
+(define-public python2-flask-principal
+ (package-with-python2 python-flask-principal))
+
+(define-public python-flask-httpauth
+ (package
+ (name "python-flask-httpauth")
+ (version "3.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask-HTTPAuth" version))
+ (sha256
+ (base32
+ "13gff5w1mqpzm5nccyg02v3ifb9ifqh5k866cssjhghhg6msfjsz"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-flask" ,python-flask)))
+ (home-page "http://github.com/miguelgrinberg/flask-httpauth/")
+ (synopsis "Basic and Digest HTTP authentication for Flask routes")
+ (description "@code{flask_httpauth} provides Basic and Digest HTTP
+authentication for Flask routes.")
+ (license license:expat)))
+
+(define-public python2-flask-httpauth
+ (package-with-python2 python-flask-httpauth))