From: Sofie Van Landeghem Date: Tue, 13 Jan 2026 11:30:07 +0000 (+0100) Subject: ♻️ Import `Literal` from the `typing` module directly (#1699) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99d8b0bba270651672b12eca4ce2361be2351d08;p=thirdparty%2Ffastapi%2Fsqlmodel.git ♻️ Import `Literal` from the `typing` module directly (#1699) import Literal from typing now that Python 3.8 is dropped --- diff --git a/sqlmodel/main.py b/sqlmodel/main.py index fbc44de0..84478f24 100644 --- a/sqlmodel/main.py +++ b/sqlmodel/main.py @@ -14,6 +14,7 @@ from typing import ( Any, Callable, ClassVar, + Literal, Optional, TypeVar, Union, @@ -48,7 +49,7 @@ from sqlalchemy.orm.decl_api import DeclarativeMeta from sqlalchemy.orm.instrumentation import is_instrumented from sqlalchemy.sql.schema import MetaData from sqlalchemy.sql.sqltypes import LargeBinary, Time, Uuid -from typing_extensions import Literal, TypeAlias, deprecated, get_origin +from typing_extensions import TypeAlias, deprecated, get_origin from ._compat import ( # type: ignore[attr-defined] PYDANTIC_MINOR_VERSION, diff --git a/sqlmodel/sql/expression.py b/sqlmodel/sql/expression.py index 77323361..72d7b1de 100644 --- a/sqlmodel/sql/expression.py +++ b/sqlmodel/sql/expression.py @@ -1,6 +1,7 @@ from collections.abc import Iterable, Mapping, Sequence from typing import ( Any, + Literal, Optional, TypeVar, Union, @@ -34,7 +35,6 @@ from sqlalchemy.sql.elements import ( UnaryExpression, ) from sqlalchemy.sql.type_api import TypeEngine -from typing_extensions import Literal from ._expression_select_cls import Select as Select from ._expression_select_cls import SelectOfScalar as SelectOfScalar diff --git a/tests/test_pydantic/test_field.py b/tests/test_pydantic/test_field.py index 9d7bc776..140b02fd 100644 --- a/tests/test_pydantic/test_field.py +++ b/tests/test_pydantic/test_field.py @@ -1,10 +1,9 @@ from decimal import Decimal -from typing import Optional, Union +from typing import Literal, Optional, Union import pytest from pydantic import ValidationError from sqlmodel import Field, SQLModel -from typing_extensions import Literal def test_decimal():