Coverage for fastapi/params.py: 100%
103 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-01-13 13:38 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-01-13 13:38 +0000
1import warnings 1abcde
2from enum import Enum 1abcde
3from typing import Any, Callable, Dict, List, Optional, Sequence, Union 1abcde
5from fastapi.openapi.models import Example 1abcde
6from pydantic.fields import FieldInfo 1abcde
7from typing_extensions import Annotated, deprecated 1abcde
9from ._compat import ( 1abcde
10 PYDANTIC_V2,
11 PYDANTIC_VERSION_MINOR_TUPLE,
12 Undefined,
13)
15_Unset: Any = Undefined 1abcde
18class ParamTypes(Enum): 1abcde
19 query = "query" 1abcde
20 header = "header" 1abcde
21 path = "path" 1abcde
22 cookie = "cookie" 1abcde
25class Param(FieldInfo): 1abcde
26 in_: ParamTypes 1abcde
28 def __init__( 1abcde
29 self,
30 default: Any = Undefined,
31 *,
32 default_factory: Union[Callable[[], Any], None] = _Unset,
33 annotation: Optional[Any] = None,
34 alias: Optional[str] = None,
35 alias_priority: Union[int, None] = _Unset,
36 # TODO: update when deprecating Pydantic v1, import these types
37 # validation_alias: str | AliasPath | AliasChoices | None
38 validation_alias: Union[str, None] = None,
39 serialization_alias: Union[str, None] = None,
40 title: Optional[str] = None,
41 description: Optional[str] = None,
42 gt: Optional[float] = None,
43 ge: Optional[float] = None,
44 lt: Optional[float] = None,
45 le: Optional[float] = None,
46 min_length: Optional[int] = None,
47 max_length: Optional[int] = None,
48 pattern: Optional[str] = None,
49 regex: Annotated[
50 Optional[str],
51 deprecated(
52 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
53 ),
54 ] = None,
55 discriminator: Union[str, None] = None,
56 strict: Union[bool, None] = _Unset,
57 multiple_of: Union[float, None] = _Unset,
58 allow_inf_nan: Union[bool, None] = _Unset,
59 max_digits: Union[int, None] = _Unset,
60 decimal_places: Union[int, None] = _Unset,
61 examples: Optional[List[Any]] = None,
62 example: Annotated[
63 Optional[Any],
64 deprecated(
65 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
66 "although still supported. Use examples instead."
67 ),
68 ] = _Unset,
69 openapi_examples: Optional[Dict[str, Example]] = None,
70 deprecated: Union[deprecated, str, bool, None] = None,
71 include_in_schema: bool = True,
72 json_schema_extra: Union[Dict[str, Any], None] = None,
73 **extra: Any,
74 ):
75 if example is not _Unset: 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
76 warnings.warn( 1fghijklmno
77 "`example` has been deprecated, please use `examples` instead",
78 category=DeprecationWarning,
79 stacklevel=4,
80 )
81 self.example = example 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
82 self.include_in_schema = include_in_schema 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
83 self.openapi_examples = openapi_examples 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
84 kwargs = dict( 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
85 default=default,
86 default_factory=default_factory,
87 alias=alias,
88 title=title,
89 description=description,
90 gt=gt,
91 ge=ge,
92 lt=lt,
93 le=le,
94 min_length=min_length,
95 max_length=max_length,
96 discriminator=discriminator,
97 multiple_of=multiple_of,
98 allow_inf_nan=allow_inf_nan,
99 max_digits=max_digits,
100 decimal_places=decimal_places,
101 **extra,
102 )
103 if examples is not None: 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
104 kwargs["examples"] = examples 1afgbhicjkdlmeno
105 if regex is not None: 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
106 warnings.warn( 2_b`b{b|bdcecfcgcmcncocpc
107 "`regex` has been deprecated, please use `pattern` instead",
108 category=DeprecationWarning,
109 stacklevel=4,
110 )
111 current_json_schema_extra = json_schema_extra or extra 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
112 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
113 self.deprecated = deprecated 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
114 else:
115 kwargs["deprecated"] = deprecated 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
116 if PYDANTIC_V2: 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
117 kwargs.update( 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
118 {
119 "annotation": annotation,
120 "alias_priority": alias_priority,
121 "validation_alias": validation_alias,
122 "serialization_alias": serialization_alias,
123 "strict": strict,
124 "json_schema_extra": current_json_schema_extra,
125 }
126 )
127 kwargs["pattern"] = pattern or regex 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
128 else:
129 kwargs["regex"] = pattern or regex 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
130 kwargs.update(**current_json_schema_extra) 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
131 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
133 super().__init__(**use_kwargs) 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
135 def __repr__(self) -> str: 1abcde
136 return f"{self.__class__.__name__}({self.default})" 2a OdPdQdRdSdTd5 VdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) geheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
139class Path(Param): 1abcde
140 in_ = ParamTypes.path 1abcde
142 def __init__( 1abcde
143 self,
144 default: Any = ...,
145 *,
146 default_factory: Union[Callable[[], Any], None] = _Unset,
147 annotation: Optional[Any] = None,
148 alias: Optional[str] = None,
149 alias_priority: Union[int, None] = _Unset,
150 # TODO: update when deprecating Pydantic v1, import these types
151 # validation_alias: str | AliasPath | AliasChoices | None
152 validation_alias: Union[str, None] = None,
153 serialization_alias: Union[str, None] = None,
154 title: Optional[str] = None,
155 description: Optional[str] = None,
156 gt: Optional[float] = None,
157 ge: Optional[float] = None,
158 lt: Optional[float] = None,
159 le: Optional[float] = None,
160 min_length: Optional[int] = None,
161 max_length: Optional[int] = None,
162 pattern: Optional[str] = None,
163 regex: Annotated[
164 Optional[str],
165 deprecated(
166 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
167 ),
168 ] = None,
169 discriminator: Union[str, None] = None,
170 strict: Union[bool, None] = _Unset,
171 multiple_of: Union[float, None] = _Unset,
172 allow_inf_nan: Union[bool, None] = _Unset,
173 max_digits: Union[int, None] = _Unset,
174 decimal_places: Union[int, None] = _Unset,
175 examples: Optional[List[Any]] = None,
176 example: Annotated[
177 Optional[Any],
178 deprecated(
179 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
180 "although still supported. Use examples instead."
181 ),
182 ] = _Unset,
183 openapi_examples: Optional[Dict[str, Example]] = None,
184 deprecated: Union[deprecated, str, bool, None] = None,
185 include_in_schema: bool = True,
186 json_schema_extra: Union[Dict[str, Any], None] = None,
187 **extra: Any,
188 ):
189 assert default is ..., "Path parameters cannot have a default value" 2a Ud6 7 8 9 ! # $ % f g ' ( z A B b fe* + , - . / : ; h i = p ? C D E c 7e] ^ _ ` { | } ~ j k abq r s bbF G H d Kfgbhbibjbkblbmbnbl m obt u v pbI J K e ngubvbwbxbybzbAbBbn o Cbw x y DbL M N
190 self.in_ = self.in_ 2a 6 7 8 9 ! # $ % f g ' ( z A B b * + , - . / : ; h i = p ? C D E c ] ^ _ ` { | } ~ j k abq r s bbF G H d gbhbibjbkblbmbnbl m obt u v pbI J K e ubvbwbxbybzbAbBbn o Cbw x y DbL M N
191 super().__init__( 2a 6 7 8 9 ! # $ % f g ' ( z A B b * + , - . / : ; h i = p ? C D E c ] ^ _ ` { | } ~ j k abq r s bbF G H d gbhbibjbkblbmbnbl m obt u v pbI J K e ubvbwbxbybzbAbBbn o Cbw x y DbL M N
192 default=default,
193 default_factory=default_factory,
194 annotation=annotation,
195 alias=alias,
196 alias_priority=alias_priority,
197 validation_alias=validation_alias,
198 serialization_alias=serialization_alias,
199 title=title,
200 description=description,
201 gt=gt,
202 ge=ge,
203 lt=lt,
204 le=le,
205 min_length=min_length,
206 max_length=max_length,
207 pattern=pattern,
208 regex=regex,
209 discriminator=discriminator,
210 strict=strict,
211 multiple_of=multiple_of,
212 allow_inf_nan=allow_inf_nan,
213 max_digits=max_digits,
214 decimal_places=decimal_places,
215 deprecated=deprecated,
216 example=example,
217 examples=examples,
218 openapi_examples=openapi_examples,
219 include_in_schema=include_in_schema,
220 json_schema_extra=json_schema_extra,
221 **extra,
222 )
225class Query(Param): 1abcde
226 in_ = ParamTypes.query 1abcde
228 def __init__( 1abcde
229 self,
230 default: Any = Undefined,
231 *,
232 default_factory: Union[Callable[[], Any], None] = _Unset,
233 annotation: Optional[Any] = None,
234 alias: Optional[str] = None,
235 alias_priority: Union[int, None] = _Unset,
236 # TODO: update when deprecating Pydantic v1, import these types
237 # validation_alias: str | AliasPath | AliasChoices | None
238 validation_alias: Union[str, None] = None,
239 serialization_alias: Union[str, None] = None,
240 title: Optional[str] = None,
241 description: Optional[str] = None,
242 gt: Optional[float] = None,
243 ge: Optional[float] = None,
244 lt: Optional[float] = None,
245 le: Optional[float] = None,
246 min_length: Optional[int] = None,
247 max_length: Optional[int] = None,
248 pattern: Optional[str] = None,
249 regex: Annotated[
250 Optional[str],
251 deprecated(
252 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
253 ),
254 ] = None,
255 discriminator: Union[str, None] = None,
256 strict: Union[bool, None] = _Unset,
257 multiple_of: Union[float, None] = _Unset,
258 allow_inf_nan: Union[bool, None] = _Unset,
259 max_digits: Union[int, None] = _Unset,
260 decimal_places: Union[int, None] = _Unset,
261 examples: Optional[List[Any]] = None,
262 example: Annotated[
263 Optional[Any],
264 deprecated(
265 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
266 "although still supported. Use examples instead."
267 ),
268 ] = _Unset,
269 openapi_examples: Optional[Dict[str, Example]] = None,
270 deprecated: Union[deprecated, str, bool, None] = None,
271 include_in_schema: bool = True,
272 json_schema_extra: Union[Dict[str, Any], None] = None,
273 **extra: Any,
274 ):
275 super().__init__( 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d,d-d.d/d:df g ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteuevewexeyeEeFeGeHeIeh i KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e`e{e|e}e~e_b`b{b|bj k dfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f9f!f#f$f%fdcecfcgcl m *f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgMgNgOgPgQgmcncocpcn o UgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N
276 default=default,
277 default_factory=default_factory,
278 annotation=annotation,
279 alias=alias,
280 alias_priority=alias_priority,
281 validation_alias=validation_alias,
282 serialization_alias=serialization_alias,
283 title=title,
284 description=description,
285 gt=gt,
286 ge=ge,
287 lt=lt,
288 le=le,
289 min_length=min_length,
290 max_length=max_length,
291 pattern=pattern,
292 regex=regex,
293 discriminator=discriminator,
294 strict=strict,
295 multiple_of=multiple_of,
296 allow_inf_nan=allow_inf_nan,
297 max_digits=max_digits,
298 decimal_places=decimal_places,
299 deprecated=deprecated,
300 example=example,
301 examples=examples,
302 openapi_examples=openapi_examples,
303 include_in_schema=include_in_schema,
304 json_schema_extra=json_schema_extra,
305 **extra,
306 )
309class Header(Param): 1abcde
310 in_ = ParamTypes.header 1abcde
312 def __init__( 1abcde
313 self,
314 default: Any = Undefined,
315 *,
316 default_factory: Union[Callable[[], Any], None] = _Unset,
317 annotation: Optional[Any] = None,
318 alias: Optional[str] = None,
319 alias_priority: Union[int, None] = _Unset,
320 # TODO: update when deprecating Pydantic v1, import these types
321 # validation_alias: str | AliasPath | AliasChoices | None
322 validation_alias: Union[str, None] = None,
323 serialization_alias: Union[str, None] = None,
324 convert_underscores: bool = True,
325 title: Optional[str] = None,
326 description: Optional[str] = None,
327 gt: Optional[float] = None,
328 ge: Optional[float] = None,
329 lt: Optional[float] = None,
330 le: Optional[float] = None,
331 min_length: Optional[int] = None,
332 max_length: Optional[int] = None,
333 pattern: Optional[str] = None,
334 regex: Annotated[
335 Optional[str],
336 deprecated(
337 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
338 ),
339 ] = None,
340 discriminator: Union[str, None] = None,
341 strict: Union[bool, None] = _Unset,
342 multiple_of: Union[float, None] = _Unset,
343 allow_inf_nan: Union[bool, None] = _Unset,
344 max_digits: Union[int, None] = _Unset,
345 decimal_places: Union[int, None] = _Unset,
346 examples: Optional[List[Any]] = None,
347 example: Annotated[
348 Optional[Any],
349 deprecated(
350 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
351 "although still supported. Use examples instead."
352 ),
353 ] = _Unset,
354 openapi_examples: Optional[Dict[str, Example]] = None,
355 deprecated: Union[deprecated, str, bool, None] = None,
356 include_in_schema: bool = True,
357 json_schema_extra: Union[Dict[str, Any], None] = None,
358 **extra: Any,
359 ):
360 self.convert_underscores = convert_underscores 2a )b*b+b,b-bf g b .b/b:b;b=bh i p c ?b@b[b]b^bj k q r s d }b~bacbcccl m t u v e hcicjckclcn o w x y
361 super().__init__( 2a )b*b+b,b-bf g b .b/b:b;b=bh i p c ?b@b[b]b^bj k q r s d }b~bacbcccl m t u v e hcicjckclcn o w x y
362 default=default,
363 default_factory=default_factory,
364 annotation=annotation,
365 alias=alias,
366 alias_priority=alias_priority,
367 validation_alias=validation_alias,
368 serialization_alias=serialization_alias,
369 title=title,
370 description=description,
371 gt=gt,
372 ge=ge,
373 lt=lt,
374 le=le,
375 min_length=min_length,
376 max_length=max_length,
377 pattern=pattern,
378 regex=regex,
379 discriminator=discriminator,
380 strict=strict,
381 multiple_of=multiple_of,
382 allow_inf_nan=allow_inf_nan,
383 max_digits=max_digits,
384 decimal_places=decimal_places,
385 deprecated=deprecated,
386 example=example,
387 examples=examples,
388 openapi_examples=openapi_examples,
389 include_in_schema=include_in_schema,
390 json_schema_extra=json_schema_extra,
391 **extra,
392 )
395class Cookie(Param): 1abcde
396 in_ = ParamTypes.cookie 1abcde
398 def __init__( 1abcde
399 self,
400 default: Any = Undefined,
401 *,
402 default_factory: Union[Callable[[], Any], None] = _Unset,
403 annotation: Optional[Any] = None,
404 alias: Optional[str] = None,
405 alias_priority: Union[int, None] = _Unset,
406 # TODO: update when deprecating Pydantic v1, import these types
407 # validation_alias: str | AliasPath | AliasChoices | None
408 validation_alias: Union[str, None] = None,
409 serialization_alias: Union[str, None] = None,
410 title: Optional[str] = None,
411 description: Optional[str] = None,
412 gt: Optional[float] = None,
413 ge: Optional[float] = None,
414 lt: Optional[float] = None,
415 le: Optional[float] = None,
416 min_length: Optional[int] = None,
417 max_length: Optional[int] = None,
418 pattern: Optional[str] = None,
419 regex: Annotated[
420 Optional[str],
421 deprecated(
422 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
423 ),
424 ] = None,
425 discriminator: Union[str, None] = None,
426 strict: Union[bool, None] = _Unset,
427 multiple_of: Union[float, None] = _Unset,
428 allow_inf_nan: Union[bool, None] = _Unset,
429 max_digits: Union[int, None] = _Unset,
430 decimal_places: Union[int, None] = _Unset,
431 examples: Optional[List[Any]] = None,
432 example: Annotated[
433 Optional[Any],
434 deprecated(
435 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
436 "although still supported. Use examples instead."
437 ),
438 ] = _Unset,
439 openapi_examples: Optional[Dict[str, Example]] = None,
440 deprecated: Union[deprecated, str, bool, None] = None,
441 include_in_schema: bool = True,
442 json_schema_extra: Union[Dict[str, Any], None] = None,
443 **extra: Any,
444 ):
445 super().__init__( 2a 'd(d)d*d+df g b zeAeBeCeDeh i Jec @e[e]e^e_ej k afbfcfd 4f5f6f7f8fl m 'f(f)fe HgIgJgKgLgn o RgSgTg
446 default=default,
447 default_factory=default_factory,
448 annotation=annotation,
449 alias=alias,
450 alias_priority=alias_priority,
451 validation_alias=validation_alias,
452 serialization_alias=serialization_alias,
453 title=title,
454 description=description,
455 gt=gt,
456 ge=ge,
457 lt=lt,
458 le=le,
459 min_length=min_length,
460 max_length=max_length,
461 pattern=pattern,
462 regex=regex,
463 discriminator=discriminator,
464 strict=strict,
465 multiple_of=multiple_of,
466 allow_inf_nan=allow_inf_nan,
467 max_digits=max_digits,
468 decimal_places=decimal_places,
469 deprecated=deprecated,
470 example=example,
471 examples=examples,
472 openapi_examples=openapi_examples,
473 include_in_schema=include_in_schema,
474 json_schema_extra=json_schema_extra,
475 **extra,
476 )
479class Body(FieldInfo): 1abcde
480 def __init__( 1abcde
481 self,
482 default: Any = Undefined,
483 *,
484 default_factory: Union[Callable[[], Any], None] = _Unset,
485 annotation: Optional[Any] = None,
486 embed: Union[bool, None] = None,
487 media_type: str = "application/json",
488 alias: Optional[str] = None,
489 alias_priority: Union[int, None] = _Unset,
490 # TODO: update when deprecating Pydantic v1, import these types
491 # validation_alias: str | AliasPath | AliasChoices | None
492 validation_alias: Union[str, None] = None,
493 serialization_alias: Union[str, None] = None,
494 title: Optional[str] = None,
495 description: Optional[str] = None,
496 gt: Optional[float] = None,
497 ge: Optional[float] = None,
498 lt: Optional[float] = None,
499 le: Optional[float] = None,
500 min_length: Optional[int] = None,
501 max_length: Optional[int] = None,
502 pattern: Optional[str] = None,
503 regex: Annotated[
504 Optional[str],
505 deprecated(
506 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
507 ),
508 ] = None,
509 discriminator: Union[str, None] = None,
510 strict: Union[bool, None] = _Unset,
511 multiple_of: Union[float, None] = _Unset,
512 allow_inf_nan: Union[bool, None] = _Unset,
513 max_digits: Union[int, None] = _Unset,
514 decimal_places: Union[int, None] = _Unset,
515 examples: Optional[List[Any]] = None,
516 example: Annotated[
517 Optional[Any],
518 deprecated(
519 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
520 "although still supported. Use examples instead."
521 ),
522 ] = _Unset,
523 openapi_examples: Optional[Dict[str, Example]] = None,
524 deprecated: Union[deprecated, str, bool, None] = None,
525 include_in_schema: bool = True,
526 json_schema_extra: Union[Dict[str, Any], None] = None,
527 **extra: Any,
528 ):
529 self.embed = embed 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
530 self.media_type = media_type 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
531 if example is not _Unset: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
532 warnings.warn( 1fghijklmno
533 "`example` has been deprecated, please use `examples` instead",
534 category=DeprecationWarning,
535 stacklevel=4,
536 )
537 self.example = example 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
538 self.include_in_schema = include_in_schema 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
539 self.openapi_examples = openapi_examples 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
540 kwargs = dict( 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
541 default=default,
542 default_factory=default_factory,
543 alias=alias,
544 title=title,
545 description=description,
546 gt=gt,
547 ge=ge,
548 lt=lt,
549 le=le,
550 min_length=min_length,
551 max_length=max_length,
552 discriminator=discriminator,
553 multiple_of=multiple_of,
554 allow_inf_nan=allow_inf_nan,
555 max_digits=max_digits,
556 decimal_places=decimal_places,
557 **extra,
558 )
559 if examples is not None: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
560 kwargs["examples"] = examples 1afgbhicjkdlmeno
561 if regex is not None: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
562 warnings.warn( 1RSTUWXYZ1234
563 "`regex` has been deprecated, please use `pattern` instead",
564 category=DeprecationWarning,
565 stacklevel=4,
566 )
567 current_json_schema_extra = json_schema_extra or extra 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
568 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
569 self.deprecated = deprecated 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcGcHcIcJcKcLcyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1c2c3c4c5c6c7czhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:c;c=c?c@c[c]cAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdkdldmdndodpdBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdHdIdJdKdLdMdCh1 2 3 4 n o w x y Nd
570 else:
571 kwargs["deprecated"] = deprecated 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd
572 if PYDANTIC_V2: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
573 kwargs.update( 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd
574 {
575 "annotation": annotation,
576 "alias_priority": alias_priority,
577 "validation_alias": validation_alias,
578 "serialization_alias": serialization_alias,
579 "strict": strict,
580 "json_schema_extra": current_json_schema_extra,
581 }
582 )
583 kwargs["pattern"] = pattern or regex 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd
584 else:
585 kwargs["regex"] = pattern or regex 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcGcHcIcJcKcLcyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1c2c3c4c5c6c7czhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:c;c=c?c@c[c]cAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdkdldmdndodpdBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdHdIdJdKdLdMdCh1 2 3 4 n o w x y Nd
586 kwargs.update(**current_json_schema_extra) 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcGcHcIcJcKcLcyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1c2c3c4c5c6c7czhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:c;c=c?c@c[c]cAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdkdldmdndodpdBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdHdIdJdKdLdMdCh1 2 3 4 n o w x y Nd
588 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
590 super().__init__(**use_kwargs) 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd
592 def __repr__(self) -> str: 1abcde
593 return f"{self.__class__.__name__}({self.default})" 2a qcO rcsctcucvcwcxcycNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd
596class Form(Body): 1abcde
597 def __init__( 1abcde
598 self,
599 default: Any = Undefined,
600 *,
601 default_factory: Union[Callable[[], Any], None] = _Unset,
602 annotation: Optional[Any] = None,
603 media_type: str = "application/x-www-form-urlencoded",
604 alias: Optional[str] = None,
605 alias_priority: Union[int, None] = _Unset,
606 # TODO: update when deprecating Pydantic v1, import these types
607 # validation_alias: str | AliasPath | AliasChoices | None
608 validation_alias: Union[str, None] = None,
609 serialization_alias: Union[str, None] = None,
610 title: Optional[str] = None,
611 description: Optional[str] = None,
612 gt: Optional[float] = None,
613 ge: Optional[float] = None,
614 lt: Optional[float] = None,
615 le: Optional[float] = None,
616 min_length: Optional[int] = None,
617 max_length: Optional[int] = None,
618 pattern: Optional[str] = None,
619 regex: Annotated[
620 Optional[str],
621 deprecated(
622 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
623 ),
624 ] = None,
625 discriminator: Union[str, None] = None,
626 strict: Union[bool, None] = _Unset,
627 multiple_of: Union[float, None] = _Unset,
628 allow_inf_nan: Union[bool, None] = _Unset,
629 max_digits: Union[int, None] = _Unset,
630 decimal_places: Union[int, None] = _Unset,
631 examples: Optional[List[Any]] = None,
632 example: Annotated[
633 Optional[Any],
634 deprecated(
635 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
636 "although still supported. Use examples instead."
637 ),
638 ] = _Unset,
639 openapi_examples: Optional[Dict[str, Example]] = None,
640 deprecated: Union[deprecated, str, bool, None] = None,
641 include_in_schema: bool = True,
642 json_schema_extra: Union[Dict[str, Any], None] = None,
643 **extra: Any,
644 ):
645 super().__init__( 2a O HbIbzcJbAcBcKbLbMbCcNbb P ObPbVcQbWcXcRbSbTbYcUbc Q VbWb*cXb+c,cYbZb0b-c1bR S T U d V 2b3bdd4bedfd5b6b7bgd8bW X Y Z e 0 9b!bAd#bBdCd$b%b'bDd(b1 2 3 4
646 default=default,
647 default_factory=default_factory,
648 annotation=annotation,
649 media_type=media_type,
650 alias=alias,
651 alias_priority=alias_priority,
652 validation_alias=validation_alias,
653 serialization_alias=serialization_alias,
654 title=title,
655 description=description,
656 gt=gt,
657 ge=ge,
658 lt=lt,
659 le=le,
660 min_length=min_length,
661 max_length=max_length,
662 pattern=pattern,
663 regex=regex,
664 discriminator=discriminator,
665 strict=strict,
666 multiple_of=multiple_of,
667 allow_inf_nan=allow_inf_nan,
668 max_digits=max_digits,
669 decimal_places=decimal_places,
670 deprecated=deprecated,
671 example=example,
672 examples=examples,
673 openapi_examples=openapi_examples,
674 include_in_schema=include_in_schema,
675 json_schema_extra=json_schema_extra,
676 **extra,
677 )
680class File(Form): 1abcde
681 def __init__( 1abcde
682 self,
683 default: Any = Undefined,
684 *,
685 default_factory: Union[Callable[[], Any], None] = _Unset,
686 annotation: Optional[Any] = None,
687 media_type: str = "multipart/form-data",
688 alias: Optional[str] = None,
689 alias_priority: Union[int, None] = _Unset,
690 # TODO: update when deprecating Pydantic v1, import these types
691 # validation_alias: str | AliasPath | AliasChoices | None
692 validation_alias: Union[str, None] = None,
693 serialization_alias: Union[str, None] = None,
694 title: Optional[str] = None,
695 description: Optional[str] = None,
696 gt: Optional[float] = None,
697 ge: Optional[float] = None,
698 lt: Optional[float] = None,
699 le: Optional[float] = None,
700 min_length: Optional[int] = None,
701 max_length: Optional[int] = None,
702 pattern: Optional[str] = None,
703 regex: Annotated[
704 Optional[str],
705 deprecated(
706 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
707 ),
708 ] = None,
709 discriminator: Union[str, None] = None,
710 strict: Union[bool, None] = _Unset,
711 multiple_of: Union[float, None] = _Unset,
712 allow_inf_nan: Union[bool, None] = _Unset,
713 max_digits: Union[int, None] = _Unset,
714 decimal_places: Union[int, None] = _Unset,
715 examples: Optional[List[Any]] = None,
716 example: Annotated[
717 Optional[Any],
718 deprecated(
719 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
720 "although still supported. Use examples instead."
721 ),
722 ] = _Unset,
723 openapi_examples: Optional[Dict[str, Example]] = None,
724 deprecated: Union[deprecated, str, bool, None] = None,
725 include_in_schema: bool = True,
726 json_schema_extra: Union[Dict[str, Any], None] = None,
727 **extra: Any,
728 ):
729 super().__init__( 2a O HbIbJbKbLbMbb P ObPbQbRbSbTbc Q VbWbXbYbZb0bd V 2b3b4b5b6b7be 0 9b!b#b$b%b'b
730 default=default,
731 default_factory=default_factory,
732 annotation=annotation,
733 media_type=media_type,
734 alias=alias,
735 alias_priority=alias_priority,
736 validation_alias=validation_alias,
737 serialization_alias=serialization_alias,
738 title=title,
739 description=description,
740 gt=gt,
741 ge=ge,
742 lt=lt,
743 le=le,
744 min_length=min_length,
745 max_length=max_length,
746 pattern=pattern,
747 regex=regex,
748 discriminator=discriminator,
749 strict=strict,
750 multiple_of=multiple_of,
751 allow_inf_nan=allow_inf_nan,
752 max_digits=max_digits,
753 decimal_places=decimal_places,
754 deprecated=deprecated,
755 example=example,
756 examples=examples,
757 openapi_examples=openapi_examples,
758 include_in_schema=include_in_schema,
759 json_schema_extra=json_schema_extra,
760 **extra,
761 )
764class Depends: 1abcde
765 def __init__( 1abcde
766 self, dependency: Optional[Callable[..., Any]] = None, *, use_cache: bool = True
767 ):
768 self.dependency = dependency 2a 5 DhIhb ) EhJh@ c [ FhKhcbdbebd fbGhLhqbrbsbe tbHhMhEbFbGb
769 self.use_cache = use_cache 2a 5 DhIhb ) EhJh@ c [ FhKhcbdbebd fbGhLhqbrbsbe tbHhMhEbFbGb
771 def __repr__(self) -> str: 1abcde
772 attr = getattr(self.dependency, "__name__", type(self.dependency).__name__) 2DhEhFhGhHh
773 cache = "" if self.use_cache else ", use_cache=False" 2DhEhFhGhHh
774 return f"{self.__class__.__name__}({attr}{cache})" 2DhEhFhGhHh
777class Security(Depends): 1abcde
778 def __init__( 1abcde
779 self,
780 dependency: Optional[Callable[..., Any]] = None,
781 *,
782 scopes: Optional[Sequence[str]] = None,
783 use_cache: bool = True,
784 ):
785 super().__init__(dependency=dependency, use_cache=use_cache) 1abcde
786 self.scopes = scopes or [] 1abcde