Skip to content
Simple lru cache for asyncio
Branch: master
Clone or download
Latest commit 3a8d2bc Apr 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests Create tests for invalidade() using multiple args (#31) Jan 19, 2018
.pyup.yml Added pyup yml Oct 5, 2017
LICENSE Fix order of copyright owners. Feb 8, 2018 Added forgotten LICENSE Apr 2, 2017
README.rst Bump 1.0.2 Jan 11, 2019
requirements.txt Merge branch 'master' into pyup-scheduled-update-2019-04-15 Apr 18, 2019
setup.cfg Simplify waiting done futures. Oct 13, 2017 Change version regex to support alpha/beta versions. Feb 6, 2018
tox.ini Start using pytest-runner Oct 11, 2017



info:Simple lru cache for asyncio


pip install async_lru


This package is 100% port of Python built-in function functools.lru_cache for asyncio

import asyncio

import aiohttp
from async_lru import alru_cache

async def get_pep(num):
    resource = '' % num
    async with aiohttp.ClientSession() as session:
            async with session.get(resource) as s:
                return await
        except aiohttp.ClientError:
            return 'Not Found'

async def main():
    for n in 8, 290, 308, 320, 8, 218, 320, 279, 289, 320, 9991:
        pep = await get_pep(n)
        print(n, len(pep))

    # CacheInfo(hits=3, misses=8, maxsize=32, currsize=8)

    # closing is optional, but highly recommended
    await get_pep.close()

loop = asyncio.get_event_loop()



Python 3.3+ is required


The library was donated by Ocean S.A.

Thanks to the company for contribution.

You can’t perform that action at this time.