Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 50 additions & 2 deletions stdlib/tempfile.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,51 @@ template: str
_StrMode: TypeAlias = Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"]
_BytesMode: TypeAlias = Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"]

if sys.version_info >= (3, 8):
if sys.version_info >= (3, 12):
@overload
def NamedTemporaryFile(
mode: _StrMode,
buffering: int = -1,
encoding: str | None = None,
newline: str | None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: GenericPath[AnyStr] | None = None,
delete: bool = True,
*,
errors: str | None = None,
delete_on_close: bool = True,
) -> _TemporaryFileWrapper[str]: ...
@overload
def NamedTemporaryFile(
mode: _BytesMode = "w+b",
buffering: int = -1,
encoding: str | None = None,
newline: str | None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: GenericPath[AnyStr] | None = None,
delete: bool = True,
*,
errors: str | None = None,
delete_on_close: bool = True,
) -> _TemporaryFileWrapper[bytes]: ...
@overload
def NamedTemporaryFile(
mode: str = "w+b",
buffering: int = -1,
encoding: str | None = None,
newline: str | None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: GenericPath[AnyStr] | None = None,
delete: bool = True,
*,
errors: str | None = None,
delete_on_close: bool = True,
) -> _TemporaryFileWrapper[Any]: ...

elif sys.version_info >= (3, 8):
@overload
def NamedTemporaryFile(
mode: _StrMode,
Expand Down Expand Up @@ -185,7 +229,11 @@ class _TemporaryFileWrapper(Generic[AnyStr], IO[AnyStr]):
file: IO[AnyStr] # io.TextIOWrapper, io.BufferedReader or io.BufferedWriter
name: str
delete: bool
def __init__(self, file: IO[AnyStr], name: str, delete: bool = True) -> None: ...
if sys.version_info >= (3, 12):
def __init__(self, file: IO[AnyStr], name: str, delete: bool = True, delete_on_close: bool = True) -> None: ...
else:
def __init__(self, file: IO[AnyStr], name: str, delete: bool = True) -> None: ...

def __enter__(self) -> Self: ...
def __exit__(self, exc: type[BaseException] | None, value: BaseException | None, tb: TracebackType | None) -> None: ...
def __getattr__(self, name: str) -> Any: ...
Expand Down
1 change: 0 additions & 1 deletion tests/stubtest_allowlists/py312.txt
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,6 @@ tarfile.__all__
tarfile.data_filter
tarfile.fully_trusted_filter
tarfile.tar_filter
tempfile.NamedTemporaryFile
token.EXCLAMATION
token.FSTRING_END
token.FSTRING_MIDDLE
Expand Down