about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile')
-rw-r--r--.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/__init__.pyi323
-rw-r--r--.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/temptypes.pyi51
2 files changed, 374 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/__init__.pyi b/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/__init__.pyi
new file mode 100644
index 00000000..e8016aa8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/__init__.pyi
@@ -0,0 +1,323 @@
+import sys
+from _typeshed import (
+    BytesPath,
+    Incomplete,
+    OpenBinaryMode,
+    OpenBinaryModeReading,
+    OpenBinaryModeUpdating,
+    OpenBinaryModeWriting,
+    OpenTextMode,
+    StrOrBytesPath,
+    StrPath,
+)
+from asyncio import AbstractEventLoop
+from typing import AnyStr, Literal, overload
+
+from ..base import AiofilesContextManager
+from ..threadpool.binary import AsyncBufferedIOBase, AsyncBufferedReader, AsyncFileIO
+from ..threadpool.text import AsyncTextIOWrapper
+from .temptypes import AsyncTemporaryDirectory
+
+# Text mode: always returns AsyncTextIOWrapper
+@overload
+def TemporaryFile(
+    mode: OpenTextMode,
+    buffering: int = -1,
+    encoding: str | None = None,
+    newline: str | None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncTextIOWrapper]: ...
+
+# Unbuffered binary: returns a FileIO
+@overload
+def TemporaryFile(
+    mode: OpenBinaryMode,
+    buffering: Literal[0],
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncFileIO]: ...
+
+# Buffered binary reading/updating: AsyncBufferedReader
+@overload
+def TemporaryFile(
+    mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
+    buffering: Literal[-1, 1] = -1,
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncBufferedReader]: ...
+
+# Buffered binary writing: AsyncBufferedIOBase
+@overload
+def TemporaryFile(
+    mode: OpenBinaryModeWriting,
+    buffering: Literal[-1, 1] = -1,
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncBufferedIOBase]: ...
+
+# 3.12 added `delete_on_close`
+if sys.version_info >= (3, 12):
+    # Text mode: always returns AsyncTextIOWrapper
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenTextMode,
+        buffering: int = -1,
+        encoding: str | None = None,
+        newline: str | None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        delete_on_close: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncTextIOWrapper]: ...
+
+    # Unbuffered binary: returns a FileIO
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenBinaryMode,
+        buffering: Literal[0],
+        encoding: None = None,
+        newline: None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        delete_on_close: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncFileIO]: ...
+
+    # Buffered binary reading/updating: AsyncBufferedReader
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
+        buffering: Literal[-1, 1] = -1,
+        encoding: None = None,
+        newline: None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        delete_on_close: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncBufferedReader]: ...
+
+    # Buffered binary writing: AsyncBufferedIOBase
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenBinaryModeWriting,
+        buffering: Literal[-1, 1] = -1,
+        encoding: None = None,
+        newline: None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        delete_on_close: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncBufferedIOBase]: ...
+
+else:
+    # Text mode: always returns AsyncTextIOWrapper
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenTextMode,
+        buffering: int = -1,
+        encoding: str | None = None,
+        newline: str | None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncTextIOWrapper]: ...
+
+    # Unbuffered binary: returns a FileIO
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenBinaryMode,
+        buffering: Literal[0],
+        encoding: None = None,
+        newline: None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncFileIO]: ...
+
+    # Buffered binary reading/updating: AsyncBufferedReader
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
+        buffering: Literal[-1, 1] = -1,
+        encoding: None = None,
+        newline: None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncBufferedReader]: ...
+
+    # Buffered binary writing: AsyncBufferedIOBase
+    @overload
+    def NamedTemporaryFile(
+        mode: OpenBinaryModeWriting,
+        buffering: Literal[-1, 1] = -1,
+        encoding: None = None,
+        newline: None = None,
+        suffix: AnyStr | None = None,
+        prefix: AnyStr | None = None,
+        dir: StrOrBytesPath | None = None,
+        delete: bool = True,
+        loop: AbstractEventLoop | None = None,
+        executor: Incomplete | None = None,
+    ) -> AiofilesContextManager[AsyncBufferedIOBase]: ...
+
+# Text mode: always returns AsyncTextIOWrapper
+@overload
+def SpooledTemporaryFile(
+    max_size: int = 0,
+    *,
+    mode: OpenTextMode,
+    buffering: int = -1,
+    encoding: str | None = None,
+    newline: str | None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncTextIOWrapper]: ...
+@overload
+def SpooledTemporaryFile(
+    max_size: int,
+    mode: OpenTextMode,
+    buffering: int = -1,
+    encoding: str | None = None,
+    newline: str | None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncTextIOWrapper]: ...
+
+# Unbuffered binary: returns a FileIO
+@overload
+def SpooledTemporaryFile(
+    max_size: int = 0,
+    mode: OpenBinaryMode = "w+b",
+    *,
+    buffering: Literal[0],
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncFileIO]: ...
+@overload
+def SpooledTemporaryFile(
+    max_size: int,
+    mode: OpenBinaryMode,
+    buffering: Literal[0],
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncFileIO]: ...
+
+# Buffered binary reading/updating: AsyncBufferedReader
+@overload
+def SpooledTemporaryFile(
+    max_size: int = 0,
+    mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
+    buffering: Literal[-1, 1] = -1,
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncBufferedReader]: ...
+
+# Buffered binary writing: AsyncBufferedIOBase
+@overload
+def SpooledTemporaryFile(
+    max_size: int = 0,
+    *,
+    mode: OpenBinaryModeWriting,
+    buffering: Literal[-1, 1] = -1,
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncBufferedIOBase]: ...
+@overload
+def SpooledTemporaryFile(
+    max_size: int,
+    mode: OpenBinaryModeWriting,
+    buffering: Literal[-1, 1] = -1,
+    encoding: None = None,
+    newline: None = None,
+    suffix: AnyStr | None = None,
+    prefix: AnyStr | None = None,
+    dir: StrOrBytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManager[AsyncBufferedIOBase]: ...
+@overload
+def TemporaryDirectory(
+    suffix: str | None = None,
+    prefix: str | None = None,
+    dir: StrPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManagerTempDir: ...
+@overload
+def TemporaryDirectory(
+    suffix: bytes | None = None,
+    prefix: bytes | None = None,
+    dir: BytesPath | None = None,
+    loop: AbstractEventLoop | None = None,
+    executor: Incomplete | None = None,
+) -> AiofilesContextManagerTempDir: ...
+
+class AiofilesContextManagerTempDir(AiofilesContextManager[AsyncTemporaryDirectory]):
+    async def __aenter__(self) -> str: ...  # type: ignore[override]
diff --git a/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/temptypes.pyi b/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/temptypes.pyi
new file mode 100644
index 00000000..23abf5cb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/aiofiles-stubs/tempfile/temptypes.pyi
@@ -0,0 +1,51 @@
+from _typeshed import Incomplete, OpenBinaryMode
+from asyncio import AbstractEventLoop
+from collections.abc import Generator, Iterable
+from tempfile import TemporaryDirectory
+from typing import TypeVar
+
+from aiofiles.base import AsyncBase as AsyncBase
+from aiofiles.threadpool.utils import (
+    cond_delegate_to_executor as cond_delegate_to_executor,
+    delegate_to_executor as delegate_to_executor,
+    proxy_property_directly as proxy_property_directly,
+)
+
+_T = TypeVar("_T")
+
+class AsyncSpooledTemporaryFile(AsyncBase[_T]):
+    def fileno(self) -> Generator[Incomplete, Incomplete, Incomplete]: ...
+    def rollover(self) -> Generator[Incomplete, Incomplete, Incomplete]: ...
+    async def close(self) -> None: ...
+    async def flush(self) -> None: ...
+    async def isatty(self) -> bool: ...
+    # All must return `AnyStr`:
+    async def read(self, n: int = ..., /): ...
+    async def readline(self, limit: int | None = ..., /): ...
+    async def readlines(self, hint: int = ..., /) -> list[Incomplete]: ...
+    # ---
+    async def seek(self, offset: int, whence: int = ...) -> int: ...
+    async def tell(self) -> int: ...
+    async def truncate(self, size: int | None = ...) -> None: ...
+    @property
+    def closed(self) -> bool: ...
+    @property
+    def encoding(self) -> str: ...
+    @property
+    def mode(self) -> OpenBinaryMode: ...
+    @property
+    def name(self) -> str: ...
+    @property
+    def newlines(self) -> str: ...
+    # Both should work with `AnyStr`, like in `tempfile`:
+    async def write(self, s) -> int: ...
+    async def writelines(self, iterable: Iterable[Incomplete]) -> None: ...
+
+class AsyncTemporaryDirectory:
+    async def cleanup(self) -> None: ...
+    @property
+    def name(self): ...  # should be `AnyStr`
+    def __init__(
+        self, file: TemporaryDirectory[Incomplete], loop: AbstractEventLoop | None, executor: Incomplete | None
+    ) -> None: ...
+    async def close(self) -> None: ...