coredis

coredis is an async redis client for python with support for redis cluster & sentinel.

MIT License

Downloads
92.2K
Stars
65
Committers
30

Bot releases are visible (Hide)

coredis - 3.11.0

Published by github-actions[bot] over 2 years ago

Features

  • Added noreply option to Redis & RedisCluster constructors
    to allow using the client without waiting for response from the
    server
  • Build wheels for all architectures supported by cibuildwheel

Deprecations / Removals

  • Remove deprecated sentinel methods
  • Add warnings for client_setname, client_reply and auth
    commands

Bug Fixes

  • Fix missing protocol_version in cluster pipeline code paths
coredis - 3.10.1

Published by github-actions[bot] over 2 years ago

Chores

  • Documentation tweaks
coredis - 3.10.0

Published by github-actions[bot] over 2 years ago

Features

  • Expose ssl parameters in RedisCluster constructor
  • Expose ssl_check_hostname parameter in Redis/RedisCluster constructors
  • Separate opt-in cache behaviors into protocols leaving AbstractCache
    as the minimal implementation required
  • Expose cache stats
  • Allow TrackingCache.dynamic_confidence to increase confidence up to 100% instead
    of capping it at the original confidence value provided

Chores

  • Improve documentation for caching
  • Improve test coverage for ssl connections
  • Add test coverage for cluster ssl clients
coredis - 3.9.3

Published by github-actions[bot] over 2 years ago

Features

  • Expose cache parameter to Sentinel managed clients

Bug Fix

  • Handle error parsing command not found exception
coredis - 3.9.2

Published by github-actions[bot] over 2 years ago

Features

  • Add option to define confidence in cached entries
coredis - 3.9.1

Published by github-actions[bot] over 2 years ago

Features

  • Extend coverage of cachable commands
  • Expose option to share TrackingCache between client
coredis - 3.9

Published by github-actions[bot] over 2 years ago

Features

  • Add support for client side caching
coredis - 3.8.12

Published by github-actions[bot] over 2 years ago

Features

  • Add support for sharded pubsub for redis 7.0.1
  • Expose verify_version parameter to from_url factory function

Experiments

  • Extend CI coverage for keydb & dragonfly
coredis - 3.8.11

Published by github-actions[bot] over 2 years ago

Bug Fixes

  • Fix support for HELLO SETNAME
  • Fix routing of ACL SAVE in cluster mode

Chores

  • Improved test coverage for server commands
coredis - 3.8.10

Published by github-actions[bot] over 2 years ago

Features

  • New nodenames parameter added to sentinel_info_cache

Chores

  • Added redis 7.0 to sentinel test coverage matrix
coredis - 3.8.9

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Fix type annotation for hmget

Experiments

  • Add CI coverage for dragonflydb
coredis - 3.8.7

Published by github-actions[bot] over 2 years ago

Features

  • Add support for python 3.11 (b3) builds

Performance

  • Extract python parser and optionally compile it to native
    code using mypyc

Bug Fixes

  • Only route PING commands to primaries in cluster mode
  • Ensure connection errors for commands routed to multiple nodes
    are retried in case of cluster reconfiguration
  • Ensure re population of startup nodes is based off latest response
    from cluster
coredis - 3.8.6

Published by github-actions[bot] over 2 years ago

Performance

  • Inline buffering of responses in python parser
coredis - 3.8.5

Published by github-actions[bot] over 2 years ago

Features

  • Refactor python parser to remove recursion
  • Reduce number of async calls during response parsing
  • Extract command packer and use mypyc to compile it to native code
coredis - 3.7.57

Published by github-actions[bot] over 2 years ago

Features

  • Stream consumer clients

Experiments

  • Updated KeyDB command coverage
  • KeyDBCluster client
coredis - 3.8.0

Published by github-actions[bot] over 2 years ago

Chores

  • Documentation reorg
  • Improved RESP error <-> exception mapping

Bug fix

  • Ignore duplicate consumer group error due to groupconsumer
    initialization race condition
coredis - 3.6.0

Published by github-actions[bot] over 2 years ago

Features

  • Add option to enable non atomic splitting of commands in cluster
    mode when the commands only deal with keys (delete, exists, touch, unlink)
  • Add support for sharded pub sub in cluster mode
  • Add support for readonly execution of LUA scripts and redis functions

Bug Fix

  • Ensure script_load is routed to all nodes in cluster mode
  • Ensure evalsha_ro, eval_ro, fcall_ro are included in readonly commands
  • Change version related warnings to use DeprecationWarning

Chores

  • General improvements in reliability and correctness of unit tests
coredis - 3.5.1

Published by github-actions[bot] over 2 years ago

Bug Fix

  • Fix type annotation for PubSubMessage.data to include int
    for server responses to subscribe/unsubscribe/psubscribe/punsubscribe
coredis - 3.5.0

Published by github-actions[bot] over 2 years ago

Features

  • Added Library.wraps and Script.wraps decorators for creating strict signature wrappers for lua scripts and
    functions.
  • Add __call__ method to Script so it can be called directly without having to go through execute
  • Improve type safety with regards to command methods accepting multiple keys or values. These were previously annotated as
    accepting either Iterable[KeyT] or Iterable[ValueT] which would allow strings or bytes to be passed. These are now changed to Parameters[KeyT] or Parameter[ValueT] respectively which only allow a restricted set of collections and reject strings and bytes.

Breaking Changes

  • Removed custom client side implementations for cross slot cluster methods. These methods will now use the regular cluster implementation and raise and error if the keys don't map to the same shard.
  • verify_version on both Redis & RedisCluster constructors will default to True resulting in warnings being emitted for using
    deprecated methods and preemptive exceptions being raised when calling methods against server versions that do not support them.
  • Dropped support for redis server versions less than 6.0
  • A large chunk of utility / private code has been moved into private namespaces

Chores

  • Refactor response transformation to use inlined callbacks to improve type safety.

Bug Fixes

  • Ensure protocol_version, decoding arguments are consistent across different construction methods.
  • Synchronize parameters for replacing library code between Library constructor and Redis.register_library
coredis - 3.4.7

Published by github-actions[bot] over 2 years ago

Chores

  • Update CI to use official 7.0 release for redis
  • Update CI to use 7.0.0-RC4 image for redis-stack

Bug Fix

  • Fix key spec extraction for commands using kw search