Memoization function decorators using Amazon S3 for Python
Project description
Memoization function decorators using Amazon S3 for Python
Install
pip install s3-memoize
Usage
Setup AWS credentials (e.g. myprofile or default).
Make a S3 bucket (e.g. mybucketname).
Create test.py.
from functools import lru_cache
from s3_memoize import s3_fifo_cache, s3_lru_cache
BUCKET_NAME='mybucketname'
# @lru_cache(maxsize=2, typed=False)
@s3_fifo_cache(maxsize=2, typed=False, bucket_name=BUCKET_NAME)
# @s3_lru_cache(maxsize=2, typed=False, bucket_name=BUCKET_NAME)
def test(num):
print(f'test: {num}')
return num * 2
print(test.cache_clear())
# print(test.cache_set_expiration(days=1))
print(test.cache_info())
print(test(10))
print(test.cache_info())
print(test(10))
print(test.cache_info())
print(test(20))
print(test.cache_info())
print(test(20))
print(test.cache_info())
print(test(10))
print(test.cache_info())
print(test(30))
print(test.cache_info())
print(test(30))
print(test.cache_info())
Run. You can omit AWS_PROFILE if it’s default.
AWS_PROFILE=myprofile python test.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
s3_memoize-0.1.4.tar.gz
(8.7 kB
view hashes)
Built Distribution
Close
Hashes for s3_memoize-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44949305e1b767b87083939b4d45ba3edaa01b8e8b681343da517a274de77f6f |
|
MD5 | a1c5013452dac079d14bb7964fbc2ce5 |
|
BLAKE2b-256 | e4153656741918dd0527dcf1218ffe6c0b5e17cdba46fa708ee79dd3a90a7ce2 |