Metadata-Version: 1.1
Name: yamicache
Version: 0.6.0
Summary: Yet another in-memory caching package
Home-page: https://github.com/mtik00/yamicache
Author: Timothy McFadden
Author-email: tim@timandjamie.com
License: MIT license
Description: =========
        yamicache
        =========
        
        
        .. image:: https://img.shields.io/pypi/v/yamicache.svg
                :target: https://pypi.org/project/yamicache/
                :alt: Pypi Version
        
        .. image:: https://readthedocs.org/projects/yamicache/badge/?version=latest
                :target: https://yamicache.readthedocs.io/en/latest/?badge=latest
                :alt: Documentation Status
        
        .. image:: https://coveralls.io/repos/github/mtik00/yamicache/badge.svg?branch=master
                :target: https://coveralls.io/github/mtik00/yamicache?branch=master
                :alt: Coveralls Status
        
        
        Yet another in-memory caching package
        
        
        * Free software: MIT license
        * Documentation: https://yamicache.readthedocs.io.
        
        
        Features
        --------
        
        * Memoization
        * Selective caching based on decorators
        * Mutli-threaded support
        * Optional garbage collection thread
        * Optional time-based cache expiration
        
        
        Quick Start
        -----------
        
        .. code-block:: python
        
            from __future__ import print_function
            import time
            from yamicache import Cache
            c = Cache()
            class MyApp(object):
                @c.cached()
                def long_op(self):
                        time.sleep(30)
                        return 1
        
            app = MyApp()
            t_start = time.time()
            assert app.long_op() == 1  # takes 30s
            assert app.long_op() == 1  # takes 0s
            assert app.long_op() == 1  # takes 0s
            assert 1 < (time.time() - t_start) < 31
        
        
        =======
        History
        =======
        
        0.6.0 (2020-11-22)
        ------------------
        
        * Remove support for Python 2.
        
        
        0.5.1 (2018-04-10)
        ------------------
        
        * Fix #8: Function default arguments were not handled.  There was also a
          potential cache miss if Python changed the order of `dict` keys.
        
        
        0.5.0 (2018-03-23)
        ------------------
        
        * Fix #7: Timed-out values are not returned when refreshed
        
        
        0.4.0 (2017-10-09)
        ------------------
        
        * Added ``serialize()`` and ``deserialize()``
        
        
        0.3.0 (2017-09-05)
        ------------------
        
        * Added ``@clear_cache()`` decorator
        * Added imports to allow for ``from yamicache import Cache``
        
        
        0.2.0 (2017-09-03)
        ------------------
        
        * Added cache key collision checking
        
        
        0.1.1 (2017-09-01)
        ------------------
        
        * Fix #1: ``Cache.cached()`` ignores ``timeout`` parameter
        
        
        0.1.0 (2017-08-28)
        ------------------
        
        * First release on PyPI.
        
Keywords: yamicache
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
