From 0a6645f13f195efe247903b83a67955b294b70b3 Mon Sep 17 00:00:00 2001 From: Martijn Pieters Date: Sat, 6 May 2023 15:51:37 +0100 Subject: [PATCH 1/2] Redis: Add missing exported names - redis.asyncio.RedisCluster / redis.asyncio.CommandsParser, added in 4.3.0 - redis.default_backoff / redis.asyncio.default_backoff, added in 4.4.0 --- stubs/redis/redis/__init__.pyi | 5 ++++- stubs/redis/redis/asyncio/__init__.pyi | 6 ++++++ stubs/redis/redis/backoff.pyi | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/stubs/redis/redis/__init__.pyi b/stubs/redis/redis/__init__.pyi index e96eb52fd2fa..a02bc174b595 100644 --- a/stubs/redis/redis/__init__.pyi +++ b/stubs/redis/redis/__init__.pyi @@ -1,4 +1,4 @@ -from . import client, connection, credentials, exceptions, sentinel, utils +from . import backoff, client, connection, credentials, exceptions, sentinel, utils from .cluster import RedisCluster as RedisCluster __all__ = [ @@ -13,6 +13,7 @@ __all__ = [ "CredentialProvider", "DataError", "from_url", + "default_backoff", "InvalidResponse", "PubSubError", "ReadOnlyError", @@ -32,6 +33,8 @@ __all__ = [ "WatchError", ] +default_backoff = backoff.default_backoff + Redis = client.Redis BlockingConnectionPool = connection.BlockingConnectionPool diff --git a/stubs/redis/redis/asyncio/__init__.pyi b/stubs/redis/redis/asyncio/__init__.pyi index 22c85ecc09ba..23d3d7d41f24 100644 --- a/stubs/redis/redis/asyncio/__init__.pyi +++ b/stubs/redis/redis/asyncio/__init__.pyi @@ -1,4 +1,5 @@ from redis.asyncio.client import Redis as Redis, StrictRedis as StrictRedis +from redis.asyncio.cluster import RedisCluster as RedisCluster from redis.asyncio.connection import ( BlockingConnectionPool as BlockingConnectionPool, Connection as Connection, @@ -6,6 +7,7 @@ from redis.asyncio.connection import ( SSLConnection as SSLConnection, UnixDomainSocketConnection as UnixDomainSocketConnection, ) +from redis.asyncio.parser import CommandsParser as CommandsParser from redis.asyncio.sentinel import ( Sentinel as Sentinel, SentinelConnectionPool as SentinelConnectionPool, @@ -13,6 +15,7 @@ from redis.asyncio.sentinel import ( SentinelManagedSSLConnection as SentinelManagedSSLConnection, ) from redis.asyncio.utils import from_url as from_url +from redis.backoff import default_backoff as default_backoff from redis.exceptions import ( AuthenticationError as AuthenticationError, AuthenticationWrongNumberOfArgsError as AuthenticationWrongNumberOfArgsError, @@ -35,15 +38,18 @@ __all__ = [ "BlockingConnectionPool", "BusyLoadingError", "ChildDeadlockedError", + "CommandsParser", "Connection", "ConnectionError", "ConnectionPool", "DataError", "from_url", + "default_backoff", "InvalidResponse", "PubSubError", "ReadOnlyError", "Redis", + "RedisCluster", "RedisError", "ResponseError", "Sentinel", diff --git a/stubs/redis/redis/backoff.pyi b/stubs/redis/redis/backoff.pyi index 6e05455fe09e..40230a134526 100644 --- a/stubs/redis/redis/backoff.pyi +++ b/stubs/redis/redis/backoff.pyi @@ -27,3 +27,5 @@ class EqualJitterBackoff(AbstractBackoff): class DecorrelatedJitterBackoff(AbstractBackoff): def __init__(self, cap: float = 0.512, base: float = 0.008) -> None: ... def compute(self, failures: int) -> float: ... + +def default_backoff() -> EqualJitterBackoff: ... From 8d375cc2cf535eb28c065105db629cf604fa5a02 Mon Sep 17 00:00:00 2001 From: Martijn Pieters Date: Sat, 6 May 2023 21:09:38 +0100 Subject: [PATCH 2/2] Add RedisCluster re-export in subtest_allowlist The original location,`redis.asyncio.cluster.RedisCluster `, is already listed here. --- stubs/redis/@tests/stubtest_allowlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/redis/@tests/stubtest_allowlist.txt b/stubs/redis/@tests/stubtest_allowlist.txt index 4256e9c480b5..abffa75285a6 100644 --- a/stubs/redis/@tests/stubtest_allowlist.txt +++ b/stubs/redis/@tests/stubtest_allowlist.txt @@ -19,6 +19,7 @@ redis.sentinel.Sentinel.slave_for # Metaclass differs: redis.RedisCluster redis.asyncio.Redis +redis.asyncio.RedisCluster redis.asyncio.client.MonitorCommandInfo redis.asyncio.client.Pipeline redis.asyncio.client.Redis