Versatile persisent file cache.
Project description
Installation
$ pip install bucketcache
Quick Overview
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.12.1.tar.gz
(30.1 kB
view hashes)
Built Distribution
Close
Hashes for BucketCache-0.12.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f98a88431acb4b0f5ce9dc2cad81647bdeca2afb19c6814e47b856665bd77e6 |
|
MD5 | 09328e8875bd0fad7a2c18a2cbb4ae24 |
|
BLAKE2b-256 | a8323e29ed1ac289776e5e576132d7812c4ca702458db47527a78adad5d31d2d |