Skip to content

Commit 31dbb85

Browse files
committed
typing for client __init__
1 parent 00f5be4 commit 31dbb85

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._parsers.encoders import Encoder
1010
from redis._parsers.helpers import (
@@ -46,6 +46,10 @@
4646
str_if_bytes,
4747
)
4848

49+
if TYPE_CHECKING:
50+
import OpenSSL
51+
import ssl
52+
4953
SYM_EMPTY = b""
5054
EMPTY_RESPONSE = "EMPTY_RESPONSE"
5155

@@ -168,47 +172,47 @@ def from_pool(
168172

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

0 commit comments

Comments
 (0)