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.1.dev1.tar.gz (67.4 kB view details)

Uploaded Source

Built Distribution

redis_limpyd-2.1.dev1-py2.py3-none-any.whl (74.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file redis-limpyd-2.1.dev1.tar.gz.

File metadata

  • Download URL: redis-limpyd-2.1.dev1.tar.gz
  • Upload date:
  • Size: 67.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.14.2 setuptools/34.2.0 requests-toolbelt/0.7.1 clint/0.5.1 CPython/2.7.12+ Linux/4.10.0-43-generic

File hashes

Hashes for redis-limpyd-2.1.dev1.tar.gz
Algorithm Hash digest
SHA256 00a6e7c2f90201d14e8cc408041d248e361e618c9efaa7b417e363f652cec3b5
MD5 bee7c9f469929a52a2432bd1eba4dd2f
BLAKE2b-256 f50c6e1cea4692795ee4e84c479c9544dbd6e9e525a76ad4eafb576bf1d16a2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redis_limpyd-2.1.dev1-py2.py3-none-any.whl
  • Upload date:
  • Size: 74.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.14.2 setuptools/34.2.0 requests-toolbelt/0.7.1 clint/0.5.1 CPython/2.7.12+ Linux/4.10.0-43-generic

File hashes

Hashes for redis_limpyd-2.1.dev1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4e799d17e4d498aeb36d4d3f9274fc0d36dec209ce454bbc2afb0b7fa13305d0
MD5 8afb69d4ab82a785ee6ece46cae0d0bd
BLAKE2b-256 c3a3ec3c341c5480b8a02d7260b5d1d1d6843147497dc672703a118663c03869

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