Skip to main content

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

Author

Susumu OTA

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 details)

Uploaded Source

Built Distribution

s3_memoize-0.1.4-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file s3_memoize-0.1.4.tar.gz.

File metadata

  • Download URL: s3_memoize-0.1.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for s3_memoize-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3d54af096343d4c1409e7045ee9258c83c7fcd24fec5ce12f885681356319aed
MD5 e27b0815271976d80b202945fb6d2d82
BLAKE2b-256 e258461fd88489459cd46dc8db0b8cf671fc6681cb264204f9cdbdf1370c8adb

See more details on using hashes here.

File details

Details for the file s3_memoize-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: s3_memoize-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for s3_memoize-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 44949305e1b767b87083939b4d45ba3edaa01b8e8b681343da517a274de77f6f
MD5 a1c5013452dac079d14bb7964fbc2ce5
BLAKE2b-256 e4153656741918dd0527dcf1218ffe6c0b5e17cdba46fa708ee79dd3a90a7ce2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page