From f67a0df2b80a0f9858fa5c6a50d36de00fb48615 Mon Sep 17 00:00:00 2001 From: Max Muoto Date: Sat, 10 May 2025 13:51:32 -0500 Subject: [PATCH] Update `uuid` for 3.14, other minor improvements (#13990) --- stdlib/@tests/stubtest_allowlists/py314.txt | 5 ---- stdlib/uuid.pyi | 28 ++++++++++++++------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/stdlib/@tests/stubtest_allowlists/py314.txt b/stdlib/@tests/stubtest_allowlists/py314.txt index e9a9bb9ad..aedbbcde0 100644 --- a/stdlib/@tests/stubtest_allowlists/py314.txt +++ b/stdlib/@tests/stubtest_allowlists/py314.txt @@ -625,11 +625,6 @@ urllib.request.pathname2url urllib.request.url2pathname urllib.request.url2pathname urllib.request.url2pathname -uuid.MAX -uuid.NIL -uuid.uuid6 -uuid.uuid7 -uuid.uuid8 wsgiref.types.ErrorStream.__annotate_func__ wsgiref.types.ErrorStream.__annotations_cache__ wsgiref.types.FileWrapper.__annotate_func__ diff --git a/stdlib/uuid.pyi b/stdlib/uuid.pyi index 3202ae212..99ac6eb22 100644 --- a/stdlib/uuid.pyi +++ b/stdlib/uuid.pyi @@ -1,7 +1,8 @@ import builtins import sys from enum import Enum -from typing_extensions import TypeAlias +from typing import Final +from typing_extensions import LiteralString, TypeAlias _FieldsType: TypeAlias = tuple[int, int, int, int, int, int] @@ -67,6 +68,11 @@ class UUID: def getnode() -> int: ... def uuid1(node: int | None = None, clock_seq: int | None = None) -> UUID: ... +if sys.version_info >= (3, 14): + def uuid6(node: int | None = None, clock_seq: int | None = None) -> UUID: ... + def uuid7() -> UUID: ... + def uuid8(a: int | None = None, b: int | None = None, c: int | None = None) -> UUID: ... + if sys.version_info >= (3, 12): def uuid3(namespace: UUID, name: str | bytes) -> UUID: ... @@ -81,14 +87,18 @@ if sys.version_info >= (3, 12): else: def uuid5(namespace: UUID, name: str) -> UUID: ... -NAMESPACE_DNS: UUID -NAMESPACE_URL: UUID -NAMESPACE_OID: UUID -NAMESPACE_X500: UUID -RESERVED_NCS: str -RFC_4122: str -RESERVED_MICROSOFT: str -RESERVED_FUTURE: str +if sys.version_info >= (3, 14): + NIL: Final[UUID] + MAX: Final[UUID] + +NAMESPACE_DNS: Final[UUID] +NAMESPACE_URL: Final[UUID] +NAMESPACE_OID: Final[UUID] +NAMESPACE_X500: Final[UUID] +RESERVED_NCS: Final[LiteralString] +RFC_4122: Final[LiteralString] +RESERVED_MICROSOFT: Final[LiteralString] +RESERVED_FUTURE: Final[LiteralString] if sys.version_info >= (3, 12): def main() -> None: ...