summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
George Sakkis [Tue, 21 Apr 2015 10:09:05 +0000 (13:09 +0300)]
Fixes for Python 2.6 and Python 3
George Sakkis [Tue, 21 Apr 2015 00:21:36 +0000 (03:21 +0300)]
Revert cached_property_with_ttl/threaded_cached_property_with_ttl to settable just like cached_property/threaded_cached_property
George Sakkis [Tue, 21 Apr 2015 00:08:27 +0000 (03:08 +0300)]
Refactor cached_property_with_ttl.
Cache (value, time) in the object's __dict__ instead of doing an extra lookup
in a '_cache' dict; also avoids the potential name clash with an unrelated
attribute named '_cache'.
George Sakkis [Mon, 20 Apr 2015 22:46:51 +0000 (01:46 +0300)]
Beef up and refactor tests (DRY)
George Sakkis [Sun, 19 Apr 2015 22:19:17 +0000 (01:19 +0300)]
Fix threaded_cached_property_with_ttl.
George Sakkis [Mon, 20 Apr 2015 00:46:09 +0000 (03:46 +0300)]
Fix the previous commit and add more test assertions to show why it was wrong.
Although the previous commit correctly cached and returned only the first computed
value (since dict.setdefault() is atomic), the actual computation could be performed
more than once in multithreaded environment, with all but the first computed values
being discarded.
George Sakkis [Sun, 19 Apr 2015 20:57:59 +0000 (23:57 +0300)]
Make cached_property thread-safe and alias threaded_cached_property to it.
dict.setdefault() is atomic since three years ago; see http://bugs.python.org/issue13521
George Sakkis [Sun, 19 Apr 2015 19:38:14 +0000 (22:38 +0300)]
Allow del statement to work for cached properties with ttl
George Sakkis [Sun, 19 Apr 2015 18:49:24 +0000 (21:49 +0300)]
lint (flake8) fixes
George Sakkis [Sun, 19 Apr 2015 17:59:04 +0000 (20:59 +0300)]
Tweak unit tests
- Fix shadowed Testcase class name in test_cached_property_ttl
- Single Testcase class per cached_property variant.
- Make test modules non-executable.
Daniel Greenfeld [Tue, 14 Apr 2015 16:19:14 +0000 (09:19 -0700)]
Break out ttl tools because they don't always allow resetting of the cache. #16
Daniel Greenfeld [Sat, 4 Apr 2015 20:09:35 +0000 (13:09 -0700)]
Update HISTORY.rst
Daniel Greenfeld [Sat, 4 Apr 2015 20:08:38 +0000 (13:08 -0700)]
Merge pull request #17 from zoidbergwill/patch-1
Fix typo in README example
William Martin Stewart [Thu, 2 Apr 2015 22:56:22 +0000 (00:56 +0200)]
Fix typo in readme example
Daniel Greenfeld [Fri, 13 Feb 2015 19:21:21 +0000 (11:21 -0800)]
RST cleanups
Daniel Greenfeld [Fri, 13 Feb 2015 19:12:28 +0000 (11:12 -0800)]
RST cleanups
Daniel Greenfeld [Fri, 13 Feb 2015 18:57:03 +0000 (10:57 -0800)]
Version bump
Daniel Greenfeld [Fri, 13 Feb 2015 18:56:17 +0000 (10:56 -0800)]
License update
Daniel Greenfeld [Fri, 13 Feb 2015 18:55:56 +0000 (10:55 -0800)]
Update setup.py
Daniel Greenfeld [Fri, 13 Feb 2015 18:54:47 +0000 (10:54 -0800)]
Update README.rst
Daniel Greenfeld [Fri, 13 Feb 2015 18:45:30 +0000 (10:45 -0800)]
Update HISTORY.rst
Daniel Greenfeld [Fri, 13 Feb 2015 18:44:08 +0000 (10:44 -0800)]
Update README.rst
Daniel Greenfeld [Fri, 13 Feb 2015 18:40:39 +0000 (10:40 -0800)]
Update setup.py
Daniel Greenfeld [Fri, 13 Feb 2015 18:40:22 +0000 (10:40 -0800)]
Update HISTORY.rst
Daniel Greenfeld [Fri, 13 Feb 2015 18:39:47 +0000 (10:39 -0800)]
Update HISTORY.rst
Daniel Greenfeld [Fri, 13 Feb 2015 18:31:16 +0000 (10:31 -0800)]
Added @bcho as an author
Daniel Greenfeld [Fri, 13 Feb 2015 18:27:46 +0000 (10:27 -0800)]
Merge pull request #14 from bcho/ttl-support
Add TTL support.
hbc [Mon, 9 Feb 2015 14:40:45 +0000 (22:40 +0800)]
Let travis install deps. from requirements.txt.
hbc [Mon, 9 Feb 2015 14:32:30 +0000 (22:32 +0800)]
Make ``ttl`` argument optional.
Resolved #4.
hbc [Mon, 9 Feb 2015 14:23:49 +0000 (22:23 +0800)]
Implement ttl support.
Borrowed from https://wiki.python.org/moin/PythonDecoratorLibrary#Cached_Properties.
Daniel Greenfeld [Sun, 1 Jun 2014 17:30:46 +0000 (10:30 -0700)]
Merge pull request #11 from Tinche/test-coverage
Just a little more coverage.
Tin Tvrtkovic [Wed, 28 May 2014 19:46:51 +0000 (21:46 +0200)]
Just a little more coverage.
Daniel Greenfeld [Tue, 20 May 2014 20:25:00 +0000 (13:25 -0700)]
Merge pull request #10 from djm/patch-1
Correct 'invalidating the cache' demo in README
Darian Moody [Tue, 20 May 2014 20:03:47 +0000 (21:03 +0100)]
Correct 'invalidating the cache' demo in README
m -> monopoly.
Daniel Greenfeld [Tue, 20 May 2014 16:12:18 +0000 (09:12 -0700)]
Update README.rst
Daniel Greenfeld [Tue, 20 May 2014 16:00:52 +0000 (09:00 -0700)]
documentating release and making small documentation tweaks
Daniel Greenfeld [Tue, 20 May 2014 16:00:12 +0000 (09:00 -0700)]
Document how to use threaded_cached_property and it's place in history
Daniel Greenfeld [Tue, 20 May 2014 15:42:32 +0000 (08:42 -0700)]
Add @Tinche to the authors list.
Daniel Greenfeld [Tue, 20 May 2014 15:38:29 +0000 (08:38 -0700)]
Merge pull request #9 from Tinche/threaded_cache_property
Added a new cached property decorator - threaded_cached_property, for
Tin Tvrtkovic [Mon, 19 May 2014 20:30:11 +0000 (22:30 +0200)]
Added a new cached property decorator - threaded_cached_property, for
use in multithreaded environments.
Added tests.
Added Python 3.4 to the list of test environments.
Daniel Greenfeld [Mon, 19 May 2014 15:49:00 +0000 (08:49 -0700)]
Illuminating the problems with threads. #6
Daniel Greenfeld [Mon, 19 May 2014 04:36:11 +0000 (21:36 -0700)]
Rewrote @Tinche's code example as a formal test case #6
Daniel Greenfeld [Sun, 18 May 2014 19:08:15 +0000 (12:08 -0700)]
Documented cache invalidation
Daniel Greenfeld [Sun, 18 May 2014 18:55:02 +0000 (11:55 -0700)]
Demonstrate and test cache invalidation
Daniel Greenfeld [Sun, 18 May 2014 18:39:56 +0000 (11:39 -0700)]
Nuke timed_cached_property until I'm happy with an implementation
Daniel Greenfeld [Sun, 18 May 2014 18:29:53 +0000 (11:29 -0700)]
Add timed_cached_property decorator
Daniel Greenfeld [Sun, 18 May 2014 18:12:45 +0000 (11:12 -0700)]
Changes to reflect who deserves what credit. #1
Daniel Greenfeld [Sun, 18 May 2014 01:24:12 +0000 (18:24 -0700)]
Fix the dang-blarged py_modules argument.
Daniel Greenfeld [Sun, 18 May 2014 00:59:00 +0000 (17:59 -0700)]
Fix my dumb habit of importing the package into setup.py
Daniel Greenfeld [Sat, 17 May 2014 23:42:16 +0000 (16:42 -0700)]
Readme fix
Daniel Greenfeld [Sat, 17 May 2014 23:38:39 +0000 (16:38 -0700)]
Bump to 0.1.2
Daniel Greenfeld [Sat, 17 May 2014 23:36:42 +0000 (16:36 -0700)]
Final Readme tweak of the day
Daniel Greenfeld [Sat, 17 May 2014 23:32:10 +0000 (16:32 -0700)]
Get travis in order
Daniel Greenfeld [Sat, 17 May 2014 23:26:22 +0000 (16:26 -0700)]
Various setup and version issues
Daniel Greenfeld [Sat, 17 May 2014 23:20:58 +0000 (16:20 -0700)]
Update the readme
Daniel Greenfeld [Sat, 17 May 2014 23:20:28 +0000 (16:20 -0700)]
Update the readme
Daniel Greenfeld [Sat, 17 May 2014 23:19:36 +0000 (16:19 -0700)]
Update the readme
Daniel Greenfeld [Sat, 17 May 2014 23:18:08 +0000 (16:18 -0700)]
Update the readme
Daniel Greenfeld [Sat, 17 May 2014 23:05:11 +0000 (16:05 -0700)]
Fix py.test dependency
Daniel Greenfeld [Sat, 17 May 2014 23:01:33 +0000 (16:01 -0700)]
Move to single file. Switch to py.test
Daniel Greenfeld [Sat, 17 May 2014 22:42:43 +0000 (15:42 -0700)]
first commit