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.scm109
1 files changed, 109 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6e8d9ab954..8ebae2e4b7 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
+;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +61,70 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1))
+(define-public python-aiohttp
+ (package
+ (name "python-aiohttp")
+ (version "3.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aiohttp" version))
+ (sha256
+ (base32
+ "1b888lggmyf2d08rfayq9khszzc0pav1z70ssc0b4d9kkr4g1klz"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;FIXME: 2 errors, 2084 passed
+ (native-inputs
+ `(("python-async-generator" ,python-async-generator)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-capturelog" ,python-pytest-capturelog)
+ ("python-pytest-mock" ,python-pytest-mock)))
+ (propagated-inputs
+ `(("python-aiodns" ,python-aiodns)
+ ("python-async-timeout" ,python-async-timeout)
+ ("python-attrs" ,python-attrs)
+ ("python-chardet" ,python-chardet)
+ ("python-idna-ssl" ,python-idna-ssl)
+ ("python-multidict" ,python-multidict)
+ ("python-yarl" ,python-yarl)))
+ (home-page "https://github.com/aio-libs/aiohttp/")
+ (synopsis "Async HTTP client/server framework (asyncio)")
+ (description "@code{aiohttp} is an asynchronous HTTP client/server
+framework.
+
+Its main features are:
+@itemize
+@item Supports both client and server side of HTTP protocol.
+@item Supports both client and server Web-Sockets out-of-the-box without the
+Callback Hell.
+@item Web-server has middlewares and pluggable routing.
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public python-aiodns
+ (package
+ (name "python-aiodns")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aiodns" version))
+ (sha256
+ (base32
+ "1snr5paql8dgvc676n8xq460wypjsb1xj53cf3px1s4wczf7lryq"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-pycares" ,python-pycares)))
+ (arguments
+ `(#:tests? #f)) ;tests require internet access
+ (home-page "http://github.com/saghul/aiodns")
+ (synopsis "Simple DNS resolver for asyncio")
+ (description "@code{aiodns} provides a simple way for doing
+asynchronous DNS resolutions with a synchronous looking interface by
+using @url{https://github.com/saghul/pycares,pycares}.")
+ (license license:expat)))
+
(define-public python-furl
(package
(name "python-furl")
@@ -2511,3 +2576,47 @@ protocols, it supports features like HTTP keep-alive, reget, throttling and
more.")
(license license:lgpl2.1+)))
+(define-public python-pycares
+ (package
+ (name "python-pycares")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pycares" version))
+ (sha256
+ (base32
+ "0h4fxw5drrhfyslzmfpljk0qnnpbhhb20hnnndzahhbwylyw1x1n"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;tests require internet access
+ (home-page "http://github.com/saghul/pycares")
+ (synopsis "Python interface for @code{c-ares}")
+ (description "@code{pycares} is a Python module which provides an
+interface to @code{c-ares}, a C library that performs DNS requests and
+name resolutions asynchronously.")
+ (license license:expat)))
+
+(define-public python-yarl
+ (package
+ (name "python-yarl")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "yarl" version))
+ (sha256
+ (base32
+ "1s6z13g8vgxfkkqwhn6imnm7pl7ky9arv4jygnn6bcndcbidg7d6"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (propagated-inputs
+ `(("python-idna" ,python-idna)
+ ("python-multidict" ,python-multidict)))
+ (home-page "https://github.com/aio-libs/yarl/")
+ (synopsis "Yet another URL library")
+ (description "@code{yarl} module provides handy @code{URL} class
+for URL parsing and changing.")
+ (license license:asl2.0)))