From 5cdeeccaf9408e243b14199500be48f91eca822e Mon Sep 17 00:00:00 2001 From: Pedro Lobato <69770518+Lob26@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:44:47 -0500 Subject: [PATCH] Fix mismatch on versions --- fastapi/encoders.py | 13 ++++++++----- tests/test_jsonable_encoder.py | 9 --------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/fastapi/encoders.py b/fastapi/encoders.py index f9e309e31..a307228e0 100644 --- a/fastapi/encoders.py +++ b/fastapi/encoders.py @@ -33,16 +33,19 @@ from pydantic.networks import AnyUrl, NameEmail from pydantic.types import SecretBytes, SecretStr from pydantic_core import PydanticUndefinedType +encoders_by_extra_type: dict[type[Any], Callable[[Any], Any]] = {} try: from pydantic_extra_types import color as et_color + + encoders_by_extra_type[et_color.Color] = str +except ImportError: + pass +try: from pydantic_extra_types import coordinate - encoders_by_extra_type: dict[type[Any], Callable[[Any], Any]] = { - coordinate.Coordinate: str, - et_color.Color: str, - } + encoders_by_extra_type[coordinate.Coordinate] = str except ImportError: - encoders_by_extra_type = {} + pass from ._compat import ( Url, diff --git a/tests/test_jsonable_encoder.py b/tests/test_jsonable_encoder.py index e0153f07a..f7a8dd4a0 100644 --- a/tests/test_jsonable_encoder.py +++ b/tests/test_jsonable_encoder.py @@ -1,4 +1,3 @@ -import sys import warnings from collections import deque, namedtuple from collections.abc import Sequence @@ -430,20 +429,12 @@ def test_encode_pydantic_extra_types_coordinate(): assert jsonable_encoder(coord) == str(coord) -@pytest.mark.skipif( - sys.version_info >= (3, 10), - reason="Tested via pydantic_extra_types on Python >= 3.10", -) def test_encode_pydantic_color(): pydantic_color = pytest.importorskip("pydantic.color") color = pydantic_color.Color("red") assert jsonable_encoder(color) == str(color) -@pytest.mark.skipif( - sys.version_info < (3, 10), - reason="pydantic_extra_types.color not available on Python < 3.10", -) def test_encode_pydantic_extra_types_color(): et_color = pytest.importorskip("pydantic_extra_types.color") color = et_color.Color("red")