Coverage for fastapi/params.py: 100%

100 statements  

« 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

5 

6from fastapi.openapi.models import Example 1abcdefg

7from pydantic.fields import FieldInfo 1abcdefg

8from typing_extensions import Annotated, Literal, deprecated 1abcdefg

9 

10from ._compat import ( 1abcdefg

11 PYDANTIC_V2, 

12 PYDANTIC_VERSION_MINOR_TUPLE, 

13 Undefined, 

14) 

15 

16_Unset: Any = Undefined 1abcdefg

17 

18 

19class ParamTypes(Enum): 1abcdefg

20 query = "query" 1abcdefg

21 header = "header" 1abcdefg

22 path = "path" 1abcdefg

23 cookie = "cookie" 1abcdefg

24 

25 

26class Param(FieldInfo): # type: ignore[misc] 1abcdefg

27 in_: ParamTypes 1abcdef

28 

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

133 

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

135 

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

138 

139 

140class Path(Param): # type: ignore[misc] 1abcdefg

141 in_ = ParamTypes.path 1abcdefg

142 

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 ) 

224 

225 

226class Query(Param): # type: ignore[misc] 1abcdefg

227 in_ = ParamTypes.query 1abcdefg

228 

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 ) 

308 

309 

310class Header(Param): # type: ignore[misc] 1abcdefg

311 in_ = ParamTypes.header 1abcdefg

312 

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 ) 

394 

395 

396class Cookie(Param): # type: ignore[misc] 1abcdefg

397 in_ = ParamTypes.cookie 1abcdefg

398 

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 ) 

478 

479 

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

588 

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

590 

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

592 

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

595 

596 

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 ) 

679 

680 

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 ) 

763 

764 

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

770 

771 

772@dataclass(frozen=True) 1abcdefg

773class Security(Depends): 1abcdefg

774 scopes: Optional[Sequence[str]] = None 1abcdefg