minid and limit parameters on Stream.trim(), #169None, #171xpending_range function. This is resolved in walrus 0.9.0.autoclaim() to the ConsumerGroupStream class.autocomplete module.HSET instead of HMSET.search_items() method to the full-text index which returns a 2-tuple
of (key, doc).bmove_tail and brpoplpush wrappers.delete() when using Model create() API.Hash.setnx() method to the hash container.get_key() method to return the proper container type, #120.Cache class.repr issues with some of the container types.Graph storage that
cuts the amount of memory needed in half.Depends on redis-py 3.0 or newer.
There are a number of backwards-incompatible changes in redis-py. Because
walrus provides high-level abstractions for the Redis data-types/commands, your
β¬οΈ walrus code should work with little or no modifications. Refer to the list of changes
for more information.
π redis-py added support for stream
commands as well as zpop/bzpop. As a result, walrus no longer contains separate
implementations for these commands. For the majority of cases the low-level
method signatures and return values are unchanged, notably, the XREADGROUP
β± return value is slightly different. The timeout parameter, where it was
accepted, has been renamed to block for greater compatibility with redis-py.
Prior to 0.7.0, you would read from a consumer-group (which might contain one
or more streams) and receive a dict keyed by the stream, whose value was a
list of (message_id, data) 2-tuples. Going forward, the return value will be
a list of [stream_name, [(message_id, data), ...]]. To retain the
functionality of walrus prior-to 0.7.0, just wrap the return value in a call to
the dict constructor: ret = dict(consumer_group.read(count=1)).
add() and contains().