- info:
Simple lru cache for asyncio
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.0.tar.gz
(4.9 kB
view details)
File details
Details for the file async_lru-1.0.0.tar.gz.
File metadata
- Download URL: async_lru-1.0.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
851318e5e6f6f758efe3f6a083a05d292ccc3a9dae3fdcd2edfe0d7b8bd97ed9
|
|
| MD5 |
76f017d76b75ac0820e47324407bde95
|
|
| BLAKE2b-256 |
13eec4ead3f64d50659818ba25baffbf09f48454ff42d4cf2aae0938298c68f5
|