Skip to content

Use typing_extensions.TypedDict on python < 3.12 for pydantic support #1845

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 8, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions can/typechecking.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,22 @@
else:
from typing_extensions import TypeAlias

if sys.version_info >= (3, 12):
from typing import TypedDict
else:
from typing_extensions import TypedDict


if typing.TYPE_CHECKING:
import os


class CanFilter(typing.TypedDict):
class CanFilter(TypedDict):
can_id: int
can_mask: int


class CanFilterExtended(typing.TypedDict):
class CanFilterExtended(TypedDict):
can_id: int
can_mask: int
extended: bool
Expand Down Expand Up @@ -56,15 +61,15 @@ class CanFilterExtended(typing.TypedDict):
]


class AutoDetectedConfig(typing.TypedDict):
class AutoDetectedConfig(TypedDict):
interface: str
channel: Channel


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


class BitTimingDict(typing.TypedDict):
class BitTimingDict(TypedDict):
f_clock: int
brp: int
tseg1: int
Expand All @@ -73,7 +78,7 @@ class BitTimingDict(typing.TypedDict):
nof_samples: int


class BitTimingFdDict(typing.TypedDict):
class BitTimingFdDict(TypedDict):
f_clock: int
nom_brp: int
nom_tseg1: int
Expand Down
Loading