Walrus
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
- 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.