Browse Source

🎨 Update types with Pydantic v2

pull/14609/head
Sebastián Ramírez 7 months ago
parent
commit
0deb8e3796
  1. 29
      fastapi/param_functions.py
  2. 33
      fastapi/params.py

29
fastapi/param_functions.py

@ -5,6 +5,7 @@ from annotated_doc import Doc
from fastapi import params from fastapi import params
from fastapi._compat import Undefined from fastapi._compat import Undefined
from fastapi.openapi.models import Example from fastapi.openapi.models import Example
from pydantic import AliasChoices, AliasPath
from typing_extensions import Literal, deprecated from typing_extensions import Literal, deprecated
_Unset: Any = Undefined _Unset: Any = Undefined
@ -54,10 +55,8 @@ def Path( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one
@ -379,10 +378,8 @@ def Query( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one
@ -683,10 +680,8 @@ def Header( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one
@ -999,10 +994,8 @@ def Cookie( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one
@ -1326,10 +1319,8 @@ def Body( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one
@ -1641,10 +1632,8 @@ def Form( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one
@ -1955,10 +1944,8 @@ def File( # noqa: N802
""" """
), ),
] = _Unset, ] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Annotated[ validation_alias: Annotated[
Union[str, None], Union[str, AliasPath, AliasChoices, None],
Doc( Doc(
""" """
'Whitelist' validation step. The parameter field will be the single one 'Whitelist' validation step. The parameter field will be the single one

33
fastapi/params.py

@ -6,6 +6,7 @@ from typing import Annotated, Any, Callable, Optional, Union
from fastapi.exceptions import FastAPIDeprecationWarning from fastapi.exceptions import FastAPIDeprecationWarning
from fastapi.openapi.models import Example from fastapi.openapi.models import Example
from pydantic import AliasChoices, AliasPath
from pydantic.fields import FieldInfo from pydantic.fields import FieldInfo
from typing_extensions import Literal, deprecated from typing_extensions import Literal, deprecated
@ -34,9 +35,7 @@ class Param(FieldInfo): # type: ignore[misc]
annotation: Optional[Any] = None, annotation: Optional[Any] = None,
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,
@ -147,9 +146,7 @@ class Path(Param): # type: ignore[misc]
annotation: Optional[Any] = None, annotation: Optional[Any] = None,
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,
@ -233,9 +230,7 @@ class Query(Param): # type: ignore[misc]
annotation: Optional[Any] = None, annotation: Optional[Any] = None,
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,
@ -317,9 +312,7 @@ class Header(Param): # type: ignore[misc]
annotation: Optional[Any] = None, annotation: Optional[Any] = None,
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
convert_underscores: bool = True, convert_underscores: bool = True,
title: Optional[str] = None, title: Optional[str] = None,
@ -403,9 +396,7 @@ class Cookie(Param): # type: ignore[misc]
annotation: Optional[Any] = None, annotation: Optional[Any] = None,
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,
@ -487,9 +478,7 @@ class Body(FieldInfo): # type: ignore[misc]
media_type: str = "application/json", media_type: str = "application/json",
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,
@ -600,9 +589,7 @@ class Form(Body): # type: ignore[misc]
media_type: str = "application/x-www-form-urlencoded", media_type: str = "application/x-www-form-urlencoded",
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,
@ -684,9 +671,7 @@ class File(Form): # type: ignore[misc]
media_type: str = "multipart/form-data", media_type: str = "multipart/form-data",
alias: Optional[str] = None, alias: Optional[str] = None,
alias_priority: Union[int, None] = _Unset, alias_priority: Union[int, None] = _Unset,
# TODO: update when deprecating Pydantic v1, import these types validation_alias: Union[str, AliasPath, AliasChoices, None] = None,
# validation_alias: str | AliasPath | AliasChoices | None
validation_alias: Union[str, None] = None,
serialization_alias: Union[str, None] = None, serialization_alias: Union[str, None] = None,
title: Optional[str] = None, title: Optional[str] = None,
description: Optional[str] = None, description: Optional[str] = None,

Loading…
Cancel
Save