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 >= 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

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

Uploaded Source

Built Distribution

redis_limpyd-1.3.2-py2.py3-none-any.whl (60.9 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: redis-limpyd-1.3.2.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for redis-limpyd-1.3.2.tar.gz
Algorithm Hash digest
SHA256 6c151fcd8f3a274eb1d42d00def52a2790123f21c9142235d8ad597fead066ed
MD5 0d93918f29367ea0ea82832448a1229d
BLAKE2b-256 3f87b41ae2b59f7f1d3d6badd6e5372885199626e3f564e11422ced2f1daec38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redis_limpyd-1.3.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 60.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.5

File hashes

Hashes for redis_limpyd-1.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8f44567ae7ac6fc8fcf0308d83e5629deef1db34c5c10324cb4e3a75f862d047
MD5 543351134c13ff559f25fb279382d7a2
BLAKE2b-256 ad7aea055a9eb1a50b7fdb83ec29e0edc56feaf3868a608529da18ff61d45bc2

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