Really! Small! Cache!
A Really! Small! Cache! for python 2 and 3.
Working on a totally separate project, I found myself wanting to use funcy.memoize…a lot. There was a major problem, though: I couldn’t test with it. There was no (obvious) way to turn it off. It was making me crazy, so I spent a few hours writing a small module (even smaller than this, originally) to suit the memoization needs, with a hook to turn it off for testing. When I got to the end of my feature sprint for that project, I decided it made more sense to spin it out into its own project, so here we are!
- Simple upsert and get workflow
- Decorator for “memoization”
- Enabling and disabling functionality, including a context manager
- Work directly on the imported module… no additional instantiation
pip install microcache
>>> import microcache >>> microcache.has('key') False >>> microcache.get('key', default='default') 'default' >>> microcache.upsert('key', 'value') >>> microcache.get('key') 'value' >>> microcache.disable() >>> microcache.get('key')
Decorator and context manager
import microcache import time @microcache.this def somefunc(): time.sleep(5) return "this will be cached, and you won't have to wait a second time!" def test_somefunc(): somefunc() somefunc() with microcache.temporarily_disabled(): # now we'll have to wait again somefunc()
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|microcache-0.2.1-py2.py3-none-any.whl (3.8 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||Mar 8, 2016|
|microcache-0.2.1.tar.gz (3.4 kB) Copy SHA256 Checksum SHA256||–||Source||Mar 8, 2016|