diff --git a/fastapi/encoders.py b/fastapi/encoders.py index a01ad46bf..c6fae1577 100644 --- a/fastapi/encoders.py +++ b/fastapi/encoders.py @@ -1,7 +1,7 @@ import dataclasses import datetime from collections import defaultdict, deque -from collections.abc import Mapping, Sequence +from collections.abc import Callable, Mapping, Sequence from decimal import Decimal from enum import Enum from ipaddress import ( @@ -18,9 +18,6 @@ from types import GeneratorType from typing import ( Annotated, Any, - Callable, - Optional, - Union, ) from uuid import UUID diff --git a/tests/test_jsonable_encoder.py b/tests/test_jsonable_encoder.py index a8648cef4..cab509aee 100644 --- a/tests/test_jsonable_encoder.py +++ b/tests/test_jsonable_encoder.py @@ -7,7 +7,7 @@ from decimal import Decimal from enum import Enum from math import isinf, isnan from pathlib import PurePath, PurePosixPath, PureWindowsPath -from typing import NamedTuple, Optional, TypedDict, Union +from typing import NamedTuple, TypedDict import pytest from fastapi._compat import Undefined @@ -58,7 +58,7 @@ class RoleEnum(Enum): class ModelWithConfig(BaseModel): - role: Optional[RoleEnum] = None + role: RoleEnum | None = None model_config = {"use_enum_values": True} @@ -319,7 +319,7 @@ def test_encode_sequence(): def __init__(self, items: list[str]): self._items = items - def __getitem__(self, index: Union[int, slice]) -> Union[str, Sequence[str]]: + def __getitem__(self, index: int | slice) -> str | Sequence[str]: return self._items[index] def __len__(self) -> int: