From 3ba9d0ce8d9b0c5d90c117854ffc8635f0a44e4d Mon Sep 17 00:00:00 2001 From: Ghislain Vaillant Date: Mon, 27 Oct 2025 14:17:00 +0100 Subject: [PATCH] gnu: Add python-aiohttp-retry. * gnu/packages/python-web.scm (python-aiohttp-retry): New variable. Change-Id: I46f42d0f6a205a264eb1e9c9d00e3cd792dbfe3c Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-web.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index d2fdfb738236ebcb7611b59de90f804c576e6060..cc92f3183d01b8e70fbf8a6aebfabc4d5f660ca0 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1978,6 +1978,41 @@ to the absence of the @samp{motor} and @samp{aioboto3} package dependencies.") support for aiohttp asyncio-powered asynchronous HTTP server.") (license license:asl2.0))) +(define-public python-aiohttp-retry + (package + (name "python-aiohttp-retry") + (version "2.9.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/inyutin/aiohttp_retry") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r5lxnxc4s8js7l86pfmdxl455v9lg3m41nz6m1xg4kwwf6j0bpi")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest + python-pytest-aiohttp + python-setuptools)) + (propagated-inputs + (list python-aiohttp)) + (home-page "https://github.com/inyutin/aiohttp_retry") + (synopsis "Simple retry client for aiohttp") + (description + "This package implements @code{RetryClient} for @code{aiohttp} to retry +connection to provided endpoint with timeouts logic or use: + +@itemize +@item @code{ExponentialRetry} with exponential backoff +@item @code{RandomRetry} for random backoff +@item @code{ListRetry} with backoff you predefine by list +@item @code{FibonacciRetry} with backoff that looks like fibonacci sequence +@item @code{JitterRetry} exponential retry with a bit of randomness +@end itemize") + (license license:expat))) + (define-public python-aiohttp-socks (package (name "python-aiohttp-socks")