summaryrefslogtreecommitdiff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2018-08-29 00:06:28 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2018-10-14 22:02:40 -0400
commitbb840999c8592b0077c78170e135b59bc79638ed (patch)
tree84f480d8a41484efb30ff1420955220668702f34 /gnu/packages/python-web.scm
parent0731fc1ce7f397724708f4956e6bdeb9c01c6762 (diff)
gnu: Add python-falcon.
* gnu/packages/python-web.scm (python-falcon): New variable.
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 2a7487202a7..77fb99dc562 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -26,6 +26,7 @@
26;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> 26;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
27;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> 27;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
28;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> 28;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
29;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
29;;; 30;;;
30;;; This file is part of GNU Guix. 31;;; This file is part of GNU Guix.
31;;; 32;;;
@@ -127,6 +128,59 @@ asynchronous DNS resolutions with a synchronous looking interface by
127using @url{https://github.com/saghul/pycares,pycares}.") 128using @url{https://github.com/saghul/pycares,pycares}.")
128 (license license:expat))) 129 (license license:expat)))
129 130
131(define-public python-falcon
132 (package
133 (name "python-falcon")
134 (version "1.4.1")
135 (source
136 (origin
137 (method url-fetch)
138 (uri (pypi-uri "falcon" version))
139 (sha256
140 (base32
141 "1i0vmqsk24z4biirqhpvas9h28wy7nmpy3jvnb6rz2imq04zd09r"))))
142 (build-system python-build-system)
143 (arguments
144 `(#:phases
145 (modify-phases %standard-phases
146 (replace 'check
147 (lambda _
148 (invoke "pytest"))))))
149 (propagated-inputs
150 `(("python-mimeparse" ,python-mimeparse)
151 ("python-six" ,python-six)))
152 (native-inputs
153 `(("python-cython" ,python-cython) ;for faster binaries
154 ("python-pytest" ,python-pytest)
155 ("python-pyyaml" ,python-pyyaml)
156 ("python-requests" ,python-requests)
157 ("python-testtools" ,python-testtools)
158 ("python-jsonschema" ,python-jsonschema)
159 ("python-msgpack" ,python-msgpack)))
160 (home-page "https://falconframework.org")
161 (synopsis
162 "Web framework for building APIs and application backends")
163 (description
164 "Falcon is a web API framework for building microservices, application
165backends and higher-level frameworks. Among its features are:
166@itemize
167@item Optimized and extensible code base
168@item Routing via URI templates and REST-inspired resource
169classes
170@item Access to headers and bodies through request and response
171classes
172@item Request processing via middleware components and hooks
173@item Idiomatic HTTP error responses
174@item Straightforward exception handling
175@item Unit testing support through WSGI helpers and mocks
176@item Compatible with both CPython and PyPy
177@item Cython support for better performance when used with CPython
178@end itemize")
179 (license license:asl2.0)))
180
181(define-public python2-falcon
182 (package-with-python2 python-falcon))
183
130(define-public python-furl 184(define-public python-furl
131 (package 185 (package
132 (name "python-furl") 186 (name "python-furl")