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

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

Uploaded Source

Built Distribution

redis_limpyd-2.0.dev11-py2.py3-none-any.whl (61.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: redis-limpyd-2.0.dev11.tar.gz
  • Upload date:
  • Size: 56.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.8.0b4

File hashes

Hashes for redis-limpyd-2.0.dev11.tar.gz
Algorithm Hash digest
SHA256 da1dcb33bafd06252c0cc3fb87ea388bf76779fba4d40f075f1e4bf625015213
MD5 f7ae0bc052614e3f6fc41f7234d0f94d
BLAKE2b-256 0b454bd0aedee46329cacf70910a64c3785866e407f8a10a44c62199d269fda6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redis_limpyd-2.0.dev11-py2.py3-none-any.whl
  • Upload date:
  • Size: 61.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.8.0b4

File hashes

Hashes for redis_limpyd-2.0.dev11-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc9b1724cd410d20f81a5a909dad935495ad09d3a4983aa217f5fde2160553fb
MD5 9e496b9c465c5a448e85792511b4fe66
BLAKE2b-256 fbd4133c321413ee0702995bb7473f7731dbdd362c8d1b2a0a7daccb9c98c1fb

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