Limpyd provides an easy way to store objects in Redis, without losing the power and the control of the Redis API, in a limpid way, with just as abstraction as needed.
Project description
Limpyd
Limpyd provides an easy way to store objects in Redis, without losing the power and the control of the Redis API, in a limpid way, with just as abstraction as needed.
Featuring:
Don’t care about keys, limpyd do it for you
Retrieve objects from some of their attributes
Retrieve objects collection
CRUD abstraction
Powerful indexing and filtering
Keep the power of all the Redis data types in your own code
Example of configuration:
from limpyd import model
main_database = model.RedisDatabase(
host="localhost",
port=6379,
db=0
)
class Bike(model.RedisModel):
database = main_database
name = model.InstanceHashField(indexable=True, unique=True)
color = model.InstanceHashField()
wheels = model.StringField(default=2)
So you can use it like this:
>>> mountainbike = Bike(name="mountainbike")
>>> mountainbike.wheels.get()
'2'
>>> mountainbike.wheels.incr()
>>> mountainbike.wheels.get()
'3'
>>> mountainbike.name.set("tricycle")
>>> tricycle = Bike.collection(name="tricycle")[0]
>>> tricycle.wheels.get()
'3'
>>> tricycle.hmset(color="blue")
True
>>> tricycle.hmget('color')
['blue']
>>> tricycle.hmget('color', 'name')
['blue', 'tricycle']
>>> tricycle.color.hget()
'blue'
>>> tricycle.color.hset('yellow')
True
>>> tricycle.hmget('color')
['yellow']
Install
Python versions 2.7 and 3.5 to 3.8 are supported (CPython and PyPy).
Redis-py versions >= 2.9.1 and < 2.11 are supported.
pip install redis-limpyd
Note: Version 1.0, 1.0.1 and 1.1 where broken so removed from PyPI
Documentation
See https://redis-limpyd.readthedocs.io/ for a full documentation
Changelog
See CHANGELOG.rst
Maintainers
Extensions
A bundle of great extensions: Limpyd-extensions
A queue/task/job manager: Limpyd-jobs
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
File details
Details for the file redis-limpyd-1.3.1.tar.gz
.
File metadata
- Download URL: redis-limpyd-1.3.1.tar.gz
- Upload date:
- Size: 55.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 049e039e528c6c7cbf9fa122e48138fa69227e17221be07de2415f1d9e9a13f2 |
|
MD5 | cc8a30d213125882da7fadc7cf416893 |
|
BLAKE2b-256 | 955230c6c34a906cacb8705ed27fb53090232b1432db66e6f301c928f56e726c |
File details
Details for the file redis_limpyd-1.3.1-py2.py3-none-any.whl
.
File metadata
- Download URL: redis_limpyd-1.3.1-py2.py3-none-any.whl
- Upload date:
- Size: 60.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99be66943d9b742a9a7c2eac12af5aa07bbcf0a835b3985dbfbe76d7c79b3226 |
|
MD5 | 940ecce1e56914aac31a16eb85b94b90 |
|
BLAKE2b-256 | 9855f656fbf5353a91ea8814a64f53caf93f39c3fb99c74e519ecada1b075c2c |