Modern cache for modern people
Project description
Weller
Installation:
pip install weller
What is it?
weller it's a modern library for caching. It add a TTL cache per item, auto values refresh and also so easy interface for ruling this
What it includes:
- Weller - a automatic dispatcher for your perfect cache
- StrictCached and LazyCached - a simply TTL cache per item
- StrictAutoCached and LazyAutoCached - the same as the upper one, but with automatic values refresh
Strict and Lazy difference
This library has the concept of strict and lazy caches.
- First, the Lazy, deletes or refreshes only the data that you receive
- Second, the Strict, deletes or refreshes all data from a storage per any request
Usage examples:
import asyncio
from typing import Any, Annotated
from weller import Weller, Depends
from weller.dispather.storage import WellerMemoryStorage
storage = WellerMemoryStorage()
# If first_long = True, then first get of data will download all the data. Default False
weller = Weller(storage=storage, first_long=False)
async def get_db() -> dict[str, Any]:
return {"some_key": "some_data"}
@weller.add("some_long", duration=5)
async def get_long_data(db: Annotated[dict, Depends(get_db)]):
await asyncio.sleep(2)
return db.get("some_key")
async def main():
await weller.get("some_long") # it will take 2 seconds
await weller.get("some_long") # but it will be done instantly
asyncio.run(main())
You can see other examples in weller -> examples
Documentation:
In development and will be available soon
Roadmap:
- Add redis storage
- Work and with stability and security
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file weller-0.0.0a1.tar.gz.
File metadata
- Download URL: weller-0.0.0a1.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8742b5bbe06d09af3d2be5c2df7031136ec904e04b02e4df51545a78e79ab075
|
|
| MD5 |
408283de09db01c5d3e0517c1ca8c9be
|
|
| BLAKE2b-256 |
06403a1cbd16ee0e7baef53bc367981800a92b658dd9b4bf105950969d341f37
|
File details
Details for the file weller-0.0.0a1-py3-none-any.whl.
File metadata
- Download URL: weller-0.0.0a1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec7a32e6f44ac07e67c14233d6a15af49bc4411a58cfc322b872003a68378080
|
|
| MD5 |
e68d1f68d89894f14ad5f218eeae869a
|
|
| BLAKE2b-256 |
2edbd437cb18faadd67dc304e9afca6a7adc9c74802815356574363554de5cb9
|