Walrus Versions Save

Lightweight Python utilities for working with Redis

0.9.2

1 year ago
  • Upstream decided to play around with XPENDING again.

View changes

0.9.1

2 years ago
  • Add support for minid and limit parameters on Stream.trim(), #169
  • Cache decorators now cache calls that return None, #171

View changes

0.9.0

2 years ago
  • Backwards incompatible change: redis-py changed the signature of the xpending_range function. This is resolved in walrus 0.9.0.
  • Add support for autoclaim() to the ConsumerGroupStream class.
  • Minor changes to the stop-word handling in autocomplete module.

View changes

0.8.2

3 years ago
  • Use HSET instead of HMSET.
  • Add a search_items() method to the full-text index which returns a 2-tuple of (key, doc).
  • Add a timeout parameter to bmove_tail and brpoplpush wrappers.
  • Allow disabling lua script-loading for faster initialization (for applications that do not intend to utilize these features).

View changes

0.8.1

4 years ago
  • Fix missing parameter in error message, #105.
  • Remove redundant call to delete() when using Model create() API.
  • Fix TTL units and lock event wait timeout handling.
  • Adds Hash.setnx() method to the hash container.
  • Do not double-decode strings when user has enabled decode_responses, #121.
  • Fix mapping of types in get_key() method to return the proper container type, #120.

View all changes

0.8.0

4 years ago
  • Adds efficient bulk get, set and delete methods to the Cache class.
  • Fixes repr issues with some of the container types.
  • Fixed an inefficiency in the implementation of the Graph storage that cuts the amount of memory needed in half.
  • Fixed issues with unicode handling in the full-text search implementation.

View all changes

0.6.0

5 years ago
  • Stream support added, including consumer groups.
  • Support for zpopmin, zpopmax, and the blocking bzpopmin, bzpopmax
  • Added APIs to container classes for converting to-and-from native data-types.
  • Added atomic compare-and-set method to database.

0.7.0

5 years ago

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

  • Added BloomFilter container type, which supports add() and contains().
  • Added a high-level BitField container type.

View all changes