From 7dca3b9e0aa7fdbe69088f8c6a01b3398f2ff560 Mon Sep 17 00:00:00 2001 From: wrobell Date: Wed, 18 Jun 2025 19:55:59 +0100 Subject: [PATCH] gnu: Add python-guardpost. * gnu/packages/python-web.scm (python-guardpost): New variable. Change-Id: Ib77bb20020770ac5a3369e97279b19bd75bbcc8b Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-web.scm | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index f40c068eeb1993d160a2b243a0549823a8f2f91e..18714354258ea12e1933bfdebd75a4a2be0bdfdc 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: + ;; . + #: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")