Skip to main content
info:

Simple lru cache for asyncio

https://img.shields.io/travis/wikibusiness/async_lru.svg https://img.shields.io/pypi/v/async_lru.svg

Installation

pip install async_lru

Usage

import asyncio

import aiohttp
from async_lru import alru_cache

calls = 0

@alru_cache()
async def download(url):
    global calls

    calls += 1

    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            return await response.text()


async def main():
    coros = [
        download('https://www.python.org/'),
        download('https://www.python.org/'),
        download('https://www.python.org/'),
        download('https://www.python.org/'),
        download('https://www.python.org/'),
        download('https://www.python.org/'),
    ]

    await asyncio.gather(*coros)

    assert calls == 1


loop = asyncio.get_event_loop()

loop.run_until_complete(main())

# closing is optional, but strictly recommended
loop.run_until_complete(download.close())

loop.close()

Python 3.3+ is required

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-0.0.4.tar.gz (4.1 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: async_lru-0.0.4.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for async_lru-0.0.4.tar.gz
Algorithm Hash digest
SHA256 ab285b56afbae460927e7b4ccc14c691d7cd23fe97bf904cee8b33f2935d91e1
MD5 56afca2b8a0b0903371096625f4a05b1
BLAKE2b-256 f6e7cabc45d7a6da087260d23df6e7d7149b96cfdbbcc0c460ef56e4ac36be16

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 Pingdom Monitoring Sentry Error logging StatusPage Status page