Skip to main content

pycacher is a python module which enables easy caching layer via function decorators, batcher, etc.

Project description

pycacher [![Build Status](https://secure.travis-ci.org/garindra/pycacher.png)](https://secure.travis-ci.org/garindra/pycacher.png)
=======

Python module for easy function caching decoration, batching, and many more.

Complete documentation on:
[http://pycacher.readthedocs.org](http://pycacher.readthedocs.org) (still empty)

###PyPi Page
[http://pypi.python.org/pypi/pycacher](http://pypi.python.org/pypi/pycacher)

###Installation
This package is officially hosted on PyPI, so what you need to do is simply:

pip install pycacher

###Examples:


##### #1 Caching function decorator:

from pycacher import Cacher

cacher = Cacher('localhost', 11211)

@cacher.cache()
def expensive_function(a, b):
return a + b

expensive_function(1, 2) # will actually execute
expensive_function(1, 2) # will get the value from the cache

##### #2 Batching:


batcher = cacher.create_batcher()

batcher.add('test-1')
batcher.add('test-2')
batcher.add('test-3')

batcher.batch()

batcher.get_values()
>> {'test-1':'test-value-1', 'test-2':'test-value-2', 'test-3' : None}

##### #3 Batching Context Manager:


batcher = cacher.create_batcher()

with batcher:
#expensive_function is a pycacher-decorated function.
expensive_function.register(1, 2)
expensive_function.register(1, 3)

#batches the cache key of both those 2 function register calls.
batcher.batch()

with batcher:
expensive_function(1, 2) #will get its value directly from the batched value
expensive_function(1, 3)

You can see more advanced examples on the [documentation](http://pycacher.readthedocs.org).

###Prerequisites

`pycacher` is currently well tested on Python 2.5, 2.6 and 2.7.

###Run unit tests
If you have the `nose` Python unit tester library installed and want to run the unit test suite for this library, then simply run this command:
nosetests

###Travis CI
You can track the project's CI status on Travis at : [http://travis-ci.org/#!/garindra/pycacher](http://travis-ci.org/#!/garindra/pycacher)

###License
MIT 2.0

###Authors:
- Garindra Prahandono (garindraprahandono@gmail.com)

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

pycacher-0.0.2.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file pycacher-0.0.2.tar.gz.

File metadata

  • Download URL: pycacher-0.0.2.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycacher-0.0.2.tar.gz
Algorithm Hash digest
SHA256 24eee0aaec7dce1abdb286a84d1c1a5f808428475c2a6eba0a28a44c56f3a264
MD5 834321ea7441c0ef7f9610ea2fb7ccef
BLAKE2b-256 5b4f31fa390114d08dc562fdfa388b1f7449f6daec935de99a67494930750324

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page