Skip to main content
info:

Simple lru cache for asyncio

https://travis-ci.org/aio-libs/async_lru.svg?branch=master https://img.shields.io/pypi/v/async_lru.svg https://codecov.io/gh/aio-libs/async_lru/branch/master/graph/badge.svg

Installation

pip install async_lru

Usage

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


@alru_cache(maxsize=32)
async def get_pep(num):
    resource = 'http://www.python.org/dev/peps/pep-%04d/' % num
    async with aiohttp.ClientSession() as session:
        try:
            async with session.get(resource) as s:
                return await s.read()
        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))

    print(get_pep.cache_info())
    # CacheInfo(hits=3, misses=8, maxsize=32, currsize=8)

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


loop = asyncio.get_event_loop()

loop.run_until_complete(main())

loop.close()

Python 3.3+ is required

Thanks

The library was donated by Ocean S.A.

Thanks to the company for contribution.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

async_lru-1.0.2.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file async_lru-1.0.2.tar.gz.

File metadata

  • Download URL: async_lru-1.0.2.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for async_lru-1.0.2.tar.gz
Algorithm Hash digest
SHA256 baa898027619f5cc31b7966f96f00e4fc0df43ba206a8940a5d1af5336a477cb
MD5 69bed62927426353513e68aec77989ab
BLAKE2b-256 7ec1a3d6207deaaeb582d16dc9a0fd217f192efc9487ce59897131cf9a2bdc1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page