I recently came across the functools decorators @lru_cache(maxsize=None) and @cache (in Python 3.9) for "Memoizing" hashable
functools
@lru_cache(maxsize=None)
@cache