-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #12 from yola/fix/md-to-rst
Fix/md to rst
- Loading branch information
Showing
4 changed files
with
80 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
Property caching | ||
================ | ||
.. image:: https://travis-ci.org/yola/property-caching.svg?branch=fix/md-to-rst | ||
:target: https://travis-ci.org/yola/property-caching | ||
|
||
|
||
Cached version of property | ||
|
||
Written and used by the folks at Yola to support our `free website | ||
builder`_. | ||
|
||
Overview | ||
-------- | ||
|
||
- ``cached_property`` - stores results of decorated methods in | ||
decorated object | ||
(in ``_cached_properties`` attribute) | ||
- ``class_cached_property`` - stores results of decorated methods in | ||
the class of decorated object | ||
(in ``_class_cached_properties`` attribute). All instances will share | ||
cached value. | ||
- ``clear_property_cache`` - deletes cached value (works for object | ||
cached properties only) | ||
- ``set_property_cache`` - explicitly sets property cache (works for | ||
object cached properties only) | ||
- ``is_property_cached`` - allows to check whether property was cached | ||
or not (works for object cached properties only) | ||
|
||
Usage | ||
----- | ||
|
||
.. code:: python | ||
from property_caching import (cached_property, | ||
class_cached_property, | ||
clear_property_cache, | ||
set_property_cache) | ||
class Dummy: | ||
@cached_property | ||
def foo(self): | ||
return self.service.expensive_operation() | ||
@class_cached_property | ||
def service(self): | ||
return expensive_service_initialization() | ||
d = Dummy() | ||
d.foo # calculates result and stores it in d._cached_properties | ||
d.foo # uses cached value | ||
clear_property_cache(d, 'foo') # clears cache for property `foo` | ||
set_property_cache(d, 'foo', 42) # explicitly set cache for property `foo` | ||
d2 = Dummy() | ||
d2.foo # re-calculates value of `foo` but uses cached service | ||
Testing | ||
------- | ||
|
||
Install development requirements: | ||
|
||
:: | ||
|
||
pip install -r requirements.txt | ||
|
||
Run the tests with: | ||
|
||
:: | ||
|
||
python setup.py test | ||
|
||
.. _free website builder: https://www.yola.com/ | ||
|
||
.. image:: https://travis-ci.org/yola/property-caching.svg?branch=fix/md-to-rst | ||
:target: https://travis-ci.org/yola/property-caching |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
setup( | ||
name='property-caching', | ||
version='1.0.2', | ||
version='1.0.3', | ||
description='Property caching', | ||
author='Yola', | ||
author_email='[email protected]', | ||
|