Skip to content

Commit 68e1396

Browse files
authored
re: update for py313 (#11975)
1 parent 0511881 commit 68e1396

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

stdlib/re.pyi

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import enum
22
import sre_compile
3+
import sre_constants
34
import sys
45
from _typeshed import ReadableBuffer
56
from collections.abc import Callable, Iterator, Mapping
@@ -21,7 +22,6 @@ __all__ = [
2122
"finditer",
2223
"compile",
2324
"purge",
24-
"template",
2525
"escape",
2626
"error",
2727
"A",
@@ -41,10 +41,17 @@ __all__ = [
4141
"Match",
4242
"Pattern",
4343
]
44+
if sys.version_info < (3, 13):
45+
__all__ += ["template"]
4446

4547
if sys.version_info >= (3, 11):
4648
__all__ += ["NOFLAG", "RegexFlag"]
4749

50+
if sys.version_info >= (3, 13):
51+
__all__ += ["PatternError"]
52+
53+
PatternError = sre_constants.error
54+
4855
_T = TypeVar("_T")
4956

5057
@final
@@ -198,8 +205,9 @@ class RegexFlag(enum.IntFlag):
198205
VERBOSE = X
199206
U = sre_compile.SRE_FLAG_UNICODE
200207
UNICODE = U
201-
T = sre_compile.SRE_FLAG_TEMPLATE
202-
TEMPLATE = T
208+
if sys.version_info < (3, 13):
209+
T = sre_compile.SRE_FLAG_TEMPLATE
210+
TEMPLATE = T
203211
if sys.version_info >= (3, 11):
204212
NOFLAG = 0
205213

@@ -218,8 +226,9 @@ X = RegexFlag.X
218226
VERBOSE = RegexFlag.VERBOSE
219227
U = RegexFlag.U
220228
UNICODE = RegexFlag.UNICODE
221-
T = RegexFlag.T
222-
TEMPLATE = RegexFlag.TEMPLATE
229+
if sys.version_info < (3, 13):
230+
T = RegexFlag.T
231+
TEMPLATE = RegexFlag.TEMPLATE
223232
if sys.version_info >= (3, 11):
224233
NOFLAG = RegexFlag.NOFLAG
225234
_FlagsType: TypeAlias = int | RegexFlag
@@ -287,4 +296,6 @@ def subn(
287296
) -> tuple[bytes, int]: ...
288297
def escape(pattern: AnyStr) -> AnyStr: ...
289298
def purge() -> None: ...
290-
def template(pattern: AnyStr | Pattern[AnyStr], flags: _FlagsType = 0) -> Pattern[AnyStr]: ...
299+
300+
if sys.version_info < (3, 13):
301+
def template(pattern: AnyStr | Pattern[AnyStr], flags: _FlagsType = 0) -> Pattern[AnyStr]: ...

0 commit comments

Comments
 (0)