Skip to content

Commit 950e4b4

Browse files
NickCaohardbyte
authored andcommitted
Use typing_extensions.TypedDict on python < 3.12 for pydantic support
Reference: https://docs.pydantic.dev/2.8/errors/usage_errors/#typed-dict-version
1 parent c5c18dc commit 950e4b4

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

can/typechecking.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,22 @@
1111
else:
1212
from typing_extensions import TypeAlias
1313

14+
if sys.version_info >= (3, 12):
15+
from typing import TypedDict
16+
else:
17+
from typing_extensions import TypedDict
18+
1419

1520
if typing.TYPE_CHECKING:
1621
import os
1722

1823

19-
class CanFilter(typing.TypedDict):
24+
class CanFilter(TypedDict):
2025
can_id: int
2126
can_mask: int
2227

2328

24-
class CanFilterExtended(typing.TypedDict):
29+
class CanFilterExtended(TypedDict):
2530
can_id: int
2631
can_mask: int
2732
extended: bool
@@ -56,15 +61,15 @@ class CanFilterExtended(typing.TypedDict):
5661
]
5762

5863

59-
class AutoDetectedConfig(typing.TypedDict):
64+
class AutoDetectedConfig(TypedDict):
6065
interface: str
6166
channel: Channel
6267

6368

6469
ReadableBytesLike = typing.Union[bytes, bytearray, memoryview]
6570

6671

67-
class BitTimingDict(typing.TypedDict):
72+
class BitTimingDict(TypedDict):
6873
f_clock: int
6974
brp: int
7075
tseg1: int
@@ -73,7 +78,7 @@ class BitTimingDict(typing.TypedDict):
7378
nof_samples: int
7479

7580

76-
class BitTimingFdDict(typing.TypedDict):
81+
class BitTimingFdDict(TypedDict):
7782
f_clock: int
7883
nom_brp: int
7984
nom_tseg1: int

0 commit comments

Comments
 (0)