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.dev14.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

redis_limpyd-2.0.dev14-py2.py3-none-any.whl (61.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file redis-limpyd-2.0.dev14.tar.gz.

File metadata

  • Download URL: redis-limpyd-2.0.dev14.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.dev14.tar.gz
Algorithm Hash digest
SHA256 f95751e125c61584a52763d427770a3821675318228202294b2d70aacc5603b8
MD5 31e1f2a89758b8d45541ec84f94793e4
BLAKE2b-256 9c38c14cea238d5c2ad051cc130c3a6996e2bded28611353603df1f561e120d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redis_limpyd-2.0.dev14-py2.py3-none-any.whl
  • Upload date:
  • Size: 61.5 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.dev14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a3fbabb8f1f34e88134900c60747b8c62b9a2beb5f54326fc590ecebfdf089b3
MD5 ad750bec78e34a1c6179350d18406db6
BLAKE2b-256 54be6d71b0fecc56bc878a3bd4aa6091b0e65bd816edf8c1c46a615cbcccb8d4

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