memoize icon indicating copy to clipboard operation
memoize copied to clipboard

Caching library for asynchronous Python applications.

Results 9 memoize issues
Sort by recently updated
recently updated
newest added

I would like to use your library to address the dog piling problem. Currently, I use caches with both sync and async methods. I know I could convert sync methods...

`__str__` methods are not meant to be unique and should not be used to determine equality of objects. Currently cache keys are generated with `str` function which uses `__str__` methods...

Hi, there is a problem with JsonSerDe, when your local timezone is other than UTC, when you serialialize and deserialize your entry, the dates are different. It causes the Cache...

Hi, although lib is great finding, I'd like to not use that complex decorator method, but something like: ```py cache = AsyncCache() cache.add(key, value) cache.get(key) ``` And cache in this...

Hi, I came across this library when I was looking up ways to mitigate dog-piling when using gevent (with gunicorn), but the docs only talk about Asyncio and Tornado support,...

There is an inconsistency about the exceptions raised from the memoized functions. When a function is called concurrently and it raises an exception, only the first caller receives the exception...

While this is moot with any backend where deserialization creates a new object on every retrieval, with basic in-memory storage a memoized result can be modified in-place by the code...

Whole stacktrace looks like ``` 2024-04-24T11:54:47.263047179Z stdout F File "/home/paas/application/lib/memoize/wrapper.py", line 128, in wrapper 2024-04-24T11:54:47.263051198Z stdout F result = await refresh(current_entry, key, value_future_provider, configuration_snapshot) 2024-04-24T11:54:47.263055379Z stdout F ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-04-24T11:54:47.263071169Z stdout...

Hey nice lib, I'm trying to make it "mypy-friendly". tested on py3.11 with this stub, but it should work for older versions too ``` from memoize.configuration import DefaultInMemoryCacheConfiguration from memoize.wrapper...