Open reece opened 7 years ago
Also: Investigate whether we can pin the pickle protocol version to 2 so that the same cache works for Python 2 and 3.
Outcomes that I'd like to see:
interface
module should be about the interface only. It shouldn't mix caching, etc.Ideas:
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.
This issue was closed by stalebot. It has been reopened to give more time for community review. See biocommons coding guidelines for stale issue and pull request policies. This resurrection is expected to be a one-time event.
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.
The current lru_cache code is complicated because it mixes several intentions. Let's untangle them.
The two goals are 1) in-memory LRU memoization to lessen remote data fetches; 2) persistent caching, primarily so that tests do not require network access.
Consequences of mixing these concerns are:
I'm going to park this as a placeholder for discussion. I think I'd like to see us revert to a cache-unaware UTA module, and a (new) caching hdp that accepts an underlying hdp (eg uta) that merely caches data.