Caching

This module provides various caching mechanisms and utilities.

class brownie.caching.cached_property(getter, doc=None)[source]

Property which caches the result of the given getter.

Parameters:doc – Optional docstring which is used instead of the getters docstring.
class brownie.caching.CacheBase[source]

Base class for all caches, which is supposed to be used as a mixin.

classmethod decorate(maxsize=inf)[source]

Returns a decorator which can be used to create functions whose results are cached.

In order to clear the cache of the decorated function call .clear() on it.

@CacheBase.decorate(maxsize=1024) # items stored in the cache
def foo(a, b):
    return a + b # imagine a very expensive operation here
class brownie.caching.LRUCache(mapping=(), maxsize=inf)[source]

OrderedDict based cache which removes the least recently used item once maxsize is reached.

Note

The order of the dict is changed each time you access the dict.

class brownie.caching.LFUCache(mapping=(), maxsize=inf)[source]

dict based cache which removes the least frequently used item once maxsize is reached.

brownie.caching.memoize(func)

A memoization decorator, which uses a simple dictionary of infinite size as cache:

@memoize
def foo(a, b):
    return a + b

New in version 0.5.

Navigation

Documentation overview

This Page

Fork me on GitHub