Skip to content

Commit eea2b6a

Browse files
committed
typing for client __init__
1 parent 7d73d74 commit eea2b6a

File tree

1 file changed

+46
-42
lines changed

1 file changed

+46
-42
lines changed

redis/client.py

+46-42
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import time
55
import warnings
66
from itertools import chain
7-
from typing import Any, Callable, Dict, List, Optional, Type, Union
7+
from typing import Any, Callable, Dict, List, Optional, Type, Union, Mapping, TYPE_CHECKING
88

99
from redis._cache import (
1010
DEFAULT_ALLOW_LIST,
@@ -51,6 +51,10 @@
5151
str_if_bytes,
5252
)
5353

54+
if TYPE_CHECKING:
55+
import OpenSSL
56+
import ssl
57+
5458
SYM_EMPTY = b""
5559
EMPTY_RESPONSE = "EMPTY_RESPONSE"
5660

@@ -173,47 +177,47 @@ def from_pool(
173177

174178
def __init__(
175179
self,
176-
host="localhost",
177-
port=6379,
178-
db=0,
179-
password=None,
180-
socket_timeout=None,
181-
socket_connect_timeout=None,
182-
socket_keepalive=None,
183-
socket_keepalive_options=None,
184-
connection_pool=None,
185-
unix_socket_path=None,
186-
encoding="utf-8",
187-
encoding_errors="strict",
188-
charset=None,
189-
errors=None,
190-
decode_responses=False,
191-
retry_on_timeout=False,
192-
retry_on_error=None,
193-
ssl=False,
194-
ssl_keyfile=None,
195-
ssl_certfile=None,
196-
ssl_cert_reqs="required",
197-
ssl_ca_certs=None,
198-
ssl_ca_path=None,
199-
ssl_ca_data=None,
200-
ssl_check_hostname=False,
201-
ssl_password=None,
202-
ssl_validate_ocsp=False,
203-
ssl_validate_ocsp_stapled=False,
204-
ssl_ocsp_context=None,
205-
ssl_ocsp_expected_cert=None,
206-
ssl_min_version=None,
207-
ssl_ciphers=None,
208-
max_connections=None,
209-
single_connection_client=False,
210-
health_check_interval=0,
211-
client_name=None,
212-
lib_name="redis-py",
213-
lib_version=get_lib_version(),
214-
username=None,
215-
retry=None,
216-
redis_connect_func=None,
180+
host: str = "localhost",
181+
port: int = 6379,
182+
db: int = 0,
183+
password: Optional[str] = None,
184+
socket_timeout: Optional[float] = None,
185+
socket_connect_timeout: Optional[float] = None,
186+
socket_keepalive: Optional[bool] = None,
187+
socket_keepalive_options: Optional[Mapping[int, Union[int, bytes]]] = None,
188+
connection_pool: Optional[ConnectionPool] = None,
189+
unix_socket_path: Optional[str] = None,
190+
encoding: str = "utf-8",
191+
encoding_errors: str = "strict",
192+
charset: Optional[str] = None,
193+
errors: Optional[str] = None,
194+
decode_responses: bool = False,
195+
retry_on_timeout: bool = False,
196+
retry_on_error: Optional[list] = None,
197+
ssl: bool = False,
198+
ssl_keyfile: Optional[str] = None,
199+
ssl_certfile: Optional[str] = None,
200+
ssl_cert_reqs: str = "required",
201+
ssl_ca_certs: Optional[str] = None,
202+
ssl_ca_path: Optional[str] = None,
203+
ssl_ca_data: Optional[str] = None,
204+
ssl_check_hostname: bool = False,
205+
ssl_password: Optional[str] = None,
206+
ssl_validate_ocsp: bool = False,
207+
ssl_validate_ocsp_stapled: bool = False,
208+
ssl_ocsp_context: Optional[OpenSSL.SSL.Context] = None,
209+
ssl_ocsp_expected_cert: Optional[str] = None,
210+
ssl_min_version: Optional[ssl.TLSVersion] = None,
211+
ssl_ciphers: Optional[str] = None,
212+
max_connections: Optional[int] = None,
213+
single_connection_client: bool = False,
214+
health_check_interval: int = 0,
215+
client_name: Optional[str] = None,
216+
lib_name: Optional[str] = "redis-py",
217+
lib_version: Optional[str] = get_lib_version(),
218+
username: Optional[str] = None,
219+
retry: Union[Any, None] = None,
220+
redis_connect_func: Optional[Callable[[], None]] = None,
217221
credential_provider: Optional[CredentialProvider] = None,
218222
protocol: Optional[int] = 2,
219223
cache_enabled: bool = False,

0 commit comments

Comments
 (0)