From a03f5dc7e4e8e07a7e9aa379e45046332b932f08 Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Mon, 24 Nov 2025 11:58:51 -0500 Subject: [PATCH 1/3] [stdlib] Add `_for_archive` method for `zipfile.ZipInfo` --- stdlib/zipfile/__init__.pyi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stdlib/zipfile/__init__.pyi b/stdlib/zipfile/__init__.pyi index e573d04dba05..1396e948ea87 100644 --- a/stdlib/zipfile/__init__.pyi +++ b/stdlib/zipfile/__init__.pyi @@ -321,6 +321,8 @@ class ZipInfo: def from_file(cls, filename: StrPath, arcname: StrPath | None = None, *, strict_timestamps: bool = True) -> Self: ... def is_dir(self) -> bool: ... def FileHeader(self, zip64: bool | None = None) -> bytes: ... + if sys.version_info >= (3, 14): + def _for_archive(archive: ZipFile) -> ZipInfo: ... if sys.version_info >= (3, 12): from zipfile._path import CompleteDirs as CompleteDirs, Path as Path From 9b549f89ee95fea6335a6f6d633abb68bf59ef56 Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Mon, 24 Nov 2025 12:08:32 -0500 Subject: [PATCH 2/3] Fix method signature for _for_archive --- stdlib/zipfile/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/zipfile/__init__.pyi b/stdlib/zipfile/__init__.pyi index 1396e948ea87..b243c3a3e919 100644 --- a/stdlib/zipfile/__init__.pyi +++ b/stdlib/zipfile/__init__.pyi @@ -322,7 +322,7 @@ class ZipInfo: def is_dir(self) -> bool: ... def FileHeader(self, zip64: bool | None = None) -> bytes: ... if sys.version_info >= (3, 14): - def _for_archive(archive: ZipFile) -> ZipInfo: ... + def _for_archive(self, archive: ZipFile) -> ZipInfo: ... if sys.version_info >= (3, 12): from zipfile._path import CompleteDirs as CompleteDirs, Path as Path From 2f1ce88bf0a4581a27c2715bb51bf9d3332ab1f1 Mon Sep 17 00:00:00 2001 From: Guo Ci Date: Mon, 24 Nov 2025 17:15:51 -0500 Subject: [PATCH 3/3] Update stdlib/zipfile/__init__.pyi Co-authored-by: Sebastian Rittau --- stdlib/zipfile/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/zipfile/__init__.pyi b/stdlib/zipfile/__init__.pyi index b243c3a3e919..df53cdedb4f8 100644 --- a/stdlib/zipfile/__init__.pyi +++ b/stdlib/zipfile/__init__.pyi @@ -322,7 +322,7 @@ class ZipInfo: def is_dir(self) -> bool: ... def FileHeader(self, zip64: bool | None = None) -> bytes: ... if sys.version_info >= (3, 14): - def _for_archive(self, archive: ZipFile) -> ZipInfo: ... + def _for_archive(self, archive: ZipFile) -> Self: ... if sys.version_info >= (3, 12): from zipfile._path import CompleteDirs as CompleteDirs, Path as Path