From 77f006c388ab3a93c88fb8aeb3d2bde20d585682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 31 May 2025 18:58:45 +0200 Subject: [PATCH] Fix `ImportError` on Python 3.14 due to missing `typing.ByteString` Add `typing.ByteString` to `BUILTINS_MAPPING` only when it is present. The type has been removed in Python 3.14. Fixes #127 --- overrides/typing_utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/overrides/typing_utils.py b/overrides/typing_utils.py index f628d40..15ab796 100644 --- a/overrides/typing_utils.py +++ b/overrides/typing_utils.py @@ -47,12 +47,15 @@ typing.Set: set, typing.Dict: dict, typing.Tuple: tuple, - typing.ByteString: bytes, # https://docs.python.org/3/library/typing.html#typing.ByteString typing.Callable: collections.abc.Callable, typing.Sequence: collections.abc.Sequence, type(None): None, } +if hasattr(typing, "ByteString"): + # https://docs.python.org/3/library/typing.html#typing.ByteString + BUILTINS_MAPPING[typing.ByteString] = bytes + STATIC_SUBTYPE_MAPPING: typing.Dict[type, typing.Type] = { io.TextIOWrapper: typing.TextIO, io.TextIOBase: typing.TextIO,