Versatile persisent file cache.
Project description
Installation
$ pip install bucketcache
Automatic Generation
In one sentence, Bucket is a container object with optional lifetime backed by configurable serialisation methods that can also act as a function or method decorator.
Before everything is explained in detail, here’s a quick look at the functionality:
Container:
from bucketcache import Bucket
bucket = Bucket('cache', hours=1)
bucket[any_object] = anything_serializable_by_backend # (Pickle is the default)
Decorator:
class SomeService(object):
def __init__(self, username, password):
self.username = username
self.password = password
@bucket(method=True, nocache='skip_cache')
def expensive_method(self, a, b, c, skip_cache=False):
print('Method called.')
@expensive_method.callback
def expensive_method(callinfo):
print('Cache used.')
some_service = SomeService()
some_service.expensive_method(1, 2, 3)
some_service.expensive_method(1, 2, 3)
some_service.expensive_method(1, 2, 3, skip_cache=True)
Method called. Cache used. Method called
For in-depth information, visit the documentation!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
BucketCache-0.11.2.zip
(27.7 kB
view hashes)
Built Distribution
Close
Hashes for BucketCache-0.11.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 294e94cfd924a6dbafa9b37a73181e2aca93035b677b1869847ccb4eb049d559 |
|
MD5 | b89769909cfdc916a574f4e641e008c6 |
|
BLAKE2b-256 | 94b21d2664db9c99937c32ac4e6c5b36b260e2da436452408c85079fd4bdc2c7 |