Skip to main content

The Simple library for corutine cache

Project description

Description

This is simple cache for corutines with a ttl parameter.

It have been make for corutines what getting a large data volume for over external api request.

Installation

pip install coroutincache

Simple usage:

import asyncio

from fastapi import FastAPI

from LogSettings import get_logger
from coroutincache import asyncache

logger = get_logger('consolemode')
app = FastAPI()


@asyncache(ttl=20)
async def load_from_api(params=None):
    await asyncio.sleep(3)
    logger.debug(f'LOAD FROM API')
    return [{'namespace': 'A1'}, {'namespace': 'A2'}, {'namespace': 'A3'}]


@app.get("/")
async def root():
    result = await load_from_api(32)
    logger.info(f'Result: {result}')
    return result

License

This project is licensed under the MIT License - see the MIT LICENSE file for details.

Project details


Download files

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

Source Distribution

coroutincache-1.1.5.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

coroutincache-1.1.5-py3-none-any.whl (3.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page