Metadata-Version: 1.1
Name: cachez
Version: 0.1.0
Summary: Cache decorator for global or instance level memoize.
Home-page: http://github.com/jealous/cachez
Author: Cedric Zhuang
Author-email: jealous@163.com
License: Apache Software License
Description: Cache Decorator
        ===============
        
        .. image:: https://travis-ci.org/jealous/cachez.svg
            :target: https://travis-ci.org/jealous/cachez
            
        .. image:: https://coveralls.io/repos/jealous/cachez/badge.svg
            :target: https://coveralls.io/github/jealous/cachez
        
        .. image:: https://img.shields.io/pypi/v/cachez.svg
            :target: https://pypi.python.org/pypi/cachez
        
        
        VERSION: 0.1.0
        
        Introduction
        ------------
        
        Function decorator that helps to cache/memoize the result of a function/method.
        
        This package contains following decorators.
        
        - cache: cache the result of the function globally.
        - instance_cache: cache the result of a method in the instance (``self``)
        - clear_instance_cache: clear the method results cached on the instance.
        
        And one function.
        
        - clear_cache: clear the global function cache.
        
        Tested on python 2.7 and python 3.4.
        
        For quick start, check the tutorial section of this page.
        Check `test.py`_ for detail examples.
        
        Installation
        ------------
        
        ``pip install cachez``
        
        
        License
        -------
        
        `Apache License version 2`_
        
        Tutorial
        --------
        
        - To cache the result of the a function globally, decorate the function
          with ``cache``.
        
        .. code-block:: python
        
            @cache
            def foo(x, y):
                ...
        
        
        - To clear the global cache, call ``clear_cache()``.
        
        .. code-block:: python
        
            clear_cache()
        
        
        - To cache the result of the method in the instance, decorate the method
          with ``instance_cache``.
          To clear the method cache on the instance, decorate your clear method
          with ``clear_instance_cache``.
        
        .. code-block:: python
        
            class Foo(object):
                @instance_cache
                def bar(a, b):
                    ...
        
                @clear_instance_cache
                def clear():
                    ...
        
        
        - To persist the function return value, use ``persisted`` decorator.
          This decorator takes input parameter which specify when the cache
          will expire.  The default value for cache expiration is set to 1 day.
        
        .. code-block:: python
        
            class Foo(object):
                @persisted()
                def default_persist_for_1_day(x):
                    ...
        
                @persisted(seconds=5)
                def persist_return_value_for_5_seconds(y):
                    ...
        
        
        - The default persist folder is set to ``~/.cachez``.  You could customize
          it by calling ``set_persist_folder``.
        
        
        To file issue, please visit:
        
        https://github.com/jealous/cachez
        
        
        Contact author:
        
        - Cedric Zhuang <jealous@163.com>
        
        .. _Apache License version 2: LICENSE.txt
        .. _test.py: test.py
Keywords: cache decorator
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: Apache Software License
