Efficient function output caching based on input files and other parameters to the function.
Project description
good_cache
good_cache
is a Python library that caches the output of your functions. If your function has to read large files as its input or if it has to read files in a directory, and optionally some non-file function parameter values such as a str, int, bool, etc. values then good_cache
can remember the input combination and return the ouput to the caller as long as the input combination has been seen (and cached) by good_cache
previously.
Here is an article that goes into some detail about good_cache
:
Here is the GitHub repo:
Here is the pip command to install it:
pip install good_cache
Here’s a simple example of how you might use good_cache:
from good_cache import fs_files_cache
@fs_files_cache(files='filenames')
def sum_numbers_in_files(filenames):
result = 0
for filename in filenames:
with open(filename, 'rt') as file:
numbers = list(map(int, file.readlines()))
result += sum(numbers)
return result
Here's an example of how you can evict a previous cache for a particular parameter(s)
evicted = sum_numbers_in_files.evict(['a.txt', 'b.txt'])
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
Built Distribution
File details
Details for the file good_cache-0.1.32.tar.gz
.
File metadata
- Download URL: good_cache-0.1.32.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31d2cf310884297532ac1cddf049b61f71c74b347a61b878a36d05d2b1f0aafe |
|
MD5 | 33d164bf2ec10616cabf74d5f983f157 |
|
BLAKE2b-256 | 601cfa1c3636c880be24c8140687e97a4d6eec63aa444759afd99c1e91152c2a |
File details
Details for the file good_cache-0.1.32-py3-none-any.whl
.
File metadata
- Download URL: good_cache-0.1.32-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 207dba9fa106d34c9acad4409700524fef853fc433f2ccfc52d885717ff11097 |
|
MD5 | f4c392eed18edf6780343d43d7d49179 |
|
BLAKE2b-256 | e750ccc575745523ccaac2add56730a26523bae02da8d9bd1f4c12c2f0a5539c |