aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorVinicius Monego <monego@posteo.net>2024-05-13 20:52:08 +0000
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-10-24 10:59:59 +0100
commit116a6c78f131768c95af068d7ef8f11c430ac51f (patch)
treea000625eeab95825d658e06aef0386cd08f8b0a4 /gnu/packages/python-xyz.scm
parent15033a1e63e3c6a987a2bd4c75663dcb08623109 (diff)
downloadguix-116a6c78f131768c95af068d7ef8f11c430ac51f.tar.gz
guix-116a6c78f131768c95af068d7ef8f11c430ac51f.zip
gnu: Add python-async-lru.
* gnu/packages/python-xyz.scm (python-async-lru): New variable. Change-Id: I980f53542ae44c6a2127677171d16b29aa4a3d64 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e16ff2fd80..016ce24ab2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -22635,6 +22635,34 @@ multitouch applications.")
Design spec without sacrificing ease of use or application performance.")
(license license:expat)))
+(define-public python-async-lru
+ (package
+ (name "python-async-lru")
+ (version "2.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "async-lru" version))
+ (sha256
+ (base32 "09sn3bc3gc2flijm9k8kn4hmbnlkaddhqahb49izy188yrfrm9dq"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-asyncio
+ python-pytest-timeout
+ python-setuptools))
+ (propagated-inputs
+ (list python-typing-extensions))
+ (home-page "https://github.com/aio-libs/async-lru")
+ (synopsis "Simple LRU cache for asyncio")
+ (description
+ "This package is a port of Python's built-in @code{functools.lru_cache}
+function for @code{asyncio}. To better handle async behaviour, it also
+ensures multiple concurrent calls will only result in 1 call to the wrapped
+function, with all awaits receiving the result of that call when it
+completes.")
+ (license license:expat)))
+
(define-public python-asyncinject
(package
(name "python-asyncinject")