aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm105
1 files changed, 75 insertions, 30 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 219b7f9fe2..dce651246c 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
+;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,11 +46,13 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
@@ -138,14 +141,14 @@ between a web browser and web server.")
(define-public python-flask-babel
(package
(name "python-flask-babel")
- (version "0.11.1")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Flask-Babel" version))
(sha256
(base32
- "16b80cipdba9xj3jlaiaq6wgrgpjb70w3j01jjy9hbp4k71kd6yj"))))
+ "0ff9n165vhf1nhv6807ckhpp224jw7k7sd7jz5kfh3sbpl85gmy0"))))
(build-system python-build-system)
(propagated-inputs
`(("python-flask" ,python-flask)
@@ -165,14 +168,14 @@ both of which are installed automatically if you install this library.")
(define-public python-html5lib
(package
(name "python-html5lib")
- (version "1.0b10")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "html5lib" version))
(sha256
(base32
- "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd"))))
+ "0dipzfrycv6j1jw82v9b7d8lzggx3x8xngx6l4xrqkxwvg7hvjv6"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
@@ -238,23 +241,58 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
(define-public python2-html5-parser
(package-with-python2 python-html5-parser))
+(define-public python-pycurl
+ (package
+ (name "python-pycurl")
+ (version "7.43.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dl.bintray.com/pycurl/pycurl/pycurl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1ali1gjs9iliwjra7w0y5hwg79a2fd0f4ydvv6k27sgxpbr1n8s3"))))
+ (build-system python-build-system)
+ (arguments
+ ;; The tests attempt to access external web servers, so we cannot run
+ ;; them. Furthermore, they are skipped altogether when using Python 2.
+ '(#:tests? #f))
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-bottle" ,python-bottle)))
+ (inputs
+ `(("curl" ,curl)
+ ("gnutls" ,gnutls)))
+ (home-page "http://pycurl.io/")
+ (synopsis "Lightweight Python wrapper around libcurl")
+ (description "Pycurl is a lightweight wrapper around libcurl. It provides
+high-speed transfers via libcurl and frequently outperforms alternatives.")
+
+ ;; Per 'README.rst', this is dual-licensed: users can redistribute pycurl
+ ;; under the terms of LGPLv2.1+ or Expat.
+ (license (list license:lgpl2.1+ license:expat))))
+
+(define-public python2-pycurl
+ (package-with-python2 python-pycurl))
+
(define-public python-webencodings
(package
(name "python-webencodings")
- (version "0.5")
+ (version "0.5.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "webencodings" version))
(sha256
(base32
- "015rw7662lkpb9aqiqah2hbizk6w531badqwjpz41rr47glmxid5"))))
+ "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (zero? (system* "py.test" "-v" "webencodings/tests.py")))))))
+ (invoke "py.test" "-v" "webencodings/tests.py")
+ #t)))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/SimonSapin/python-webencodings")
@@ -264,7 +302,7 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
something like @code{Content-Type: text/html; charset=latin1}, tools need
to use a particular set of aliases for encoding labels as well as some
overriding rules. For example, @code{US-ASCII} and @code{iso-8859-1} on
-the web are actually aliases for @code{windows-1252}, and an @code{UTF-8}
+the web are actually aliases for @code{windows-1252}, and a @code{UTF-8}
or @code{UTF-16} BOM takes precedence over any other encoding declaration.
The WHATWG @url{https://encoding.spec.whatwg.org/,Encoding} standard
defines all such details so that implementations do not have to
@@ -295,7 +333,8 @@ is Python’s.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (zero? (system* "./admin/runtests")))))))
+ (invoke "./admin/runtests")
+ #t)))))
(properties `((python2-variant . ,(delay python2-openid))))
(propagated-inputs
`(("python-defusedxml" ,python-defusedxml)))
@@ -332,19 +371,19 @@ for clients and servers.")
(define-public python-cssutils
(package
(name "python-cssutils")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cssutils" version))
(sha256
(base32
- "0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq"))))
+ "1bxchrbqzapwijap0yhlxdil1w9bmwvgx77aizlkhc2mcxjg1z52"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip))) ; for unpacking the source
+ `(("unzip" ,unzip))) ; for unpacking the source
(arguments
- `(#:tests? #f)) ;tests require python-pbr < 1.7.0
+ `(#:tests? #f)) ; tests require python-pbr < 1.7.0
(home-page "http://cthedot.de/cssutils/")
(synopsis
"CSS Cascading Style Sheets library for Python")
@@ -451,7 +490,8 @@ teams extension for python-openid.")
;; (lambda _
;; ;; 'setup.py test' hits an AssertionError on BSD-specific
;; ;; "tornado/platform/kqueue.py". This is the supported method:
- ;; (zero? (system* "python" "-m" "tornado.test")))))
+ ;; (invoke- "python" "-m" "tornado.test")
+ ;; #t)))
#:tests? #f))
(native-inputs
`(("python-certifi" ,python-certifi)))
@@ -522,7 +562,8 @@ web framework, either via the basic or digest authentication schemes.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (zero? (system* "nosetests")))))))
+ (invoke "nosetests")
+ #t)))))
(home-page "https://github.com/takluyver/terminado")
(synopsis "Terminals served to term.js using Tornado websockets")
(description "This package provides a Tornado websocket backend for the
@@ -956,13 +997,13 @@ facilities for defining, registering and looking up components.")
(define-public python-ndg-httpsclient
(package
(name "python-ndg-httpsclient")
- (version "0.4.2")
+ (version "0.4.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "ndg_httpsclient" version))
(sha256
(base32
- "1b5qirv46v4dpnmfqviwq42mdwfcby4dxmz0i41wad2337pqf2aq"))))
+ "0sl5ak1r1xil9ms0a9fh9fm6ncml65kgnjpjfic9dhnaimwx997v"))))
(build-system python-build-system)
(arguments
'(;; The tests appear to require networking.
@@ -1306,14 +1347,14 @@ file.")
(define-public python-webtest
(package
(name "python-webtest")
- (version "2.0.20")
+ (version "2.0.29")
(source
(origin
(method url-fetch)
(uri (pypi-uri "WebTest" version))
(sha256
(base32
- "0bv0qhdjakdsdgj4sk21gnpp8xp8bga4x03p6gjb83ihrsb7n4xv"))))
+ "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v"))))
(build-system python-build-system)
(arguments
`(;; Unfortunately we have to disable tests!
@@ -1519,7 +1560,8 @@ library.")
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
- (zero? (system* "py.test" "src/geventhttpclient/tests" "-v")))))))
+ (invoke "py.test" "src/geventhttpclient/tests" "-v")
+ #t)))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
@@ -1629,7 +1671,8 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients."
(setenv "PYTHONPATH"
(string-append (getcwd) "/build/lib:"
(getenv "PYTHONPATH")))
- (zero? (system* "py.test" "-vv")))))))
+ (invoke "py.test" "-vv")
+ #t)))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-redis" ,python-redis)
@@ -1700,13 +1743,13 @@ Betamax.")
(define-public python-s3transfer
(package
(name "python-s3transfer")
- (version "0.1.11")
+ (version "0.1.13")
(source (origin
(method url-fetch)
(uri (pypi-uri "s3transfer" version))
(sha256
(base32
- "0yfrfnf404cxzn3iswibqjxklsl0b1lwgqiml6pwiqj79a7zbwbn"))))
+ "1harvyn1s8v54n1w5h7c0lg4bgjh68aylhg28s8n174q53h1ip4h"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1715,7 +1758,8 @@ Betamax.")
(lambda _
;; 7 of the 'integration' tests require network access or login
;; credentials.
- (zero? (system* "nosetests" "--exclude=integration")))))))
+ (invoke "nosetests" "--exclude=integration")
+ #t)))))
(native-inputs
`(("python-docutils" ,python-docutils)
("python-mock" ,python-mock)
@@ -1831,7 +1875,8 @@ transfers.")
;; (modify-phases %standard-phases
;; (replace 'check
;; (lambda _
- ;; (zero? (system* "nosetests")))))))
+ ;; (invoke "nosetests")
+ ;; #t)))))
(propagated-inputs
`(("python-aniso8601" ,python-aniso8601)
("python-flask" ,python-flask)
@@ -1877,16 +1922,16 @@ specs from your Flask-Restful projects.")
(define-public python-htmlmin
(package
(name "python-htmlmin")
- (version "0.1.10")
+ (version "0.1.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "htmlmin" version))
(sha256
(base32
- "0qxa93j3p1ak32qh8d9kshqv8v3z0hkc13dwbhp5cn7sn3xmsp6a"))))
+ "0y51xhabw6x8jk8k93xl8vznshpz3jb6l28075r5sjip613fzhah"))))
(arguments
- `(#:tests? #f)) ;htmlmin has no tests
+ `(#:tests? #f)) ; no tests
(build-system python-build-system)
(home-page "https://htmlmin.readthedocs.org/en/latest/")
(synopsis "HTML minifier")
@@ -2081,14 +2126,14 @@ this it tries to be opinion-free and very extendable.")
(define-public python-flask-script
(package
(name "python-flask-script")
- (version "2.0.5")
+ (version "2.0.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Flask-Script" version))
(sha256
(base32
- "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf"))))
+ "0r8w2v89nj6b9p91p495cga5m72a673l2wc0hp0zqk05j4yrc9b4"))))
(build-system python-build-system)
(propagated-inputs
`(("python-flask" ,python-flask)