Skip to main content

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

PyPI Version Build Status Doc Status

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 >= 3 are supported, with redis-server versions >= 3.

pip install redis-limpyd

For Redis-py versions < 3, please use limpyd version 1.3.1 (or later in 1.x versions)

Documentation

See https://redis-limpyd.readthedocs.io/ for a full documentation

Changelog

See CHANGELOG.rst

Maintainers

Extensions

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

redis-limpyd-2.0.1.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

redis_limpyd-2.0.1-py2.py3-none-any.whl (61.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file redis-limpyd-2.0.1.tar.gz.

File metadata

  • Download URL: redis-limpyd-2.0.1.tar.gz
  • Upload date:
  • Size: 56.4 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

Hashes for redis-limpyd-2.0.1.tar.gz
Algorithm Hash digest
SHA256 11c0e586870a34b859a54b8be0b729ae226f76365eb6e2c0a729e6ce11934117
MD5 99e7b93417a2b668531fcbacb6ed19e7
BLAKE2b-256 6788be18649c224a10b1b265cdd5690c4b0ab61970bed38e4c66944e28139d26

See more details on using hashes here.

File details

Details for the file redis_limpyd-2.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: redis_limpyd-2.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 61.4 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

Hashes for redis_limpyd-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ad04bf30d800300c1edb0f912d943ef1d814866b2e6f109a0362c139c8f05b83
MD5 19e90a4bf41d91b011ffdc9b42a43303
BLAKE2b-256 cacf3b89b7ed06eb66c60fd467691a525fc1c5c5eabe577f88e6313ad4f5a24b

See more details on using hashes here.

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