Skip to main content

Cache decorator for global or instance level memoize.

Project description

https://travis-ci.org/jealous/cachez.svg https://coveralls.io/repos/jealous/cachez/badge.svg

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.

@cache
def foo(x, y):
    ...
  • To clear the global cache, call clear_cache().

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.

class Foo(object):
    @instance_cache
    def bar(a, b):
        ...

    @clear_instance_cache
    def clear():
        ...

To file issue, please visit:

https://github.com/jealous/cachez

Contact author:

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

cachez-0.1.0.zip (12.5 kB view hashes)

Uploaded Source

Built Distribution

cachez-0.1.0-py2.py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 2 Python 3

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