cache: Add disk cache decorator #33
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is still missing documentation, but I know that @blais is eagerly waiting for something like this, thus this early PR to review. There are example of usage in the added tests. By default the cache is keyed on the filename and expired on the file modification time. However, this can be overwritten with the
keyargument to the cache decorator. In the tests there is an example for using the input file SHA1 digest. All arguments to the decorated function are always part of the cache key.Which directory to use for the cache on WIndows? On Unix-like systems
~/.cache/beangulp/is a good choice, but I don't have idea what would be the equivalent on Windows. Also, what should be the behavior when the cache directory does not exist? The implementation proposed simply raisesFileNotFoundErrorexception. Another possibility, would to silently disable the cache.