|
|
|
@ -1,14 +1,14 @@ |
|
|
|
import warnings |
|
|
|
from collections.abc import Sequence |
|
|
|
from collections.abc import Callable, Sequence |
|
|
|
from dataclasses import dataclass |
|
|
|
from enum import Enum |
|
|
|
from typing import Annotated, Any, Callable, Optional, Union |
|
|
|
from typing import Annotated, Any, Literal |
|
|
|
|
|
|
|
from fastapi.exceptions import FastAPIDeprecationWarning |
|
|
|
from fastapi.openapi.models import Example |
|
|
|
from pydantic import AliasChoices, AliasPath |
|
|
|
from pydantic.fields import FieldInfo |
|
|
|
from typing_extensions import Literal, deprecated |
|
|
|
from typing_extensions import deprecated |
|
|
|
|
|
|
|
from ._compat import ( |
|
|
|
Undefined, |
|
|
|
@ -31,45 +31,45 @@ class Param(FieldInfo): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
if example is not _Unset: |
|
|
|
@ -142,45 +142,45 @@ class Path(Param): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = ..., |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
assert default is ..., "Path parameters cannot have a default value" |
|
|
|
@ -226,45 +226,45 @@ class Query(Param): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
super().__init__( |
|
|
|
@ -308,46 +308,46 @@ class Header(Param): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
convert_underscores: bool = True, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
self.convert_underscores = convert_underscores |
|
|
|
@ -392,45 +392,45 @@ class Cookie(Param): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
super().__init__( |
|
|
|
@ -472,47 +472,47 @@ class Body(FieldInfo): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
embed: Union[bool, None] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
embed: bool | None = None, |
|
|
|
media_type: str = "application/json", |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
self.embed = embed |
|
|
|
@ -584,46 +584,46 @@ class Form(Body): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
media_type: str = "application/x-www-form-urlencoded", |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
super().__init__( |
|
|
|
@ -666,46 +666,46 @@ class File(Form): # type: ignore[misc] |
|
|
|
self, |
|
|
|
default: Any = Undefined, |
|
|
|
*, |
|
|
|
default_factory: Union[Callable[[], Any], None] = _Unset, |
|
|
|
annotation: Optional[Any] = None, |
|
|
|
default_factory: Callable[[], Any] | None = _Unset, |
|
|
|
annotation: Any | None = None, |
|
|
|
media_type: str = "multipart/form-data", |
|
|
|
alias: Optional[str] = None, |
|
|
|
alias_priority: Union[int, None] = _Unset, |
|
|
|
validation_alias: Union[str, AliasPath, AliasChoices, None] = None, |
|
|
|
serialization_alias: Union[str, None] = None, |
|
|
|
title: Optional[str] = None, |
|
|
|
description: Optional[str] = None, |
|
|
|
gt: Optional[float] = None, |
|
|
|
ge: Optional[float] = None, |
|
|
|
lt: Optional[float] = None, |
|
|
|
le: Optional[float] = None, |
|
|
|
min_length: Optional[int] = None, |
|
|
|
max_length: Optional[int] = None, |
|
|
|
pattern: Optional[str] = None, |
|
|
|
alias: str | None = None, |
|
|
|
alias_priority: int | None = _Unset, |
|
|
|
validation_alias: str | AliasPath | AliasChoices | None = None, |
|
|
|
serialization_alias: str | None = None, |
|
|
|
title: str | None = None, |
|
|
|
description: str | None = None, |
|
|
|
gt: float | None = None, |
|
|
|
ge: float | None = None, |
|
|
|
lt: float | None = None, |
|
|
|
le: float | None = None, |
|
|
|
min_length: int | None = None, |
|
|
|
max_length: int | None = None, |
|
|
|
pattern: str | None = None, |
|
|
|
regex: Annotated[ |
|
|
|
Optional[str], |
|
|
|
str | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|
|
|
), |
|
|
|
] = None, |
|
|
|
discriminator: Union[str, None] = None, |
|
|
|
strict: Union[bool, None] = _Unset, |
|
|
|
multiple_of: Union[float, None] = _Unset, |
|
|
|
allow_inf_nan: Union[bool, None] = _Unset, |
|
|
|
max_digits: Union[int, None] = _Unset, |
|
|
|
decimal_places: Union[int, None] = _Unset, |
|
|
|
examples: Optional[list[Any]] = None, |
|
|
|
discriminator: str | None = None, |
|
|
|
strict: bool | None = _Unset, |
|
|
|
multiple_of: float | None = _Unset, |
|
|
|
allow_inf_nan: bool | None = _Unset, |
|
|
|
max_digits: int | None = _Unset, |
|
|
|
decimal_places: int | None = _Unset, |
|
|
|
examples: list[Any] | None = None, |
|
|
|
example: Annotated[ |
|
|
|
Optional[Any], |
|
|
|
Any | None, |
|
|
|
deprecated( |
|
|
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|
|
|
"although still supported. Use examples instead." |
|
|
|
), |
|
|
|
] = _Unset, |
|
|
|
openapi_examples: Optional[dict[str, Example]] = None, |
|
|
|
deprecated: Union[deprecated, str, bool, None] = None, |
|
|
|
openapi_examples: dict[str, Example] | None = None, |
|
|
|
deprecated: deprecated | str | bool | None = None, |
|
|
|
include_in_schema: bool = True, |
|
|
|
json_schema_extra: Union[dict[str, Any], None] = None, |
|
|
|
json_schema_extra: dict[str, Any] | None = None, |
|
|
|
**extra: Any, |
|
|
|
): |
|
|
|
super().__init__( |
|
|
|
@ -745,11 +745,11 @@ class File(Form): # type: ignore[misc] |
|
|
|
|
|
|
|
@dataclass(frozen=True) |
|
|
|
class Depends: |
|
|
|
dependency: Optional[Callable[..., Any]] = None |
|
|
|
dependency: Callable[..., Any] | None = None |
|
|
|
use_cache: bool = True |
|
|
|
scope: Union[Literal["function", "request"], None] = None |
|
|
|
scope: Literal["function", "request"] | None = None |
|
|
|
|
|
|
|
|
|
|
|
@dataclass(frozen=True) |
|
|
|
class Security(Depends): |
|
|
|
scopes: Optional[Sequence[str]] = None |
|
|
|
scopes: Sequence[str] | None = None |
|
|
|
|