summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwrobell <wrobell@riseup.net>2025-06-18 19:55:59 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-09-28 00:34:27 +0100
commit7dca3b9e0aa7fdbe69088f8c6a01b3398f2ff560 (patch)
tree5e956d3a429dcc989b4264c1430ae7b398c4038c
parentb286fc5ac19b55f9c6b83db53c1a61280e091da5 (diff)
gnu: Add python-guardpost.
* gnu/packages/python-web.scm (python-guardpost): New variable. Change-Id: Ib77bb20020770ac5a3369e97279b19bd75bbcc8b Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r--gnu/packages/python-web.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index f40c068eeb..1871435425 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -848,6 +848,51 @@ formats (PDF/XML/CSV).")
@url{https://www.globus.org/, Globus} APIs.")
(license license:asl2.0)))
+(define-public python-guardpost
+ (package
+ (name "python-guardpost")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Neoteroi/guardpost")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cwxxxhazpaphhcysgpivk51vp76zdf7hrryc1vr6vlp2zzgwsxd"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Possible timing issue, see:
+ ;; <https://github.com/Neoteroi/GuardPost/issues/18>.
+ #:test-flags '(list "--ignore=tests/test_jwts.py")))
+ (native-inputs
+ (list python-cryptography
+ python-flask
+ python-hatchling
+ python-pyjwt
+ python-pytest
+ python-pytest-asyncio))
+ (propagated-inputs
+ (list python-rodi))
+ (home-page "https://github.com/Neoteroi/GuardPost/")
+ (synopsis
+ "Authentication and authorization framework for Python applications")
+ (description
+ "GuardPost is a framework to handle authentication and
+authorization in asynchronous Python applications.
+
+Its features include
+
+@itemize
+@item Strategy to implement authentication.
+@item Strategy to implement authorization.
+@item Support for dependency injection
+@item Built-in support for JSON Web Tokens (JWTs) authentication.
+@end itemize")
+ (license license:expat)))
+
(define-public python-hookdns
(package
(name "python-hookdns")