summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-18 01:35:21 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:52 -0400
commit0d585039704e9c6848d92f4f85a90dec49049a97 (patch)
treea3b5c110795a083e6621a7e09950dce3fc377ab8 /gnu
parentdf95872d103f6649c81630b3f73391e741409ad7 (diff)
downloadguix-0d585039704e9c6848d92f4f85a90dec49049a97.tar.gz
gnu: Add python-pecan.
* gnu/packages/python-web.scm (python-pecan): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-web.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 0e837c8180..9e8ae40382 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5901,6 +5901,53 @@ Swagger.")
      "Manuel lets you mix and match traditional doctests with custom test syntax.")
     (license license:asl2.0)))
 
+(define-public python-pecan
+  (package
+    (name "python-pecan")
+    (version "1.4.1")
+    (source
+     (origin
+       (method git-fetch)               ;no tests in pypi release
+       (uri (git-reference
+             (url "https://github.com/pecan/pecan")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "10lz0cqafx3j24m52vv9ph0bxrzyx6wv2dgz7g9kfm60lhaskqkh"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'relax-requirements
+            (lambda _
+              (substitute* "test-requirements.txt"
+                ;; Drop extraneous virtualenv requirement.
+                ((".*virtualenv.*") ""))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv" "pecan")))))))
+    (native-inputs
+     (list gunicorn
+           python-genshi
+           python-jinja2
+           python-pytest
+           python-sqlalchemy
+           uwsgi))
+    (propagated-inputs
+     (list python-logutils
+           python-mako
+           python-six
+           python-webob
+           python-webtest))
+    (home-page "http://github.com/pecan/pecan")
+    (synopsis "WSGI object-dispatching web framework")
+    (description "This package provides a WSGI object-dispatching web
+framework, designed to be lean and fast, with few dependencies.")
+    (license license:bsd-3)))
+
 (define-public python-persistent
   (package
     (name "python-persistent")