Skip to content

Commit 605cc75

Browse files
committed
Add local copy of is_type_alias_type.
1 parent 5cdeee5 commit 605cc75

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

pydantic_settings/sources.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from dotenv import dotenv_values
4040
from pydantic import AliasChoices, AliasPath, BaseModel, Json, RootModel, Secret, TypeAdapter
4141
from pydantic._internal._repr import Representation
42-
from pydantic._internal._typing_extra import WithArgsTypes, is_type_alias_type, origin_is_union, typing_base
42+
from pydantic._internal._typing_extra import WithArgsTypes, origin_is_union, typing_base
4343
from pydantic._internal._utils import deep_update, is_model_class, lenient_issubclass
4444
from pydantic.dataclasses import is_pydantic_dataclass
4545
from pydantic.fields import FieldInfo
@@ -1986,7 +1986,7 @@ def _metavar_format_recurse(self, obj: Any) -> str:
19861986
return '...'
19871987
elif isinstance(obj, Representation):
19881988
return repr(obj)
1989-
elif isinstance(obj, typing.ForwardRef) or is_type_alias_type(obj):
1989+
elif isinstance(obj, typing.ForwardRef) or _is_type_alias_type(obj):
19901990
return str(obj)
19911991

19921992
if not isinstance(obj, (typing_base, WithArgsTypes, type)):
@@ -2425,3 +2425,17 @@ def _get_alias_names(
24252425

24262426
def _is_function(obj: Any) -> bool:
24272427
return isinstance(obj, (FunctionType, BuiltinFunctionType))
2428+
2429+
2430+
# _TYPE_ALIAS_TYPES is copied from `pydantic._internal._typing_extra`.
2431+
_TYPE_ALIAS_TYPES: tuple[type[typing_extensions.TypeAliasType], ...] = (typing_extensions.TypeAliasType,)
2432+
if sys.version_info >= (3, 12):
2433+
_TYPE_ALIAS_TYPES = (*_TYPE_ALIAS_TYPES, typing.TypeAliasType)
2434+
2435+
2436+
def _is_type_alias_type(tp: Any, /) -> typing_extensions.TypeIs[typing_extensions.TypeAliasType]:
2437+
"""
2438+
Return whether the provided argument is an instance of `TypeAliasType`.
2439+
Copied from `pydantic._internal._typing_extra`.
2440+
"""
2441+
return isinstance(tp, _TYPE_ALIAS_TYPES)

0 commit comments

Comments
 (0)