138e2f6ba0
functools.lru_cache in the stdlib is not generic enough. That can be used to cache the results of a single pure function, however I have usecases where one function is supposed to populate the cache, while another function consumes it. https://docs.python.org/3/library/functools.html#functools.lru_cache This is stripped down and extracts just the LRUCache from tkem/cachetools. It is relatively short, and very mature code. I don't expect that we have to "follow" upstream, etc. There likely won't be relevant changes upstream. Effectively, we are forking and bundling this code. similar to https://github.com/spesmilo/electrumx/commit/04582cc353b45721e2461176cfce1768003dd5ae