From ea066725ebfc62e9dd1983a3716f43d0c1145b92 Mon Sep 17 00:00:00 2001 From: Bryan Forbes Date: Mon, 25 Jul 2022 15:49:56 -0500 Subject: [PATCH] Updates for 0.26.0 --- asyncpg-stubs/connect_utils.pyi | 4 +++- asyncpg-stubs/connection.pyi | 12 +++++------ asyncpg-stubs/pool.pyi | 36 ++++++++++++++++++++++++++++----- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/asyncpg-stubs/connect_utils.pyi b/asyncpg-stubs/connect_utils.pyi index 17956b4..c6e2027 100644 --- a/asyncpg-stubs/connect_utils.pyi +++ b/asyncpg-stubs/connect_utils.pyi @@ -18,6 +18,7 @@ _ParsedSSLType: TypeAlias = SSLContext | Literal[False] _SSLType: TypeAlias = _ParsedSSLType | _SSLStringValues | bool _HostType: TypeAlias = list[str] | str _PortType: TypeAlias = list[int] | int +_PasswordType: TypeAlias = str | Callable[[], str] | Callable[[], Awaitable[str]] PGPASSFILE: Final[str] @@ -33,10 +34,11 @@ class SSLMode(IntEnum): class _ConnectionParameters(NamedTuple): user: str - password: str | Callable[[], str] | Callable[[], Awaitable[str]] | None + password: _PasswordType | None database: str ssl: _ParsedSSLType | None sslmode: SSLMode | None + direct_tls: bool connect_timeout: float server_settings: dict[str, str] | None diff --git a/asyncpg-stubs/connection.pyi b/asyncpg-stubs/connection.pyi index 005a50b..a878f50 100644 --- a/asyncpg-stubs/connection.pyi +++ b/asyncpg-stubs/connection.pyi @@ -35,9 +35,6 @@ _OutputType: TypeAlias = PathLike[Any] | BinaryIO | _Writer _SourceType: TypeAlias = PathLike[Any] | BinaryIO | AsyncIterable[bytes] _CopyFormat: TypeAlias = Literal['text', 'csv', 'binary'] -_PasswordType: TypeAlias = ( - str | Callable[[], str] | Callable[[], Coroutine[Any, Any, str]] -) class _Listener(Protocol): def __call__( @@ -290,7 +287,7 @@ async def connect( host: connect_utils._HostType | None = ..., port: connect_utils._PortType | None = ..., user: str | None = ..., - password: _PasswordType | None = ..., + password: connect_utils._PasswordType | None = ..., passfile: str | None = ..., database: str | None = ..., loop: AbstractEventLoop | None = ..., @@ -300,6 +297,7 @@ async def connect( max_cacheable_statement_size: int = ..., command_timeout: float | None = ..., ssl: connect_utils._SSLType | None = ..., + direct_tls: bool = ..., connection_class: type[Connection[_Record]] = ..., record_class: type[_Record], server_settings: dict[str, str] | None = ..., @@ -311,7 +309,7 @@ async def connect( # pyright: ignore host: connect_utils._HostType | None = ..., port: connect_utils._PortType | None = ..., user: str | None = ..., - password: _PasswordType | None = ..., + password: connect_utils._PasswordType | None = ..., passfile: str | None = ..., database: str | None = ..., loop: AbstractEventLoop | None = ..., @@ -321,6 +319,7 @@ async def connect( # pyright: ignore max_cacheable_statement_size: int = ..., command_timeout: float | None = ..., ssl: connect_utils._SSLType | None = ..., + direct_tls: bool = ..., connection_class: type[Connection[protocol.Record]] = ..., record_class: type[protocol.Record] = ..., server_settings: dict[str, str] | None = ..., @@ -332,7 +331,7 @@ async def connect( host: connect_utils._HostType | None = ..., port: connect_utils._PortType | None = ..., user: str | None = ..., - password: _PasswordType | None = ..., + password: connect_utils._PasswordType | None = ..., passfile: str | None = ..., database: str | None = ..., loop: AbstractEventLoop | None = ..., @@ -342,6 +341,7 @@ async def connect( max_cacheable_statement_size: int = ..., command_timeout: float | None = ..., ssl: connect_utils._SSLType | None = ..., + direct_tls: bool = ..., connection_class: type[_Connection], record_class: type[_Record] = ..., server_settings: dict[str, str] | None = ..., diff --git a/asyncpg-stubs/pool.pyi b/asyncpg-stubs/pool.pyi index c74c1a5..8449fdb 100644 --- a/asyncpg-stubs/pool.pyi +++ b/asyncpg-stubs/pool.pyi @@ -280,7 +280,7 @@ class Pool(Generic[_Record]): host: connect_utils._HostType | None = ..., port: connect_utils._PortType | None = ..., user: str | None = ..., - password: connection._PasswordType | None = ..., + password: connect_utils._PasswordType | None = ..., passfile: str | None = ..., database: str | None = ..., timeout: float = ..., @@ -297,9 +297,22 @@ class Pool(Generic[_Record]): async def executemany( self, command: str, args: Any, *, timeout: float | None = ... ) -> None: ... + @overload async def fetch( - self, query: str, *args: Any, timeout: float | None = ... + self, + query: str, + *args: Any, + timeout: float | None = ..., + record_class: None = ..., ) -> list[_Record]: ... + @overload + async def fetch( + self, + query: str, + *args: Any, + timeout: float | None = ..., + record_class: type[_OtherRecord], + ) -> list[_OtherRecord]: ... async def fetchval( self, query: str, @@ -307,9 +320,22 @@ class Pool(Generic[_Record]): column: int = ..., timeout: float | None = ..., ) -> Any: ... + @overload async def fetchrow( - self, query: str, *args: Any, timeout: float | None = ... + self, + query: str, + *args: Any, + timeout: float | None = ..., + record_class: None = ..., ) -> _Record | None: ... + @overload + async def fetchrow( + self, + query: str, + *args: Any, + timeout: float | None = ..., + record_class: type[_OtherRecord], + ) -> _OtherRecord | None: ... async def copy_from_table( self, table_name: str, @@ -421,7 +447,7 @@ def create_pool( host: connect_utils._HostType | None = ..., port: connect_utils._PortType | None = ..., user: str | None = ..., - password: connection._PasswordType | None = ..., + password: connect_utils._PasswordType | None = ..., passfile: str | None = ..., database: str | None = ..., timeout: float = ..., @@ -448,7 +474,7 @@ def create_pool( host: connect_utils._HostType | None = ..., port: connect_utils._PortType | None = ..., user: str | None = ..., - password: connection._PasswordType | None = ..., + password: connect_utils._PasswordType | None = ..., passfile: str | None = ..., database: str | None = ..., timeout: float = ...,