diff --git a/examples/forward_reference.py b/examples/forward_reference.py index d61a35d0..b093b38e 100644 --- a/examples/forward_reference.py +++ b/examples/forward_reference.py @@ -1,6 +1,5 @@ -from __future__ import annotations - from dataclasses import dataclass + from serde import serde from serde.json import from_json, to_json diff --git a/examples/generics.py b/examples/generics.py index 9432a346..4cff5551 100644 --- a/examples/generics.py +++ b/examples/generics.py @@ -1,9 +1,5 @@ -from typing import Generic, TypeVar - from serde import from_dict, serde, to_dict -T = TypeVar("T") - @serde class Bar: @@ -11,12 +7,12 @@ class Bar: @serde -class Foo(Generic[T]): +class Foo[T]: inner: T @serde -class Baz(Generic[T]): +class Baz[T]: foo: Foo[T] diff --git a/examples/generics_nested.py b/examples/generics_nested.py index 5b34854d..732778a7 100644 --- a/examples/generics_nested.py +++ b/examples/generics_nested.py @@ -1,5 +1,3 @@ -from typing import Generic, TypeVar - from serde import from_dict, serde, to_dict @@ -15,17 +13,15 @@ class A(EventData): # Additional subclasses of EventData exist -Data = TypeVar("Data", bound=EventData) - @serde -class Payload(Generic[Data]): +class Payload[Data: EventData]: id: int data: Data @serde -class Event(Generic[Data]): +class Event[Data: EventData]: name: str payload: Payload[Data] diff --git a/examples/generics_pep695.py b/examples/generics_typing.py similarity index 86% rename from examples/generics_pep695.py rename to examples/generics_typing.py index 4cff5551..9432a346 100644 --- a/examples/generics_pep695.py +++ b/examples/generics_typing.py @@ -1,5 +1,9 @@ +from typing import Generic, TypeVar + from serde import from_dict, serde, to_dict +T = TypeVar("T") + @serde class Bar: @@ -7,12 +11,12 @@ class Bar: @serde -class Foo[T]: +class Foo(Generic[T]): inner: T @serde -class Baz[T]: +class Baz(Generic[T]): foo: Foo[T] diff --git a/examples/lazy_type_evaluation.py b/examples/lazy_type_evaluation.py index 44f684d2..b16ce7ab 100644 --- a/examples/lazy_type_evaluation.py +++ b/examples/lazy_type_evaluation.py @@ -1,5 +1,3 @@ -from __future__ import annotations - from serde import serde from serde.json import from_json, to_json diff --git a/examples/recursive.py b/examples/recursive.py index 22f762ee..ad614558 100644 --- a/examples/recursive.py +++ b/examples/recursive.py @@ -1,4 +1,3 @@ -from __future__ import annotations from dataclasses import dataclass from serde import from_dict, serde, to_dict diff --git a/examples/recursive_list.py b/examples/recursive_list.py index 9e76baf4..609b72f4 100644 --- a/examples/recursive_list.py +++ b/examples/recursive_list.py @@ -1,4 +1,3 @@ -from __future__ import annotations from dataclasses import dataclass from serde import serde diff --git a/examples/recursive_union.py b/examples/recursive_union.py index 2d5de70c..d0ce482b 100644 --- a/examples/recursive_union.py +++ b/examples/recursive_union.py @@ -1,7 +1,7 @@ -from __future__ import annotations -from serde import serde, to_dict, InternalTagging, from_dict from dataclasses import dataclass +from serde import InternalTagging, from_dict, serde, to_dict + @serde(tagging=InternalTagging("type")) @dataclass diff --git a/examples/runner.py b/examples/runner.py index 7b20aedd..ba6e3ba2 100644 --- a/examples/runner.py +++ b/examples/runner.py @@ -2,8 +2,8 @@ import typing -if sys.version_info[:3] < (3, 12, 0): - print("examples require at least Python 3.12") +if sys.version_info[:3] < (3, 14, 0): + print("examples require at least Python 3.14") sys.exit(1) diff --git a/pyproject.toml b/pyproject.toml index f426edc8..7f5893bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -121,7 +121,12 @@ include = [ exclude = [ "serde/numpy.py", "serde/__init__.py", - "examples/type_numpy_jaxtyping.py" + "examples/type_numpy_jaxtyping.py", + "examples/forward_reference.py", + "examples/recursive.py", + "examples/recursive_list.py", + "examples/recursive_union.py", + "examples/lazy_type_evaluation.py", ] pythonVersion = "3.12" reportMissingImports = false @@ -134,7 +139,8 @@ ignore_missing_imports = true exclude = [ "serde/numpy.py", "examples/alias.py", - "examples/generics_pep695.py", + "examples/generics.py", + "examples/generics_nested.py", "examples/custom_class_serializer.py", "examples/global_custom_class_serializer.py", "tests/.*", @@ -150,9 +156,15 @@ ignore_errors = true [tool.ruff] line-length = 100 extend-exclude = [ - "examples/generics_pep695.py", + "examples/generics.py", + "examples/generics_nested.py", "examples/type_alias_pep695.py", "examples/type_statement.py", + "examples/forward_reference.py", + "examples/recursive.py", + "examples/recursive_list.py", + "examples/recursive_union.py", + "examples/lazy_type_evaluation.py", ] [tool.ruff.lint]