Metadata-Version: 2.1
Name: async-cache
Version: 1.1.0
Summary: An asyncio Cache
Home-page: https://github.com/iamsinghrajat/async-cache
Author: Rajat Singh
Author-email: iamsinghrajat@gmail.com
License: UNKNOWN
Description: async-cache
        ===========
        :info: A caching solution for asyncio
        
        .. image:: https://travis-ci.org/iamsinghrajat/async-cache.svg?branch=master
            :target: https://travis-ci.org/iamsinghrajat/async-cache
        .. image:: https://img.shields.io/pypi/v/async-cache.svg
            :target: https://pypi.python.org/pypi/async-cache
        .. image:: https://www.codetriage.com/iamsinghrajat/async-cache/badges/users.svg
            :target: https://pypi.python.org/pypi/async-cache
        
        
        Installation
        ------------
        
        .. code-block:: shell
        
            pip install async-cache
        
        Basic Usage
        -----------
        
        .. code-block:: python
            
            # LRU Cache
            from cache import AsyncLRU
            
            @AsyncLRU(maxsize=128)
            async def func(*args, **kwargs):
                """
                maxsize : max number of results that are cached.
                          if  max limit  is reached the oldest result  is deleted.
                """
                pass
            
            
            # TTL Cache
            from cache import AsyncTTL
            
            @AsyncTTL(time_to_live=60, maxsize=1024)
            async def func(*args, **kwargs):
                """
                time_to_live : max time for which a cached result  is valid
                maxsize : max number of results that are cached.
                          if  max limit  is reached the oldest result  is deleted.
                """
                pass
        
            # Supports primitive as well as non-primitive function parameter.
            # Currently TTL & LRU cache is supported.
        
        Advanced Usage
        --------------
        
        .. code-block:: python
            
            class CustomDataClass:
                id: int
                value: int
                
            
            from cache import AsyncLRU
            
            @AsyncLRU(maxsize=128)
            async def func(model: "CustomDataClass"):
                ...
                # function logic
                ...
            
            # async-cache will work even if function parameters are:
            #   1. orm objects
            #   2. request object
            #   3. any other custom object type.
        
        
Keywords: asyncio,lru,cache,async,cache,lru-cache,ttl
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.3
Description-Content-Type: text/x-rst
