Walrus
Lightweight Python utilities for working with Redis.
The purpose of walrus is to make working
with Redis in Python a little easier. Rather than ask you to learn a new
library, walrus subclasses and extends the popular redis-py
client, allowing
it to be used as a drop-in replacement. In addition to all the features in
redis-py
, walrus adds support for some newer commands, including full support
for streams and consumer groups.
walrus consists of:
- Pythonic container classes for the Redis data-types:
- Hash
- List
- Set
- Sorted Set
- HyperLogLog
- Array (custom type)
- BitField
- BloomFilter
- Streams
- Autocomplete
- Cache implementation that exposes several decorators for caching function and method calls.
- Full-text search supporting set operations.
- Graph store
- Rate-limiting
- Locking
- Experimental active-record style Models that support persisting structured information and performing complex queries using secondary indexes.
- More? More!
Models
Persistent structures implemented on top of Hashes. Supports secondary indexes to allow filtering on equality, inequality, ranges, less/greater-than, and a basic full-text search index. The full-text search features a boolean search query parser, porter stemmer, stop-word filtering, and optional double-metaphone implementation.
Found a bug?
Please open a github issue and I will try my best to fix it!
Alternative Backends
Walrus also can integrate with the Redis-like databases rlite, ledis, and vedis. Check the documentation for more details.