walrus
walrus copied to clipboard
Lightweight Python utilities for working with Redis
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.