Skip to content

1kbgz/temporal-cache

Repository files navigation

temporal-cache

Time based function caching

Build Status codecov License PyPI

Install

From pip:

pip install temporal-cache

From conda:

conda install temporal-cache -c conda-forge

Why?

I needed something that would automagically refresh at 4:00pm when markets close.

@expire(hour=16)
def fetchFinancialData():
    ...

Interval Cache

The interval cache expires every time interval since its first use

@interval(seconds=5, minutes=2)
def myfoo():
    '''myfoo's lru_cache will expire 2 minutes, 5 seconds after last use'''
    ...

Expire Cache

The expire cache expires on the time given, in scheduler/cron style.

@expire(second=5, minute=2)
def myfoo():
    '''myfoo's lru_cache will expire on the second minute, fifth second of every hour, every day, etc'''
    ...

Caveats

Python hashing semantics persist. Dicts will be frozen, lists will be converted to tuples. Users are advised to pre-freeze to avoid issues.

Note

This library was generated using copier from the Base Python Project Template repository.

About

Time-based cache invalidation

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages