Skip to content

Cache any python object to file using improved pickling

License

Notifications You must be signed in to change notification settings

c0fec0de/anycache

Repository files navigation

image

image

image

image

image

image

image

image

image

image

image

image

image

image

To cache the result of a function, use the global unlimited anycache:

>>> from anycache import anycache >>> @anycache() ... def myfunc(posarg, kwarg=3): ... print(" Calcing %r + %r = %r" % (posarg, kwarg, posarg + kwarg)) ... return posarg + kwarg >>> myfunc(8, 5) Calcing 8 + 5 = 13 13 >>> myfunc(8, 5) 13

anycache caches nearly any python object. Also lambda statements. It uses Dill as backend. An improved version of pythons build-in pickle.

To preserve the result between multiple python runs, a persistent cache directory needs to be set.

>>> from anycache import anycache >>> @anycache(cachedir='/tmp/anycache.my') ... def myfunc(posarg, kwarg=3): ... return posarg + kwarg

The AnyCache object serves additional functions for cache clearing and size handling.

Installation

To install the anycache module run:

pip install anycache

If you do not have write-permissions to the python installation, try:

pip install anycache --user

About

Cache any python object to file using improved pickling

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages