Redisify is a lightweight Python library that provides Redis-backed data structures like dicts, queues, locks, and semaphores, designed for distributed systems.
Project description
Redisify
Redisify is a lightweight Python library that provides Redis-backed data structures such as RedisDict, RedisList, and RedisQueue. It is designed for distributed systems where persistent, shared, and async-compatible data structures are needed.
Features
- 📦 RedisDict: A dictionary-like interface backed by Redis hash.
- 📋 RedisList: A list-like structure supporting indexing, insertion, and iteration.
- 🔁 RedisQueue: A simple FIFO queue with blocking and async operations.
- 🔐 (Coming soon) RedisLock, RedisSemaphore for concurrency control.
Installation
pip install redisify
Or for development and testing:
git clone https://github.com/Hambaobao/redisify.git
cd redisify
pip install -e .[test]
Usage Example
from redis.asyncio import Redis
from redisify import RedisDict, RedisList, RedisQueue
redis = Redis()
# Dict example
rdict = RedisDict(redis, "example:dict")
await rdict.__setitem__("key", "value")
print(await rdict["key"]) # Output: value
# List example
rlist = RedisList(redis, "example:list")
await rlist.append("item")
print(await rlist[0]) # Output: item
# Queue example
rqueue = RedisQueue(redis, "example:queue")
await rqueue.put("task1")
print(await rqueue.get()) # Output: task1
Requirements
- Python 3.10+
- Redis server (local or remote)
- redis Python client (redis-py)
Testing
Make sure you have Redis running (locally or via Docker), then:
pytest -v tests
License
This project is licensed 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file redisify-0.1.0.tar.gz.
File metadata
- Download URL: redisify-0.1.0.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
733d535d2c0cca0e50e7b1e8b8965148530388460f88adfea0feb47d3760590b
|
|
| MD5 |
95f21021d3e08432b737db0b60b087d0
|
|
| BLAKE2b-256 |
62e706cdce9cefa45a817f467252ce8b9002995709cdb8b7f538edfefa2ccda9
|
Provenance
The following attestation bundles were made for redisify-0.1.0.tar.gz:
Publisher:
publish-pypi.yml on Hambaobao/redisify
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
redisify-0.1.0.tar.gz -
Subject digest:
733d535d2c0cca0e50e7b1e8b8965148530388460f88adfea0feb47d3760590b - Sigstore transparency entry: 248708345
- Sigstore integration time:
-
Permalink:
Hambaobao/redisify@427c5d70205694b5f7c4f24132ebd095f0fb349d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Hambaobao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@427c5d70205694b5f7c4f24132ebd095f0fb349d -
Trigger Event:
push
-
Statement type:
File details
Details for the file redisify-0.1.0-py3-none-any.whl.
File metadata
- Download URL: redisify-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
961530d71909c12b71395161aea4d34b1b6eaa79e62eac33ea7bdec03862caec
|
|
| MD5 |
d160956a11f245fea2b4edcb2849a881
|
|
| BLAKE2b-256 |
47ae1f03ad3a58fa0fe58076227152a334ad87d144a8aafd77348965b089d9e6
|
Provenance
The following attestation bundles were made for redisify-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on Hambaobao/redisify
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
redisify-0.1.0-py3-none-any.whl -
Subject digest:
961530d71909c12b71395161aea4d34b1b6eaa79e62eac33ea7bdec03862caec - Sigstore transparency entry: 248708349
- Sigstore integration time:
-
Permalink:
Hambaobao/redisify@427c5d70205694b5f7c4f24132ebd095f0fb349d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Hambaobao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@427c5d70205694b5f7c4f24132ebd095f0fb349d -
Trigger Event:
push
-
Statement type: