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.

@@ -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 pydantic.fields import Undefined
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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
- regex: Optional[str] = None,
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
- ] = Undefined,
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