Skip to main content

Pythonic wrapper for Redis Client.

Project description

https://img.shields.io/pypi/v/rediswrapper.svg https://img.shields.io/pypi/pyversions/rediswrapper.svg https://github.com/frostming/rediswrapper/actions/workflows/ci.yml/badge.svg

rediswrapper is a pythonic wrapper of Redis Client for end users. The whole storage acts like a python dict as well as its child storage values.

Features

  • The root client support dict-like operations

  • Python object wrappers for list, set, hash type values

  • Implicit serialization and deserialization when storing and fetching data

Installation

From PyPI:

pip install rediswrapper

From GitHub:

git clone https://github.com/frostming/rediswrapper
cd rediswrapper
pip install .

Usage

rediswrapper will try to serialize non-sting values and store them in redis and deserialize them when fetching back.

All redis value types are mocked with respective python objects and support all standard methods as the builtin types.

>>> import rediswrapper
>>> redis = rediswrapper.RedisDict()
# String value
>>> redis['a'] = 'hello'
# int value
>>> redis['b'] = 2
>>> dict(redis)
{'a': 'hello', 'b': 2}
# Picklable object
>>> import datetime
>>> redis['c'] = datetime.datetime.now()
# List value
>>> redis['d'] = list(range(5))
>>> redis['d'].append(0)
>>> redis['d']
ListType value([0, 1, 2, 3, 4, 0])
# Hash value
>>> redis['e'] = {'a': 1, 'b': 2}
>>> redis['e'].get('a')
1
# Set value
>>> redis['f'] = set([1, 2])
>>> redis['f'].add(3)
>>> redis['f']
SetType value([1, 2, 3])

To inspect those value types, one should use the ABCs defined in collections module.

>>> from collections import Mapping
>>> isinstance(redis['e'], Mapping)
True

History

v0.4.0
  • Drop support for Python older than 3.6

v0.3.0
  • Drop support for Python 3.3

  • Fix a vulnerability issue that cause users run arbitrary scripts.

Licensing

This work is open-sourced under the MIT license.

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

rediswrapper-0.4.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

rediswrapper-0.4.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file rediswrapper-0.4.0.tar.gz.

File metadata

  • Download URL: rediswrapper-0.4.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.3.4 CPython/3.10.4

File hashes

Hashes for rediswrapper-0.4.0.tar.gz
Algorithm Hash digest
SHA256 3a4a2374f54c1d30734cd570e772b52fc83d1ff737a08b034b22bbeb27466eec
MD5 06b37c007531bbe39ea53cf61f4af925
BLAKE2b-256 8027b6c0500afcba1c137f4db4e74c2a761649e7893556c1abfc38291e27a171

See more details on using hashes here.

File details

Details for the file rediswrapper-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rediswrapper-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c3ef5ff47c7a75d0c6b733af9d9778b73ca4ba787ac0570ef45797b0de84fcf
MD5 23c3363e0bcc0fd2a54182fe19cd923c
BLAKE2b-256 134b03dba7411e6ef0bf750981d5742713e42f549db488d985632ad52ed0adde

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page