fastapi 0.99.1__py3-none-any.whl → 0.100.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fastapi might be problematic. Click here for more details.
- fastapi/__init__.py +1 -1
- fastapi/_compat.py +616 -0
- fastapi/applications.py +21 -22
- fastapi/datastructures.py +31 -4
- fastapi/dependencies/models.py +1 -1
- fastapi/dependencies/utils.py +76 -120
- fastapi/encoders.py +90 -12
- fastapi/exceptions.py +20 -8
- fastapi/openapi/constants.py +1 -0
- fastapi/openapi/models.py +196 -53
- fastapi/openapi/utils.py +84 -40
- fastapi/param_functions.py +247 -16
- fastapi/params.py +347 -34
- fastapi/routing.py +84 -47
- fastapi/security/oauth2.py +16 -12
- fastapi/types.py +9 -1
- fastapi/utils.py +66 -60
- {fastapi-0.99.1.dist-info → fastapi-0.100.0.dist-info}/METADATA +7 -3
- {fastapi-0.99.1.dist-info → fastapi-0.100.0.dist-info}/RECORD +21 -20
- {fastapi-0.99.1.dist-info → fastapi-0.100.0.dist-info}/WHEEL +0 -0
- {fastapi-0.99.1.dist-info → fastapi-0.100.0.dist-info}/licenses/LICENSE +0 -0
fastapi/param_functions.py
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
from typing import Any, Callable, List, Optional, Sequence
|
|
1
|
+
from typing import Any, Callable, Dict, List, Optional, Sequence, Union
|
|
2
2
|
|
|
3
3
|
from fastapi import params
|
|
4
|
-
from
|
|
4
|
+
from fastapi._compat import Undefined
|
|
5
5
|
from typing_extensions import Annotated, deprecated
|
|
6
6
|
|
|
7
|
+
_Unset: Any = Undefined
|
|
8
|
+
|
|
7
9
|
|
|
8
10
|
def Path( # noqa: N802
|
|
9
11
|
default: Any = ...,
|
|
10
12
|
*,
|
|
13
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
11
14
|
alias: Optional[str] = None,
|
|
15
|
+
alias_priority: Union[int, None] = _Unset,
|
|
16
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
17
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
18
|
+
validation_alias: Union[str, None] = None,
|
|
19
|
+
serialization_alias: Union[str, None] = None,
|
|
12
20
|
title: Optional[str] = None,
|
|
13
21
|
description: Optional[str] = None,
|
|
14
22
|
gt: Optional[float] = None,
|
|
@@ -17,7 +25,19 @@ def Path( # noqa: N802
|
|
|
17
25
|
le: Optional[float] = None,
|
|
18
26
|
min_length: Optional[int] = None,
|
|
19
27
|
max_length: Optional[int] = None,
|
|
20
|
-
|
|
28
|
+
pattern: Optional[str] = None,
|
|
29
|
+
regex: Annotated[
|
|
30
|
+
Optional[str],
|
|
31
|
+
deprecated(
|
|
32
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
33
|
+
),
|
|
34
|
+
] = None,
|
|
35
|
+
discriminator: Union[str, None] = None,
|
|
36
|
+
strict: Union[bool, None] = _Unset,
|
|
37
|
+
multiple_of: Union[float, None] = _Unset,
|
|
38
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
39
|
+
max_digits: Union[int, None] = _Unset,
|
|
40
|
+
decimal_places: Union[int, None] = _Unset,
|
|
21
41
|
examples: Optional[List[Any]] = None,
|
|
22
42
|
example: Annotated[
|
|
23
43
|
Optional[Any],
|
|
@@ -25,14 +45,19 @@ def Path( # noqa: N802
|
|
|
25
45
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
26
46
|
"although still supported. Use examples instead."
|
|
27
47
|
),
|
|
28
|
-
] =
|
|
48
|
+
] = _Unset,
|
|
29
49
|
deprecated: Optional[bool] = None,
|
|
30
50
|
include_in_schema: bool = True,
|
|
51
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
31
52
|
**extra: Any,
|
|
32
53
|
) -> Any:
|
|
33
54
|
return params.Path(
|
|
34
55
|
default=default,
|
|
56
|
+
default_factory=default_factory,
|
|
35
57
|
alias=alias,
|
|
58
|
+
alias_priority=alias_priority,
|
|
59
|
+
validation_alias=validation_alias,
|
|
60
|
+
serialization_alias=serialization_alias,
|
|
36
61
|
title=title,
|
|
37
62
|
description=description,
|
|
38
63
|
gt=gt,
|
|
@@ -41,11 +66,19 @@ def Path( # noqa: N802
|
|
|
41
66
|
le=le,
|
|
42
67
|
min_length=min_length,
|
|
43
68
|
max_length=max_length,
|
|
69
|
+
pattern=pattern,
|
|
44
70
|
regex=regex,
|
|
71
|
+
discriminator=discriminator,
|
|
72
|
+
strict=strict,
|
|
73
|
+
multiple_of=multiple_of,
|
|
74
|
+
allow_inf_nan=allow_inf_nan,
|
|
75
|
+
max_digits=max_digits,
|
|
76
|
+
decimal_places=decimal_places,
|
|
45
77
|
example=example,
|
|
46
78
|
examples=examples,
|
|
47
79
|
deprecated=deprecated,
|
|
48
80
|
include_in_schema=include_in_schema,
|
|
81
|
+
json_schema_extra=json_schema_extra,
|
|
49
82
|
**extra,
|
|
50
83
|
)
|
|
51
84
|
|
|
@@ -53,7 +86,13 @@ def Path( # noqa: N802
|
|
|
53
86
|
def Query( # noqa: N802
|
|
54
87
|
default: Any = Undefined,
|
|
55
88
|
*,
|
|
89
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
56
90
|
alias: Optional[str] = None,
|
|
91
|
+
alias_priority: Union[int, None] = _Unset,
|
|
92
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
93
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
94
|
+
validation_alias: Union[str, None] = None,
|
|
95
|
+
serialization_alias: Union[str, None] = None,
|
|
57
96
|
title: Optional[str] = None,
|
|
58
97
|
description: Optional[str] = None,
|
|
59
98
|
gt: Optional[float] = None,
|
|
@@ -62,7 +101,19 @@ def Query( # noqa: N802
|
|
|
62
101
|
le: Optional[float] = None,
|
|
63
102
|
min_length: Optional[int] = None,
|
|
64
103
|
max_length: Optional[int] = None,
|
|
65
|
-
|
|
104
|
+
pattern: Optional[str] = None,
|
|
105
|
+
regex: Annotated[
|
|
106
|
+
Optional[str],
|
|
107
|
+
deprecated(
|
|
108
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
109
|
+
),
|
|
110
|
+
] = None,
|
|
111
|
+
discriminator: Union[str, None] = None,
|
|
112
|
+
strict: Union[bool, None] = _Unset,
|
|
113
|
+
multiple_of: Union[float, None] = _Unset,
|
|
114
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
115
|
+
max_digits: Union[int, None] = _Unset,
|
|
116
|
+
decimal_places: Union[int, None] = _Unset,
|
|
66
117
|
examples: Optional[List[Any]] = None,
|
|
67
118
|
example: Annotated[
|
|
68
119
|
Optional[Any],
|
|
@@ -70,14 +121,19 @@ def Query( # noqa: N802
|
|
|
70
121
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
71
122
|
"although still supported. Use examples instead."
|
|
72
123
|
),
|
|
73
|
-
] =
|
|
124
|
+
] = _Unset,
|
|
74
125
|
deprecated: Optional[bool] = None,
|
|
75
126
|
include_in_schema: bool = True,
|
|
127
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
76
128
|
**extra: Any,
|
|
77
129
|
) -> Any:
|
|
78
130
|
return params.Query(
|
|
79
131
|
default=default,
|
|
132
|
+
default_factory=default_factory,
|
|
80
133
|
alias=alias,
|
|
134
|
+
alias_priority=alias_priority,
|
|
135
|
+
validation_alias=validation_alias,
|
|
136
|
+
serialization_alias=serialization_alias,
|
|
81
137
|
title=title,
|
|
82
138
|
description=description,
|
|
83
139
|
gt=gt,
|
|
@@ -86,11 +142,19 @@ def Query( # noqa: N802
|
|
|
86
142
|
le=le,
|
|
87
143
|
min_length=min_length,
|
|
88
144
|
max_length=max_length,
|
|
145
|
+
pattern=pattern,
|
|
89
146
|
regex=regex,
|
|
147
|
+
discriminator=discriminator,
|
|
148
|
+
strict=strict,
|
|
149
|
+
multiple_of=multiple_of,
|
|
150
|
+
allow_inf_nan=allow_inf_nan,
|
|
151
|
+
max_digits=max_digits,
|
|
152
|
+
decimal_places=decimal_places,
|
|
90
153
|
example=example,
|
|
91
154
|
examples=examples,
|
|
92
155
|
deprecated=deprecated,
|
|
93
156
|
include_in_schema=include_in_schema,
|
|
157
|
+
json_schema_extra=json_schema_extra,
|
|
94
158
|
**extra,
|
|
95
159
|
)
|
|
96
160
|
|
|
@@ -98,7 +162,13 @@ def Query( # noqa: N802
|
|
|
98
162
|
def Header( # noqa: N802
|
|
99
163
|
default: Any = Undefined,
|
|
100
164
|
*,
|
|
165
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
101
166
|
alias: Optional[str] = None,
|
|
167
|
+
alias_priority: Union[int, None] = _Unset,
|
|
168
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
169
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
170
|
+
validation_alias: Union[str, None] = None,
|
|
171
|
+
serialization_alias: Union[str, None] = None,
|
|
102
172
|
convert_underscores: bool = True,
|
|
103
173
|
title: Optional[str] = None,
|
|
104
174
|
description: Optional[str] = None,
|
|
@@ -108,7 +178,19 @@ def Header( # noqa: N802
|
|
|
108
178
|
le: Optional[float] = None,
|
|
109
179
|
min_length: Optional[int] = None,
|
|
110
180
|
max_length: Optional[int] = None,
|
|
111
|
-
|
|
181
|
+
pattern: Optional[str] = None,
|
|
182
|
+
regex: Annotated[
|
|
183
|
+
Optional[str],
|
|
184
|
+
deprecated(
|
|
185
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
186
|
+
),
|
|
187
|
+
] = None,
|
|
188
|
+
discriminator: Union[str, None] = None,
|
|
189
|
+
strict: Union[bool, None] = _Unset,
|
|
190
|
+
multiple_of: Union[float, None] = _Unset,
|
|
191
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
192
|
+
max_digits: Union[int, None] = _Unset,
|
|
193
|
+
decimal_places: Union[int, None] = _Unset,
|
|
112
194
|
examples: Optional[List[Any]] = None,
|
|
113
195
|
example: Annotated[
|
|
114
196
|
Optional[Any],
|
|
@@ -116,14 +198,19 @@ def Header( # noqa: N802
|
|
|
116
198
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
117
199
|
"although still supported. Use examples instead."
|
|
118
200
|
),
|
|
119
|
-
] =
|
|
201
|
+
] = _Unset,
|
|
120
202
|
deprecated: Optional[bool] = None,
|
|
121
203
|
include_in_schema: bool = True,
|
|
204
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
122
205
|
**extra: Any,
|
|
123
206
|
) -> Any:
|
|
124
207
|
return params.Header(
|
|
125
208
|
default=default,
|
|
209
|
+
default_factory=default_factory,
|
|
126
210
|
alias=alias,
|
|
211
|
+
alias_priority=alias_priority,
|
|
212
|
+
validation_alias=validation_alias,
|
|
213
|
+
serialization_alias=serialization_alias,
|
|
127
214
|
convert_underscores=convert_underscores,
|
|
128
215
|
title=title,
|
|
129
216
|
description=description,
|
|
@@ -133,11 +220,19 @@ def Header( # noqa: N802
|
|
|
133
220
|
le=le,
|
|
134
221
|
min_length=min_length,
|
|
135
222
|
max_length=max_length,
|
|
223
|
+
pattern=pattern,
|
|
136
224
|
regex=regex,
|
|
225
|
+
discriminator=discriminator,
|
|
226
|
+
strict=strict,
|
|
227
|
+
multiple_of=multiple_of,
|
|
228
|
+
allow_inf_nan=allow_inf_nan,
|
|
229
|
+
max_digits=max_digits,
|
|
230
|
+
decimal_places=decimal_places,
|
|
137
231
|
example=example,
|
|
138
232
|
examples=examples,
|
|
139
233
|
deprecated=deprecated,
|
|
140
234
|
include_in_schema=include_in_schema,
|
|
235
|
+
json_schema_extra=json_schema_extra,
|
|
141
236
|
**extra,
|
|
142
237
|
)
|
|
143
238
|
|
|
@@ -145,7 +240,13 @@ def Header( # noqa: N802
|
|
|
145
240
|
def Cookie( # noqa: N802
|
|
146
241
|
default: Any = Undefined,
|
|
147
242
|
*,
|
|
243
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
148
244
|
alias: Optional[str] = None,
|
|
245
|
+
alias_priority: Union[int, None] = _Unset,
|
|
246
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
247
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
248
|
+
validation_alias: Union[str, None] = None,
|
|
249
|
+
serialization_alias: Union[str, None] = None,
|
|
149
250
|
title: Optional[str] = None,
|
|
150
251
|
description: Optional[str] = None,
|
|
151
252
|
gt: Optional[float] = None,
|
|
@@ -154,7 +255,19 @@ def Cookie( # noqa: N802
|
|
|
154
255
|
le: Optional[float] = None,
|
|
155
256
|
min_length: Optional[int] = None,
|
|
156
257
|
max_length: Optional[int] = None,
|
|
157
|
-
|
|
258
|
+
pattern: Optional[str] = None,
|
|
259
|
+
regex: Annotated[
|
|
260
|
+
Optional[str],
|
|
261
|
+
deprecated(
|
|
262
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
263
|
+
),
|
|
264
|
+
] = None,
|
|
265
|
+
discriminator: Union[str, None] = None,
|
|
266
|
+
strict: Union[bool, None] = _Unset,
|
|
267
|
+
multiple_of: Union[float, None] = _Unset,
|
|
268
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
269
|
+
max_digits: Union[int, None] = _Unset,
|
|
270
|
+
decimal_places: Union[int, None] = _Unset,
|
|
158
271
|
examples: Optional[List[Any]] = None,
|
|
159
272
|
example: Annotated[
|
|
160
273
|
Optional[Any],
|
|
@@ -162,14 +275,19 @@ def Cookie( # noqa: N802
|
|
|
162
275
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
163
276
|
"although still supported. Use examples instead."
|
|
164
277
|
),
|
|
165
|
-
] =
|
|
278
|
+
] = _Unset,
|
|
166
279
|
deprecated: Optional[bool] = None,
|
|
167
280
|
include_in_schema: bool = True,
|
|
281
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
168
282
|
**extra: Any,
|
|
169
283
|
) -> Any:
|
|
170
284
|
return params.Cookie(
|
|
171
285
|
default=default,
|
|
286
|
+
default_factory=default_factory,
|
|
172
287
|
alias=alias,
|
|
288
|
+
alias_priority=alias_priority,
|
|
289
|
+
validation_alias=validation_alias,
|
|
290
|
+
serialization_alias=serialization_alias,
|
|
173
291
|
title=title,
|
|
174
292
|
description=description,
|
|
175
293
|
gt=gt,
|
|
@@ -178,11 +296,19 @@ def Cookie( # noqa: N802
|
|
|
178
296
|
le=le,
|
|
179
297
|
min_length=min_length,
|
|
180
298
|
max_length=max_length,
|
|
299
|
+
pattern=pattern,
|
|
181
300
|
regex=regex,
|
|
301
|
+
discriminator=discriminator,
|
|
302
|
+
strict=strict,
|
|
303
|
+
multiple_of=multiple_of,
|
|
304
|
+
allow_inf_nan=allow_inf_nan,
|
|
305
|
+
max_digits=max_digits,
|
|
306
|
+
decimal_places=decimal_places,
|
|
182
307
|
example=example,
|
|
183
308
|
examples=examples,
|
|
184
309
|
deprecated=deprecated,
|
|
185
310
|
include_in_schema=include_in_schema,
|
|
311
|
+
json_schema_extra=json_schema_extra,
|
|
186
312
|
**extra,
|
|
187
313
|
)
|
|
188
314
|
|
|
@@ -190,9 +316,15 @@ def Cookie( # noqa: N802
|
|
|
190
316
|
def Body( # noqa: N802
|
|
191
317
|
default: Any = Undefined,
|
|
192
318
|
*,
|
|
319
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
193
320
|
embed: bool = False,
|
|
194
321
|
media_type: str = "application/json",
|
|
195
322
|
alias: Optional[str] = None,
|
|
323
|
+
alias_priority: Union[int, None] = _Unset,
|
|
324
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
325
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
326
|
+
validation_alias: Union[str, None] = None,
|
|
327
|
+
serialization_alias: Union[str, None] = None,
|
|
196
328
|
title: Optional[str] = None,
|
|
197
329
|
description: Optional[str] = None,
|
|
198
330
|
gt: Optional[float] = None,
|
|
@@ -201,7 +333,19 @@ def Body( # noqa: N802
|
|
|
201
333
|
le: Optional[float] = None,
|
|
202
334
|
min_length: Optional[int] = None,
|
|
203
335
|
max_length: Optional[int] = None,
|
|
204
|
-
|
|
336
|
+
pattern: Optional[str] = None,
|
|
337
|
+
regex: Annotated[
|
|
338
|
+
Optional[str],
|
|
339
|
+
deprecated(
|
|
340
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
341
|
+
),
|
|
342
|
+
] = None,
|
|
343
|
+
discriminator: Union[str, None] = None,
|
|
344
|
+
strict: Union[bool, None] = _Unset,
|
|
345
|
+
multiple_of: Union[float, None] = _Unset,
|
|
346
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
347
|
+
max_digits: Union[int, None] = _Unset,
|
|
348
|
+
decimal_places: Union[int, None] = _Unset,
|
|
205
349
|
examples: Optional[List[Any]] = None,
|
|
206
350
|
example: Annotated[
|
|
207
351
|
Optional[Any],
|
|
@@ -209,14 +353,21 @@ def Body( # noqa: N802
|
|
|
209
353
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
210
354
|
"although still supported. Use examples instead."
|
|
211
355
|
),
|
|
212
|
-
] =
|
|
356
|
+
] = _Unset,
|
|
357
|
+
deprecated: Optional[bool] = None,
|
|
358
|
+
include_in_schema: bool = True,
|
|
359
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
213
360
|
**extra: Any,
|
|
214
361
|
) -> Any:
|
|
215
362
|
return params.Body(
|
|
216
363
|
default=default,
|
|
364
|
+
default_factory=default_factory,
|
|
217
365
|
embed=embed,
|
|
218
366
|
media_type=media_type,
|
|
219
367
|
alias=alias,
|
|
368
|
+
alias_priority=alias_priority,
|
|
369
|
+
validation_alias=validation_alias,
|
|
370
|
+
serialization_alias=serialization_alias,
|
|
220
371
|
title=title,
|
|
221
372
|
description=description,
|
|
222
373
|
gt=gt,
|
|
@@ -225,9 +376,19 @@ def Body( # noqa: N802
|
|
|
225
376
|
le=le,
|
|
226
377
|
min_length=min_length,
|
|
227
378
|
max_length=max_length,
|
|
379
|
+
pattern=pattern,
|
|
228
380
|
regex=regex,
|
|
381
|
+
discriminator=discriminator,
|
|
382
|
+
strict=strict,
|
|
383
|
+
multiple_of=multiple_of,
|
|
384
|
+
allow_inf_nan=allow_inf_nan,
|
|
385
|
+
max_digits=max_digits,
|
|
386
|
+
decimal_places=decimal_places,
|
|
229
387
|
example=example,
|
|
230
388
|
examples=examples,
|
|
389
|
+
deprecated=deprecated,
|
|
390
|
+
include_in_schema=include_in_schema,
|
|
391
|
+
json_schema_extra=json_schema_extra,
|
|
231
392
|
**extra,
|
|
232
393
|
)
|
|
233
394
|
|
|
@@ -235,8 +396,14 @@ def Body( # noqa: N802
|
|
|
235
396
|
def Form( # noqa: N802
|
|
236
397
|
default: Any = Undefined,
|
|
237
398
|
*,
|
|
399
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
238
400
|
media_type: str = "application/x-www-form-urlencoded",
|
|
239
401
|
alias: Optional[str] = None,
|
|
402
|
+
alias_priority: Union[int, None] = _Unset,
|
|
403
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
404
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
405
|
+
validation_alias: Union[str, None] = None,
|
|
406
|
+
serialization_alias: Union[str, None] = None,
|
|
240
407
|
title: Optional[str] = None,
|
|
241
408
|
description: Optional[str] = None,
|
|
242
409
|
gt: Optional[float] = None,
|
|
@@ -245,7 +412,19 @@ def Form( # noqa: N802
|
|
|
245
412
|
le: Optional[float] = None,
|
|
246
413
|
min_length: Optional[int] = None,
|
|
247
414
|
max_length: Optional[int] = None,
|
|
248
|
-
|
|
415
|
+
pattern: Optional[str] = None,
|
|
416
|
+
regex: Annotated[
|
|
417
|
+
Optional[str],
|
|
418
|
+
deprecated(
|
|
419
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
420
|
+
),
|
|
421
|
+
] = None,
|
|
422
|
+
discriminator: Union[str, None] = None,
|
|
423
|
+
strict: Union[bool, None] = _Unset,
|
|
424
|
+
multiple_of: Union[float, None] = _Unset,
|
|
425
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
426
|
+
max_digits: Union[int, None] = _Unset,
|
|
427
|
+
decimal_places: Union[int, None] = _Unset,
|
|
249
428
|
examples: Optional[List[Any]] = None,
|
|
250
429
|
example: Annotated[
|
|
251
430
|
Optional[Any],
|
|
@@ -253,13 +432,20 @@ def Form( # noqa: N802
|
|
|
253
432
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
254
433
|
"although still supported. Use examples instead."
|
|
255
434
|
),
|
|
256
|
-
] =
|
|
435
|
+
] = _Unset,
|
|
436
|
+
deprecated: Optional[bool] = None,
|
|
437
|
+
include_in_schema: bool = True,
|
|
438
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
257
439
|
**extra: Any,
|
|
258
440
|
) -> Any:
|
|
259
441
|
return params.Form(
|
|
260
442
|
default=default,
|
|
443
|
+
default_factory=default_factory,
|
|
261
444
|
media_type=media_type,
|
|
262
445
|
alias=alias,
|
|
446
|
+
alias_priority=alias_priority,
|
|
447
|
+
validation_alias=validation_alias,
|
|
448
|
+
serialization_alias=serialization_alias,
|
|
263
449
|
title=title,
|
|
264
450
|
description=description,
|
|
265
451
|
gt=gt,
|
|
@@ -268,9 +454,19 @@ def Form( # noqa: N802
|
|
|
268
454
|
le=le,
|
|
269
455
|
min_length=min_length,
|
|
270
456
|
max_length=max_length,
|
|
457
|
+
pattern=pattern,
|
|
271
458
|
regex=regex,
|
|
459
|
+
discriminator=discriminator,
|
|
460
|
+
strict=strict,
|
|
461
|
+
multiple_of=multiple_of,
|
|
462
|
+
allow_inf_nan=allow_inf_nan,
|
|
463
|
+
max_digits=max_digits,
|
|
464
|
+
decimal_places=decimal_places,
|
|
272
465
|
example=example,
|
|
273
466
|
examples=examples,
|
|
467
|
+
deprecated=deprecated,
|
|
468
|
+
include_in_schema=include_in_schema,
|
|
469
|
+
json_schema_extra=json_schema_extra,
|
|
274
470
|
**extra,
|
|
275
471
|
)
|
|
276
472
|
|
|
@@ -278,8 +474,14 @@ def Form( # noqa: N802
|
|
|
278
474
|
def File( # noqa: N802
|
|
279
475
|
default: Any = Undefined,
|
|
280
476
|
*,
|
|
477
|
+
default_factory: Union[Callable[[], Any], None] = _Unset,
|
|
281
478
|
media_type: str = "multipart/form-data",
|
|
282
479
|
alias: Optional[str] = None,
|
|
480
|
+
alias_priority: Union[int, None] = _Unset,
|
|
481
|
+
# TODO: update when deprecating Pydantic v1, import these types
|
|
482
|
+
# validation_alias: str | AliasPath | AliasChoices | None
|
|
483
|
+
validation_alias: Union[str, None] = None,
|
|
484
|
+
serialization_alias: Union[str, None] = None,
|
|
283
485
|
title: Optional[str] = None,
|
|
284
486
|
description: Optional[str] = None,
|
|
285
487
|
gt: Optional[float] = None,
|
|
@@ -288,7 +490,19 @@ def File( # noqa: N802
|
|
|
288
490
|
le: Optional[float] = None,
|
|
289
491
|
min_length: Optional[int] = None,
|
|
290
492
|
max_length: Optional[int] = None,
|
|
291
|
-
|
|
493
|
+
pattern: Optional[str] = None,
|
|
494
|
+
regex: Annotated[
|
|
495
|
+
Optional[str],
|
|
496
|
+
deprecated(
|
|
497
|
+
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
|
|
498
|
+
),
|
|
499
|
+
] = None,
|
|
500
|
+
discriminator: Union[str, None] = None,
|
|
501
|
+
strict: Union[bool, None] = _Unset,
|
|
502
|
+
multiple_of: Union[float, None] = _Unset,
|
|
503
|
+
allow_inf_nan: Union[bool, None] = _Unset,
|
|
504
|
+
max_digits: Union[int, None] = _Unset,
|
|
505
|
+
decimal_places: Union[int, None] = _Unset,
|
|
292
506
|
examples: Optional[List[Any]] = None,
|
|
293
507
|
example: Annotated[
|
|
294
508
|
Optional[Any],
|
|
@@ -296,13 +510,20 @@ def File( # noqa: N802
|
|
|
296
510
|
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
|
|
297
511
|
"although still supported. Use examples instead."
|
|
298
512
|
),
|
|
299
|
-
] =
|
|
513
|
+
] = _Unset,
|
|
514
|
+
deprecated: Optional[bool] = None,
|
|
515
|
+
include_in_schema: bool = True,
|
|
516
|
+
json_schema_extra: Union[Dict[str, Any], None] = None,
|
|
300
517
|
**extra: Any,
|
|
301
518
|
) -> Any:
|
|
302
519
|
return params.File(
|
|
303
520
|
default=default,
|
|
521
|
+
default_factory=default_factory,
|
|
304
522
|
media_type=media_type,
|
|
305
523
|
alias=alias,
|
|
524
|
+
alias_priority=alias_priority,
|
|
525
|
+
validation_alias=validation_alias,
|
|
526
|
+
serialization_alias=serialization_alias,
|
|
306
527
|
title=title,
|
|
307
528
|
description=description,
|
|
308
529
|
gt=gt,
|
|
@@ -311,9 +532,19 @@ def File( # noqa: N802
|
|
|
311
532
|
le=le,
|
|
312
533
|
min_length=min_length,
|
|
313
534
|
max_length=max_length,
|
|
535
|
+
pattern=pattern,
|
|
314
536
|
regex=regex,
|
|
537
|
+
discriminator=discriminator,
|
|
538
|
+
strict=strict,
|
|
539
|
+
multiple_of=multiple_of,
|
|
540
|
+
allow_inf_nan=allow_inf_nan,
|
|
541
|
+
max_digits=max_digits,
|
|
542
|
+
decimal_places=decimal_places,
|
|
315
543
|
example=example,
|
|
316
544
|
examples=examples,
|
|
545
|
+
deprecated=deprecated,
|
|
546
|
+
include_in_schema=include_in_schema,
|
|
547
|
+
json_schema_extra=json_schema_extra,
|
|
317
548
|
**extra,
|
|
318
549
|
)
|
|
319
550
|
|