Coverage for fastapi/params.py: 100%
100 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1import warnings 1abcdefg
2from dataclasses import dataclass 1abcdefg
3from enum import Enum 1abcdefg
4from typing import Any, Callable, Dict, List, Optional, Sequence, Union 1abcdefg
6from fastapi.openapi.models import Example 1abcdefg
7from pydantic.fields import FieldInfo 1abcdefg
8from typing_extensions import Annotated, Literal, deprecated 1abcdefg
10from ._compat import ( 1abcdefg
11 PYDANTIC_V2,
12 PYDANTIC_VERSION_MINOR_TUPLE,
13 Undefined,
14)
16_Unset: Any = Undefined 1abcdefg
19class ParamTypes(Enum): 1abcdefg
20 query = "query" 1abcdefg
21 header = "header" 1abcdefg
22 path = "path" 1abcdefg
23 cookie = "cookie" 1abcdefg
26class Param(FieldInfo): # type: ignore[misc] 1abcdefg
27 in_: ParamTypes 1abcdef
29 def __init__( 1abcdefg
30 self,
31 default: Any = Undefined,
32 *,
33 default_factory: Union[Callable[[], Any], None] = _Unset,
34 annotation: Optional[Any] = None,
35 alias: Optional[str] = None,
36 alias_priority: Union[int, None] = _Unset,
37 # TODO: update when deprecating Pydantic v1, import these types
38 # validation_alias: str | AliasPath | AliasChoices | None
39 validation_alias: Union[str, None] = None,
40 serialization_alias: Union[str, None] = None,
41 title: Optional[str] = None,
42 description: Optional[str] = None,
43 gt: Optional[float] = None,
44 ge: Optional[float] = None,
45 lt: Optional[float] = None,
46 le: Optional[float] = None,
47 min_length: Optional[int] = None,
48 max_length: Optional[int] = None,
49 pattern: Optional[str] = None,
50 regex: Annotated[
51 Optional[str],
52 deprecated(
53 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
54 ),
55 ] = None,
56 discriminator: Union[str, None] = None,
57 strict: Union[bool, None] = _Unset,
58 multiple_of: Union[float, None] = _Unset,
59 allow_inf_nan: Union[bool, None] = _Unset,
60 max_digits: Union[int, None] = _Unset,
61 decimal_places: Union[int, None] = _Unset,
62 examples: Optional[List[Any]] = None,
63 example: Annotated[
64 Optional[Any],
65 deprecated(
66 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
67 "although still supported. Use examples instead."
68 ),
69 ] = _Unset,
70 openapi_examples: Optional[Dict[str, Example]] = None,
71 deprecated: Union[deprecated, str, bool, None] = None,
72 include_in_schema: bool = True,
73 json_schema_extra: Union[Dict[str, Any], None] = None,
74 **extra: Any,
75 ):
76 if example is not _Unset: 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
77 warnings.warn( 1hijklmnopqrstu
78 "`example` has been deprecated, please use `examples` instead",
79 category=DeprecationWarning,
80 stacklevel=4,
81 )
82 self.example = example 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
83 self.include_in_schema = include_in_schema 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
84 self.openapi_examples = openapi_examples 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
85 kwargs = dict( 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
86 default=default,
87 default_factory=default_factory,
88 alias=alias,
89 title=title,
90 description=description,
91 gt=gt,
92 ge=ge,
93 lt=lt,
94 le=le,
95 min_length=min_length,
96 max_length=max_length,
97 discriminator=discriminator,
98 multiple_of=multiple_of,
99 allow_inf_nan=allow_inf_nan,
100 max_digits=max_digits,
101 decimal_places=decimal_places,
102 **extra,
103 )
104 if examples is not None: 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
105 kwargs["examples"] = examples 1ahibjkclmdnoepqfrsgtu
106 if regex is not None: 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
107 warnings.warn( 2hcicjckcqcrcsctczcAcBcCcIcJcKcLcCgDgEgFg
108 "`regex` has been deprecated, please use `pattern` instead",
109 category=DeprecationWarning,
110 stacklevel=4,
111 )
112 current_json_schema_extra = json_schema_extra or extra 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
113 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
114 self.deprecated = deprecated 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdC D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dF G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIeI J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,eL M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfO P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fR S T
115 else:
116 kwargs["deprecated"] = deprecated 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
117 if PYDANTIC_V2: 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
118 kwargs.update( 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
119 {
120 "annotation": annotation,
121 "alias_priority": alias_priority,
122 "validation_alias": validation_alias,
123 "serialization_alias": serialization_alias,
124 "strict": strict,
125 "json_schema_extra": current_json_schema_extra,
126 }
127 )
128 kwargs["pattern"] = pattern or regex 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
129 else:
130 kwargs["regex"] = pattern or regex 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdC D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dF G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIeI J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,eL M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfO P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fR S T
131 kwargs.update(**current_json_schema_extra) 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdC D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dF G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIeI J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,eL M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfO P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fR S T
132 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
134 super().__init__(**use_kwargs) 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
136 def __repr__(self) -> str: 1abcdefg
137 return f"{self.__class__.__name__}({self.default})" 2a ndpdqdrdsdtdudvdwdxdydzdAdBdCdDd) * + , - . / EdFdGdHdIdJdKdLdMd]b^b_b`b{b%f'f(f)f*f: NdOdPdQdRdh i ; = SdTdUdVdWdXdv C D E b Yd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd? @ [ ] ^ _ ` (d)d*d+d,d-d.d/d:d|b}b~bacbc+f,f-f.f/f{ ;d=d?d@d[dj k | } ]d^d_d`d{d|dw F G H c }daebecedeeefegeheiejekelemeneoe~ abbbcbdbebfbpeqereseteuevewexeccdcecfcgc:f;f=f?f@fgbyezeAeBeCehcicjckcl m hbibDeEeFeGeHeIex I J K d JeLeMeNeOePeQeReSeTeUeVeWeXeYeZejbkblbmbnbobpb0e1e2e3e4e5e6e7e8elcmcncocpc[f]f^f_f`fqb9e!e#e$e%eqcrcsctcn o rbsb'e(e)e*e+e,ey L M N e -e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~etbubvbwbxbybzbafbfcfdfefffgfhfifucvcwcxcyc{f|f}f~fagAbjfkflfmfnfzcAcBcCcp q BbCbofpfqfrfsftfz O P Q f ufwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfDbEbFbGbHbIbJbLfMfNfOfPfQfRfSfTfDcEcFcGcHcbgcgdgegfgKbUfVfWfXfYfIcJcKcLcr s LbMbZf0f1f2f3f4fA R S T g .h:h;h=h?h@h[h]h^h_h`h{h|h}h~haigghgigjgkglgmgbicidieifigihiiijixgygzgAgBgviwixiyizingkiliminioiCgDgEgFgt u ogpgpiqirisitiuiB 5f6f7f
140class Path(Param): # type: ignore[misc] 1abcdefg
141 in_ = ParamTypes.path 1abcdefg
143 def __init__( 1abcdefg
144 self,
145 default: Any = ...,
146 *,
147 default_factory: Union[Callable[[], Any], None] = _Unset,
148 annotation: Optional[Any] = None,
149 alias: Optional[str] = None,
150 alias_priority: Union[int, None] = _Unset,
151 # TODO: update when deprecating Pydantic v1, import these types
152 # validation_alias: str | AliasPath | AliasChoices | None
153 validation_alias: Union[str, None] = None,
154 serialization_alias: Union[str, None] = None,
155 title: Optional[str] = None,
156 description: Optional[str] = None,
157 gt: Optional[float] = None,
158 ge: Optional[float] = None,
159 lt: Optional[float] = None,
160 le: Optional[float] = None,
161 min_length: Optional[int] = None,
162 max_length: Optional[int] = None,
163 pattern: Optional[str] = None,
164 regex: Annotated[
165 Optional[str],
166 deprecated(
167 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
168 ),
169 ] = None,
170 discriminator: Union[str, None] = None,
171 strict: Union[bool, None] = _Unset,
172 multiple_of: Union[float, None] = _Unset,
173 allow_inf_nan: Union[bool, None] = _Unset,
174 max_digits: Union[int, None] = _Unset,
175 decimal_places: Union[int, None] = _Unset,
176 examples: Optional[List[Any]] = None,
177 example: Annotated[
178 Optional[Any],
179 deprecated(
180 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
181 "although still supported. Use examples instead."
182 ),
183 ] = _Unset,
184 openapi_examples: Optional[Dict[str, Example]] = None,
185 deprecated: Union[deprecated, str, bool, None] = None,
186 include_in_schema: bool = True,
187 json_schema_extra: Union[Dict[str, Any], None] = None,
188 **extra: Any,
189 ):
190 assert default is ..., "Path parameters cannot have a default value" 2a od) * + , - . / : h i ; = C D E b Zd? @ [ ] ^ _ ` { j k | } F G H c ~d~ abbbcbdbebfbgbl m hbibI J K d Kejbkblbmbnbobpbqbn o rbsbL M N e .etbubvbwbxbybzbAbp q BbCbO P Q f vfDbEbFbGbHbIbJbKbr s LbMbR S T g /hgghgigjgkglgmgngt u ogpg5f6f7f
191 self.in_ = self.in_ 2a ) * + , - . / : h i ; = C D E b ? @ [ ] ^ _ ` { j k | } F G H c ~ abbbcbdbebfbgbl m hbibI J K d jbkblbmbnbobpbqbn o rbsbL M N e tbubvbwbxbybzbAbp q BbCbO P Q f DbEbFbGbHbIbJbKbr s LbMbR S T g gghgigjgkglgmgngt u ogpg5f6f7f
192 super().__init__( 2a ) * + , - . / : h i ; = C D E b ? @ [ ] ^ _ ` { j k | } F G H c ~ abbbcbdbebfbgbl m hbibI J K d jbkblbmbnbobpbqbn o rbsbL M N e tbubvbwbxbybzbAbp q BbCbO P Q f DbEbFbGbHbIbJbKbr s LbMbR S T g gghgigjgkglgmgngt u ogpg5f6f7f
193 default=default,
194 default_factory=default_factory,
195 annotation=annotation,
196 alias=alias,
197 alias_priority=alias_priority,
198 validation_alias=validation_alias,
199 serialization_alias=serialization_alias,
200 title=title,
201 description=description,
202 gt=gt,
203 ge=ge,
204 lt=lt,
205 le=le,
206 min_length=min_length,
207 max_length=max_length,
208 pattern=pattern,
209 regex=regex,
210 discriminator=discriminator,
211 strict=strict,
212 multiple_of=multiple_of,
213 allow_inf_nan=allow_inf_nan,
214 max_digits=max_digits,
215 decimal_places=decimal_places,
216 deprecated=deprecated,
217 example=example,
218 examples=examples,
219 openapi_examples=openapi_examples,
220 include_in_schema=include_in_schema,
221 json_schema_extra=json_schema_extra,
222 **extra,
223 )
226class Query(Param): # type: ignore[misc] 1abcdefg
227 in_ = ParamTypes.query 1abcdefg
229 def __init__( 1abcdefg
230 self,
231 default: Any = Undefined,
232 *,
233 default_factory: Union[Callable[[], Any], None] = _Unset,
234 annotation: Optional[Any] = None,
235 alias: Optional[str] = None,
236 alias_priority: Union[int, None] = _Unset,
237 # TODO: update when deprecating Pydantic v1, import these types
238 # validation_alias: str | AliasPath | AliasChoices | None
239 validation_alias: Union[str, None] = None,
240 serialization_alias: Union[str, None] = None,
241 title: Optional[str] = None,
242 description: Optional[str] = None,
243 gt: Optional[float] = None,
244 ge: Optional[float] = None,
245 lt: Optional[float] = None,
246 le: Optional[float] = None,
247 min_length: Optional[int] = None,
248 max_length: Optional[int] = None,
249 pattern: Optional[str] = None,
250 regex: Annotated[
251 Optional[str],
252 deprecated(
253 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
254 ),
255 ] = None,
256 discriminator: Union[str, None] = None,
257 strict: Union[bool, None] = _Unset,
258 multiple_of: Union[float, None] = _Unset,
259 allow_inf_nan: Union[bool, None] = _Unset,
260 max_digits: Union[int, None] = _Unset,
261 decimal_places: Union[int, None] = _Unset,
262 examples: Optional[List[Any]] = None,
263 example: Annotated[
264 Optional[Any],
265 deprecated(
266 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
267 "although still supported. Use examples instead."
268 ),
269 ] = _Unset,
270 openapi_examples: Optional[Dict[str, Example]] = None,
271 deprecated: Union[deprecated, str, bool, None] = None,
272 include_in_schema: bool = True,
273 json_schema_extra: Union[Dict[str, Any], None] = None,
274 **extra: Any,
275 ):
276 super().__init__( 2a ndodpdqdrdsdtdudvdwdxdydzdAdBdCdDdEdFdGdHdNdOdPdQdRdh i SdTdUdVdWdXdv C D E b YdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d;d=d?d@d[dj k ]d^d_d`d{d|dw F G H c }d~daebecedeeefegeheiejekelemeneoepeqereseyezeAeBeCehcicjckcl m DeEeFeGeHeIex I J K d JeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e1e2e3e9e!e#e$e%eqcrcsctcn o 'e(e)e*e+e,ey L M N e -e.e/e:e;e=e?e@e[e]e^e_e`e{e|e}e~eafbfcfdfjfkflfmfnfzcAcBcCcp q ofpfqfrfsftfz O P Q f ufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfUfVfWfXfYfIcJcKcLcr s Zf0f1f2f3f4fA R S T g .h/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidieikiliminioiCgDgEgFgt u piqirisitiuiB 5f6f7f
277 default=default,
278 default_factory=default_factory,
279 annotation=annotation,
280 alias=alias,
281 alias_priority=alias_priority,
282 validation_alias=validation_alias,
283 serialization_alias=serialization_alias,
284 title=title,
285 description=description,
286 gt=gt,
287 ge=ge,
288 lt=lt,
289 le=le,
290 min_length=min_length,
291 max_length=max_length,
292 pattern=pattern,
293 regex=regex,
294 discriminator=discriminator,
295 strict=strict,
296 multiple_of=multiple_of,
297 allow_inf_nan=allow_inf_nan,
298 max_digits=max_digits,
299 decimal_places=decimal_places,
300 deprecated=deprecated,
301 example=example,
302 examples=examples,
303 openapi_examples=openapi_examples,
304 include_in_schema=include_in_schema,
305 json_schema_extra=json_schema_extra,
306 **extra,
307 )
310class Header(Param): # type: ignore[misc] 1abcdefg
311 in_ = ParamTypes.header 1abcdefg
313 def __init__( 1abcdefg
314 self,
315 default: Any = Undefined,
316 *,
317 default_factory: Union[Callable[[], Any], None] = _Unset,
318 annotation: Optional[Any] = None,
319 alias: Optional[str] = None,
320 alias_priority: Union[int, None] = _Unset,
321 # TODO: update when deprecating Pydantic v1, import these types
322 # validation_alias: str | AliasPath | AliasChoices | None
323 validation_alias: Union[str, None] = None,
324 serialization_alias: Union[str, None] = None,
325 convert_underscores: bool = True,
326 title: Optional[str] = None,
327 description: Optional[str] = None,
328 gt: Optional[float] = None,
329 ge: Optional[float] = None,
330 lt: Optional[float] = None,
331 le: Optional[float] = None,
332 min_length: Optional[int] = None,
333 max_length: Optional[int] = None,
334 pattern: Optional[str] = None,
335 regex: Annotated[
336 Optional[str],
337 deprecated(
338 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
339 ),
340 ] = None,
341 discriminator: Union[str, None] = None,
342 strict: Union[bool, None] = _Unset,
343 multiple_of: Union[float, None] = _Unset,
344 allow_inf_nan: Union[bool, None] = _Unset,
345 max_digits: Union[int, None] = _Unset,
346 decimal_places: Union[int, None] = _Unset,
347 examples: Optional[List[Any]] = None,
348 example: Annotated[
349 Optional[Any],
350 deprecated(
351 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
352 "although still supported. Use examples instead."
353 ),
354 ] = _Unset,
355 openapi_examples: Optional[Dict[str, Example]] = None,
356 deprecated: Union[deprecated, str, bool, None] = None,
357 include_in_schema: bool = True,
358 json_schema_extra: Union[Dict[str, Any], None] = None,
359 **extra: Any,
360 ):
361 self.convert_underscores = convert_underscores 2a ]b^b_b`b{bh i b |b}b~bacbcj k c ccdcecfcgcl m d lcmcncocpcn o e ucvcwcxcycp q f DcEcFcGcHcr s g xgygzgAgBgt u
362 super().__init__( 2a ]b^b_b`b{bh i b |b}b~bacbcj k c ccdcecfcgcl m d lcmcncocpcn o e ucvcwcxcycp q f DcEcFcGcHcr s g xgygzgAgBgt u
363 default=default,
364 default_factory=default_factory,
365 annotation=annotation,
366 alias=alias,
367 alias_priority=alias_priority,
368 validation_alias=validation_alias,
369 serialization_alias=serialization_alias,
370 title=title,
371 description=description,
372 gt=gt,
373 ge=ge,
374 lt=lt,
375 le=le,
376 min_length=min_length,
377 max_length=max_length,
378 pattern=pattern,
379 regex=regex,
380 discriminator=discriminator,
381 strict=strict,
382 multiple_of=multiple_of,
383 allow_inf_nan=allow_inf_nan,
384 max_digits=max_digits,
385 decimal_places=decimal_places,
386 deprecated=deprecated,
387 example=example,
388 examples=examples,
389 openapi_examples=openapi_examples,
390 include_in_schema=include_in_schema,
391 json_schema_extra=json_schema_extra,
392 **extra,
393 )
396class Cookie(Param): # type: ignore[misc] 1abcdefg
397 in_ = ParamTypes.cookie 1abcdefg
399 def __init__( 1abcdefg
400 self,
401 default: Any = Undefined,
402 *,
403 default_factory: Union[Callable[[], Any], None] = _Unset,
404 annotation: Optional[Any] = None,
405 alias: Optional[str] = None,
406 alias_priority: Union[int, None] = _Unset,
407 # TODO: update when deprecating Pydantic v1, import these types
408 # validation_alias: str | AliasPath | AliasChoices | None
409 validation_alias: Union[str, None] = None,
410 serialization_alias: Union[str, None] = None,
411 title: Optional[str] = None,
412 description: Optional[str] = None,
413 gt: Optional[float] = None,
414 ge: Optional[float] = None,
415 lt: Optional[float] = None,
416 le: Optional[float] = None,
417 min_length: Optional[int] = None,
418 max_length: Optional[int] = None,
419 pattern: Optional[str] = None,
420 regex: Annotated[
421 Optional[str],
422 deprecated(
423 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
424 ),
425 ] = None,
426 discriminator: Union[str, None] = None,
427 strict: Union[bool, None] = _Unset,
428 multiple_of: Union[float, None] = _Unset,
429 allow_inf_nan: Union[bool, None] = _Unset,
430 max_digits: Union[int, None] = _Unset,
431 decimal_places: Union[int, None] = _Unset,
432 examples: Optional[List[Any]] = None,
433 example: Annotated[
434 Optional[Any],
435 deprecated(
436 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
437 "although still supported. Use examples instead."
438 ),
439 ] = _Unset,
440 openapi_examples: Optional[Dict[str, Example]] = None,
441 deprecated: Union[deprecated, str, bool, None] = None,
442 include_in_schema: bool = True,
443 json_schema_extra: Union[Dict[str, Any], None] = None,
444 **extra: Any,
445 ):
446 super().__init__( 2a IdJdKdLdMdh i b ,d-d.d/d:dj k c teuevewexel m d 4e5e6e7e8en o e efffgfhfifp q f PfQfRfSfTfr s g figihiiijit u
447 default=default,
448 default_factory=default_factory,
449 annotation=annotation,
450 alias=alias,
451 alias_priority=alias_priority,
452 validation_alias=validation_alias,
453 serialization_alias=serialization_alias,
454 title=title,
455 description=description,
456 gt=gt,
457 ge=ge,
458 lt=lt,
459 le=le,
460 min_length=min_length,
461 max_length=max_length,
462 pattern=pattern,
463 regex=regex,
464 discriminator=discriminator,
465 strict=strict,
466 multiple_of=multiple_of,
467 allow_inf_nan=allow_inf_nan,
468 max_digits=max_digits,
469 decimal_places=decimal_places,
470 deprecated=deprecated,
471 example=example,
472 examples=examples,
473 openapi_examples=openapi_examples,
474 include_in_schema=include_in_schema,
475 json_schema_extra=json_schema_extra,
476 **extra,
477 )
480class Body(FieldInfo): # type: ignore[misc] 1abcdefg
481 def __init__( 1abcdefg
482 self,
483 default: Any = Undefined,
484 *,
485 default_factory: Union[Callable[[], Any], None] = _Unset,
486 annotation: Optional[Any] = None,
487 embed: Union[bool, None] = None,
488 media_type: str = "application/json",
489 alias: Optional[str] = None,
490 alias_priority: Union[int, None] = _Unset,
491 # TODO: update when deprecating Pydantic v1, import these types
492 # validation_alias: str | AliasPath | AliasChoices | None
493 validation_alias: Union[str, None] = None,
494 serialization_alias: Union[str, None] = None,
495 title: Optional[str] = None,
496 description: Optional[str] = None,
497 gt: Optional[float] = None,
498 ge: Optional[float] = None,
499 lt: Optional[float] = None,
500 le: Optional[float] = None,
501 min_length: Optional[int] = None,
502 max_length: Optional[int] = None,
503 pattern: Optional[str] = None,
504 regex: Annotated[
505 Optional[str],
506 deprecated(
507 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
508 ),
509 ] = None,
510 discriminator: Union[str, None] = None,
511 strict: Union[bool, None] = _Unset,
512 multiple_of: Union[float, None] = _Unset,
513 allow_inf_nan: Union[bool, None] = _Unset,
514 max_digits: Union[int, None] = _Unset,
515 decimal_places: Union[int, None] = _Unset,
516 examples: Optional[List[Any]] = None,
517 example: Annotated[
518 Optional[Any],
519 deprecated(
520 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
521 "although still supported. Use examples instead."
522 ),
523 ] = _Unset,
524 openapi_examples: Optional[Dict[str, Example]] = None,
525 deprecated: Union[deprecated, str, bool, None] = None,
526 include_in_schema: bool = True,
527 json_schema_extra: Union[Dict[str, Any], None] = None,
528 **extra: Any,
529 ):
530 self.embed = embed 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
531 self.media_type = media_type 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
532 if example is not _Unset: 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
533 warnings.warn( 1hijklmnopqrstu
534 "`example` has been deprecated, please use `examples` instead",
535 category=DeprecationWarning,
536 stacklevel=4,
537 )
538 self.example = example 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
539 self.include_in_schema = include_in_schema 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
540 self.openapi_examples = openapi_examples 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
541 kwargs = dict( 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
542 default=default,
543 default_factory=default_factory,
544 alias=alias,
545 title=title,
546 description=description,
547 gt=gt,
548 ge=ge,
549 lt=lt,
550 le=le,
551 min_length=min_length,
552 max_length=max_length,
553 discriminator=discriminator,
554 multiple_of=multiple_of,
555 allow_inf_nan=allow_inf_nan,
556 max_digits=max_digits,
557 decimal_places=decimal_places,
558 **extra,
559 )
560 if examples is not None: 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
561 kwargs["examples"] = examples 1ahibjkclmdnoepqfrsgtu
562 if regex is not None: 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
563 warnings.warn( 2X Y Z 0 2 3 4 5 7 8 9 ! $ % ' ( 9f!f#f$f
564 "`regex` has been deprecated, please use `pattern` instead",
565 category=DeprecationWarning,
566 stacklevel=4,
567 )
568 current_json_schema_extra = json_schema_extra or extra 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
569 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
570 self.deprecated = deprecated 2a McU NbObNcPbOcPcQbRbSbQcTbRcScTcUcVch i b WcV UbVbXcWbYcZcXbYbZb0c0b1c2c3c4c5cj k c 6cW 1b2b7c3b8c9c4b5b6b!c7b#c$c%c'c(cX Y Z 0 l m )cd *c1 8b9b+c!b,c-c#b$b%b.c'b/c:c;c=c?c2 3 4 5 n o @ce [c6 (b)b]c*b^c_c+b,b-b`c.b{c|c}c~cad7 8 9 ! p q bdf cd# /b:bdd;bedfd=b?b@bgd[bhdidjdkdld$ % ' ( r s md
571 else:
572 kwargs["deprecated"] = deprecated 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
573 if PYDANTIC_V2: 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
574 kwargs.update( 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
575 {
576 "annotation": annotation,
577 "alias_priority": alias_priority,
578 "validation_alias": validation_alias,
579 "serialization_alias": serialization_alias,
580 "strict": strict,
581 "json_schema_extra": current_json_schema_extra,
582 }
583 )
584 kwargs["pattern"] = pattern or regex 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
585 else:
586 kwargs["regex"] = pattern or regex 2a McU NbObNcPbOcPcQbRbSbQcTbRcScTcUcVch i b WcV UbVbXcWbYcZcXbYbZb0c0b1c2c3c4c5cj k c 6cW 1b2b7c3b8c9c4b5b6b!c7b#c$c%c'c(cX Y Z 0 l m )cd *c1 8b9b+c!b,c-c#b$b%b.c'b/c:c;c=c?c2 3 4 5 n o @ce [c6 (b)b]c*b^c_c+b,b-b`c.b{c|c}c~cad7 8 9 ! p q bdf cd# /b:bdd;bedfd=b?b@bgd[bhdidjdkdld$ % ' ( r s md
587 kwargs.update(**current_json_schema_extra) 2a McU NbObNcPbOcPcQbRbSbQcTbRcScTcUcVch i b WcV UbVbXcWbYcZcXbYbZb0c0b1c2c3c4c5cj k c 6cW 1b2b7c3b8c9c4b5b6b!c7b#c$c%c'c(cX Y Z 0 l m )cd *c1 8b9b+c!b,c-c#b$b%b.c'b/c:c;c=c?c2 3 4 5 n o @ce [c6 (b)b]c*b^c_c+b,b-b`c.b{c|c}c~cad7 8 9 ! p q bdf cd# /b:bdd;bedfd=b?b@bgd[bhdidjdkdld$ % ' ( r s md
589 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
591 super().__init__(**use_kwargs) 2a McGgU HgIgJgKgLgMgNgOgNbObNcPbOcPcQbRbSbQcTbPgQgRgSgTgUgRcScTcUcVcVgh i v Wgb WcXgV YgZg0g1g2g3g4g5gUbVbXcWbYcZcXbYbZb0c0b6g7g8g9g!g#g1c2c3c4c5c$gj k w %gc 6c'gW (g)g*g+g,g-g.g/g1b2b7c3b8c9c4b5b6b!c7b:g;g=g?g@g[g#c$c%c'c(c]gX Y Z 0 l m )cx ^gd *c_g1 `g{g|g}g~gahbhch8b9b+c!b,c-c#b$b%b.c'bdhehfhghhhih/c:c;c=c?cjh2 3 4 5 n o @cy khe [clh6 mhnhohphqhrhshth(b)b]c*b^c_c+b,b-b`c.buhvhwhxhyhzh{c|c}c~cadAh7 8 9 ! p q bdz Bhf cdCh# DhEhFhGhHhIhJhKh/b:bdd;bedfd=b?b@bgd[bLhMhNhOhPhQhhdidjdkdldRh$ % ' ( r s mdA Shg ThUh8fVhWhXhYhZh0h1h2hqgrg3hsg4h5htgugvg6hwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$ft u ,hB -h
593 def __repr__(self) -> str: 1abcdefg
594 return f"{self.__class__.__name__}({self.default})" 2a McGgU AiBiHgIgJgKgLgMgNgOgCiTbPgQgRgSgTgUgRcScTcUcVcDiVgEih i FiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiv Wgb WcXgV ViWiYgZg0g1g2g3g4g5gXi0b6g7g8g9g!g#g1c2c3c4c5cYi$gZij k 0i1i2i3i4i5i6i7i8i9i!i#i$i%i'i(iw %gc 6c'gW )i*i(g)g*g+g,g-g.g/g+i7b:g;g=g?g@g[g#c$c%c'c(c,i]gX Y Z 0 -il m .i/i:i;i=i?i@i[i]i^i_i`i{i|i}i~i)cx ^gd *c_g1 ajbj`g{g|g}g~gahbhchcj'bdhehfhghhhih/c:c;c=c?cdjjh2 3 4 5 ejn o fjgjhjijjjkjljmjnjojpjqjrjsjtjuj@cy khe [clh6 vjwjmhnhohphqhrhshthxj.buhvhwhxhyhzh{c|c}c~cadyjAh7 8 9 ! zjp q AjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjbdz Bhf cdCh# QjRjDhEhFhGhHhIhJhKhSj[bLhMhNhOhPhQhhdidjdkdldTjRh$ % ' ( Ujr s VjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!jmdA Shg ThUh8f#j$jVhWhXhYhZh0h1h2h%jwg7h8h9h!h#h$h%h'h(h)h*h+h9f!f#f$f'jt u (j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j,hB -h
597class Form(Body): # type: ignore[misc] 1abcdefg
598 def __init__( 1abcdefg
599 self,
600 default: Any = Undefined,
601 *,
602 default_factory: Union[Callable[[], Any], None] = _Unset,
603 annotation: Optional[Any] = None,
604 media_type: str = "application/x-www-form-urlencoded",
605 alias: Optional[str] = None,
606 alias_priority: Union[int, None] = _Unset,
607 # TODO: update when deprecating Pydantic v1, import these types
608 # validation_alias: str | AliasPath | AliasChoices | None
609 validation_alias: Union[str, None] = None,
610 serialization_alias: Union[str, None] = None,
611 title: Optional[str] = None,
612 description: Optional[str] = None,
613 gt: Optional[float] = None,
614 ge: Optional[float] = None,
615 lt: Optional[float] = None,
616 le: Optional[float] = None,
617 min_length: Optional[int] = None,
618 max_length: Optional[int] = None,
619 pattern: Optional[str] = None,
620 regex: Annotated[
621 Optional[str],
622 deprecated(
623 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
624 ),
625 ] = None,
626 discriminator: Union[str, None] = None,
627 strict: Union[bool, None] = _Unset,
628 multiple_of: Union[float, None] = _Unset,
629 allow_inf_nan: Union[bool, None] = _Unset,
630 max_digits: Union[int, None] = _Unset,
631 decimal_places: Union[int, None] = _Unset,
632 examples: Optional[List[Any]] = None,
633 example: Annotated[
634 Optional[Any],
635 deprecated(
636 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
637 "although still supported. Use examples instead."
638 ),
639 ] = _Unset,
640 openapi_examples: Optional[Dict[str, Example]] = None,
641 deprecated: Union[deprecated, str, bool, None] = None,
642 include_in_schema: bool = True,
643 json_schema_extra: Union[Dict[str, Any], None] = None,
644 **extra: Any,
645 ):
646 super().__init__( 2a U NbObNcPbOcPcQbRbSbQcTbb V UbVbXcWbYcZcXbYbZb0c0bc W 1b2b7c3b8c9c4b5b6b!c7bX Y Z 0 d 1 8b9b+c!b,c-c#b$b%b.c'b2 3 4 5 e 6 (b)b]c*b^c_c+b,b-b`c.b7 8 9 ! f # /b:bdd;bedfd=b?b@bgd[b$ % ' ( g 8fqgrg3hsg4h5htgugvg6hwg9f!f#f$f
647 default=default,
648 default_factory=default_factory,
649 annotation=annotation,
650 media_type=media_type,
651 alias=alias,
652 alias_priority=alias_priority,
653 validation_alias=validation_alias,
654 serialization_alias=serialization_alias,
655 title=title,
656 description=description,
657 gt=gt,
658 ge=ge,
659 lt=lt,
660 le=le,
661 min_length=min_length,
662 max_length=max_length,
663 pattern=pattern,
664 regex=regex,
665 discriminator=discriminator,
666 strict=strict,
667 multiple_of=multiple_of,
668 allow_inf_nan=allow_inf_nan,
669 max_digits=max_digits,
670 decimal_places=decimal_places,
671 deprecated=deprecated,
672 example=example,
673 examples=examples,
674 openapi_examples=openapi_examples,
675 include_in_schema=include_in_schema,
676 json_schema_extra=json_schema_extra,
677 **extra,
678 )
681class File(Form): # type: ignore[misc] 1abcdefg
682 def __init__( 1abcdefg
683 self,
684 default: Any = Undefined,
685 *,
686 default_factory: Union[Callable[[], Any], None] = _Unset,
687 annotation: Optional[Any] = None,
688 media_type: str = "multipart/form-data",
689 alias: Optional[str] = None,
690 alias_priority: Union[int, None] = _Unset,
691 # TODO: update when deprecating Pydantic v1, import these types
692 # validation_alias: str | AliasPath | AliasChoices | None
693 validation_alias: Union[str, None] = None,
694 serialization_alias: Union[str, None] = None,
695 title: Optional[str] = None,
696 description: Optional[str] = None,
697 gt: Optional[float] = None,
698 ge: Optional[float] = None,
699 lt: Optional[float] = None,
700 le: Optional[float] = None,
701 min_length: Optional[int] = None,
702 max_length: Optional[int] = None,
703 pattern: Optional[str] = None,
704 regex: Annotated[
705 Optional[str],
706 deprecated(
707 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
708 ),
709 ] = None,
710 discriminator: Union[str, None] = None,
711 strict: Union[bool, None] = _Unset,
712 multiple_of: Union[float, None] = _Unset,
713 allow_inf_nan: Union[bool, None] = _Unset,
714 max_digits: Union[int, None] = _Unset,
715 decimal_places: Union[int, None] = _Unset,
716 examples: Optional[List[Any]] = None,
717 example: Annotated[
718 Optional[Any],
719 deprecated(
720 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
721 "although still supported. Use examples instead."
722 ),
723 ] = _Unset,
724 openapi_examples: Optional[Dict[str, Example]] = None,
725 deprecated: Union[deprecated, str, bool, None] = None,
726 include_in_schema: bool = True,
727 json_schema_extra: Union[Dict[str, Any], None] = None,
728 **extra: Any,
729 ):
730 super().__init__( 2a U NbObPbQbRbSbb V UbVbWbXbYbZbc W 1b2b3b4b5b6bd 1 8b9b!b#b$b%be 6 (b)b*b+b,b-bf # /b:b;b=b?b@bg 8fqgrgsgtgugvg
731 default=default,
732 default_factory=default_factory,
733 annotation=annotation,
734 media_type=media_type,
735 alias=alias,
736 alias_priority=alias_priority,
737 validation_alias=validation_alias,
738 serialization_alias=serialization_alias,
739 title=title,
740 description=description,
741 gt=gt,
742 ge=ge,
743 lt=lt,
744 le=le,
745 min_length=min_length,
746 max_length=max_length,
747 pattern=pattern,
748 regex=regex,
749 discriminator=discriminator,
750 strict=strict,
751 multiple_of=multiple_of,
752 allow_inf_nan=allow_inf_nan,
753 max_digits=max_digits,
754 decimal_places=decimal_places,
755 deprecated=deprecated,
756 example=example,
757 examples=examples,
758 openapi_examples=openapi_examples,
759 include_in_schema=include_in_schema,
760 json_schema_extra=json_schema_extra,
761 **extra,
762 )
765@dataclass(frozen=True) 1abcdefg
766class Depends: 1abcdefg
767 dependency: Optional[Callable[..., Any]] = None 1abcdefg
768 use_cache: bool = True 1abcdefg
769 scope: Union[Literal["function", "request"], None] = None 1abcdefg
772@dataclass(frozen=True) 1abcdefg
773class Security(Depends): 1abcdefg
774 scopes: Optional[Sequence[str]] = None 1abcdefg