Subject: [PATCHES] Add python-sanic and dependencies.

From: paul <[email-masked]>
Date: Thu, 11 Jun 2020 22:41:12 +0200

Hi I'm sending an updated version of patch 24 and patch 26.

Thanks again,

Giacomo

>From 121ffb5b3f3c5e19d4a84270edcff6c89f788d3e Mon Sep 17 00:00:00 2001
From: Giacomo Leidi <[email-masked]>
Date: Wed, 10 Jun 2020 18:08:03 +0200
Subject: [PATCH 24/26] gnu: Add python-httpx.

* gnu/packages/python-web.scm (python-httpx): New variable.
---
 gnu/packages/python-web.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index d40dad2e00..3dd14e41ec 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4206,3 +4206,34 @@ codebase that is capable of decoding a binary stream into HTTP/2 frames.")
      "@code{python-hstspreload} contains Chromium HSTS Preload list
 as a Python package.")
     (license license:bsd-3)))
+
+(define-public python-httpx
+  (package
+    (name "python-httpx")
+    (version "0.13.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "httpx" version))
+       (sha256
+        (base32
+         "1bpg46mx8n74hxmw2pvgr5pc590hxdsh4wrs4j5bm00bx49vshin"))))
+    (build-system python-build-system)
+    (arguments
+     ;; FIXME: Tests depend on httpcore.
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-certifi" ,python-certifi)
+       ("python-chardet" ,python-chardet)
+       ("python-h11" ,python-h11)
+       ("python-h2" ,python-h2)
+       ("python-hstspreload" ,python-hstspreload)
+       ("python-idna" ,python-idna)
+       ("python-rfc3986" ,python-rfc3986)
+       ("python-sniffio" ,python-sniffio)
+       ("python-urllib3" ,python-urllib3)))
+    (home-page "https://github.com/encode/httpx")
+    (synopsis "HTTP client for Python")
+    (description "HTTPX is a fully featured HTTP client for Python 3,
+which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.")
+    (license license:bsd-3)))
-- 
2.26.2

>From b3a25e0bde18087fcbf769cdb5e604996b479829 Mon Sep 17 00:00:00 2001
From: Giacomo Leidi <[email-masked]>
Date: Thu, 11 Jun 2020 16:43:26 +0200
Subject: [PATCH 26/26] gnu: Add python-sanic.

* gnu/packages/python-web.scm (python-sanic): New variable,
(python-httpx-0.11): New variable.
---
 gnu/packages/python-web.scm | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 3dd14e41ec..22b1b1299e 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4237,3 +4237,52 @@ as a Python package.")
     (description "HTTPX is a fully featured HTTP client for Python 3,
 which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.")
     (license license:bsd-3)))
+
+;; This is only for python-sanic
+(define-public python-httpx-0.11
+  (package (inherit python-httpx)
+    (version "0.11.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "httpx" version))
+        (sha256
+          (base32
+           "1xrwlgnzm9x0d92s22ypli4cybwwv8idpp8m7naigmzfdrrgnavx"))))
+    (arguments
+     ;; FIXME: Tests can't import rfc3986.
+     `(#:tests? #f))))
+
+(define-public python-sanic
+  (package
+    (name "python-sanic")
+    (version "20.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "sanic" version))
+       (sha256
+        (base32
+         "1zssckzjsa1qi2bxirn0dksszmfhsbrkakvfx3r080sdcph8y1xl"))))
+    (build-system python-build-system)
+    (arguments
+     ;; FIXME: Tests depend on httpcore.
+     `(#:tests? #f))
+    (propagated-inputs
+     `(("python-aiofiles" ,python-aiofiles)
+       ("python-httptools" ,python-httptools)
+       ("python-httpx" ,python-httpx-0.11)
+       ("python-multidict" ,python-multidict)
+       ("python-ujson" ,python-ujson)
+       ("python-uvloop" ,python-uvloop)
+       ("python-websockets" ,python-websockets)))
+    (home-page
+     "https://github.com/huge-success/sanic/")
+    (synopsis
+     "Async Python 3.6+ web server/framework")
+    (description
+     "Sanic is a Python 3.6+ web server and web framework
+that's written to go fast.  It allows the usage of the
+@code{async/await} syntax added in Python 3.5, which makes
+your code non-blocking and speedy.")
+    (license license:expat)))
-- 
2.26.2