This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 4.5.
Functional-style Utilities - kombu.utils.functional
¶
Functional Utilities.
-
class
kombu.utils.functional.
LRUCache
(limit=None)[source]¶ LRU Cache implementation using a doubly linked list to track access.
- Parameters
limit (int) – The maximum number of keys to keep in the cache. When a new key is inserted and the limit has been exceeded, the Least Recently Used key will be discarded from the cache.
-
iteritems
()¶
-
iterkeys
()¶
-
itervalues
()¶
-
popitem
() → (k, v), remove and return some (key, value) pair[source]¶ as a 2-tuple; but raise KeyError if D is empty.
-
kombu.utils.functional.
memoize
(maxsize=None, keyfun=None, Cache=<class 'kombu.utils.functional.LRUCache'>)[source]¶ Decorator to cache function return value.
-
class
kombu.utils.functional.
lazy
(fun, *args, **kwargs)[source]¶ Holds lazy evaluation.
Evaluated when called or if the
evaluate()
method is called. The function is re-evaluated on every call.- Overloaded operations that will evaluate the promise:
__str__()
,__repr__()
,__cmp__()
.
-
kombu.utils.functional.
maybe_evaluate
(value)[source]¶ Evaluate value only if value is a
lazy
instance.
-
kombu.utils.functional.
is_list
(l, scalars=(<class 'collections.abc.Mapping'>, <class 'str'>), iters=(<class 'collections.abc.Iterable'>, ))[source]¶ Return true if the object is iterable.
Note
Returns false if object is a mapping or string.