Coverage for fastapi/params.py: 100%

103 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-06 16:22 +0000

1import warnings 1abcde

2from enum import Enum 1abcde

3from typing import Any, Callable, Dict, List, Optional, Sequence, Union 1abcde

4 

5from fastapi.openapi.models import Example 1abcde

6from pydantic.fields import FieldInfo 1abcde

7from typing_extensions import Annotated, deprecated 1abcde

8 

9from ._compat import PYDANTIC_V2, PYDANTIC_VERSION, Undefined 1abcde

10 

11_Unset: Any = Undefined 1abcde

12 

13 

14class ParamTypes(Enum): 1abcde

15 query = "query" 1abcde

16 header = "header" 1abcde

17 path = "path" 1abcde

18 cookie = "cookie" 1abcde

19 

20 

21class Param(FieldInfo): 1abcde

22 in_: ParamTypes 1abcde

23 

24 def __init__( 1abcde

25 self, 

26 default: Any = Undefined, 

27 *, 

28 default_factory: Union[Callable[[], Any], None] = _Unset, 

29 annotation: Optional[Any] = None, 

30 alias: Optional[str] = None, 

31 alias_priority: Union[int, None] = _Unset, 

32 # TODO: update when deprecating Pydantic v1, import these types 

33 # validation_alias: str | AliasPath | AliasChoices | None 

34 validation_alias: Union[str, None] = None, 

35 serialization_alias: Union[str, None] = None, 

36 title: Optional[str] = None, 

37 description: Optional[str] = None, 

38 gt: Optional[float] = None, 

39 ge: Optional[float] = None, 

40 lt: Optional[float] = None, 

41 le: Optional[float] = None, 

42 min_length: Optional[int] = None, 

43 max_length: Optional[int] = None, 

44 pattern: Optional[str] = None, 

45 regex: Annotated[ 

46 Optional[str], 

47 deprecated( 

48 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

49 ), 

50 ] = None, 

51 discriminator: Union[str, None] = None, 

52 strict: Union[bool, None] = _Unset, 

53 multiple_of: Union[float, None] = _Unset, 

54 allow_inf_nan: Union[bool, None] = _Unset, 

55 max_digits: Union[int, None] = _Unset, 

56 decimal_places: Union[int, None] = _Unset, 

57 examples: Optional[List[Any]] = None, 

58 example: Annotated[ 

59 Optional[Any], 

60 deprecated( 

61 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

62 "although still supported. Use examples instead." 

63 ), 

64 ] = _Unset, 

65 openapi_examples: Optional[Dict[str, Example]] = None, 

66 deprecated: Union[deprecated, str, bool, None] = None, 

67 include_in_schema: bool = True, 

68 json_schema_extra: Union[Dict[str, Any], None] = None, 

69 **extra: Any, 

70 ): 

71 if example is not _Unset: 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

72 warnings.warn( 1fghijklmno

73 "`example` has been deprecated, please use `examples` instead", 

74 category=DeprecationWarning, 

75 stacklevel=4, 

76 ) 

77 self.example = example 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

78 self.include_in_schema = include_in_schema 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

79 self.openapi_examples = openapi_examples 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

80 kwargs = dict( 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

81 default=default, 

82 default_factory=default_factory, 

83 alias=alias, 

84 title=title, 

85 description=description, 

86 gt=gt, 

87 ge=ge, 

88 lt=lt, 

89 le=le, 

90 min_length=min_length, 

91 max_length=max_length, 

92 discriminator=discriminator, 

93 multiple_of=multiple_of, 

94 allow_inf_nan=allow_inf_nan, 

95 max_digits=max_digits, 

96 decimal_places=decimal_places, 

97 **extra, 

98 ) 

99 if examples is not None: 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

100 kwargs["examples"] = examples 1afgbhicjkdlmeno

101 if regex is not None: 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

102 warnings.warn( 2~bacbcccicjckclcrcsctcuc

103 "`regex` has been deprecated, please use `pattern` instead", 

104 category=DeprecationWarning, 

105 stacklevel=4, 

106 ) 

107 current_json_schema_extra = json_schema_extra or extra 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

108 if PYDANTIC_VERSION < "2.7.0": 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

109 self.deprecated = deprecated 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

110 else: 

111 kwargs["deprecated"] = deprecated 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

112 if PYDANTIC_V2: 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

113 kwargs.update( 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

114 { 

115 "annotation": annotation, 

116 "alias_priority": alias_priority, 

117 "validation_alias": validation_alias, 

118 "serialization_alias": serialization_alias, 

119 "strict": strict, 

120 "json_schema_extra": current_json_schema_extra, 

121 } 

122 ) 

123 kwargs["pattern"] = pattern or regex 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

124 else: 

125 kwargs["regex"] = pattern or regex 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

126 kwargs.update(**current_json_schema_extra) 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

127 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

128 

129 super().__init__(**use_kwargs) 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

130 

131 def __repr__(self) -> str: 1abcde

132 return f"{self.__class__.__name__}({self.default})" 2a %d'd(d)d*d+d( -d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d) * + , - . / ~daebecedeeefegehe.b/b:b;b=bwhxhyhzhAh: iejekelemef g ne; = oepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? HeIeJeKeLeMeNeOePeQeReSeTeUeVeWe@ [ ] ^ _ ` { XeYeZe0e1e2e3e4e5e?b@b[b]b^bBhChDhEhFh| 6e7e8e9e!eh i z #e$e} p ~ %e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebbafbfcfdfefffgfhfifjfkflfmfnfofpfcbdbebfbgbhbibqfrfsftfufvfwfxfyf_b`b{b|b}bGhHhIhJhKhjbzfAfBfCfDf~bacbcccj k A B C EfFfGfHfIfkbq r s lbJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`fqbrbsbtbubvbwb{f|f}f~fagbgcgdgegdcecfcgchcLhMhNhOhPhxbfggghgigjgicjckclcl m D E F kglgmgngogybt u v zbpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$gEbFbGbHbIbJbKb%g'g(g)g*g+g,g-g.gmcncocpcqcQhRhShThUhLb/g:g;g=g?grcsctcucn o G H I @g[g]g^g_gMbw x y Nb`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

133 

134 

135class Path(Param): 1abcde

136 in_ = ParamTypes.path 1abcde

137 

138 def __init__( 1abcde

139 self, 

140 default: Any = ..., 

141 *, 

142 default_factory: Union[Callable[[], Any], None] = _Unset, 

143 annotation: Optional[Any] = None, 

144 alias: Optional[str] = None, 

145 alias_priority: Union[int, None] = _Unset, 

146 # TODO: update when deprecating Pydantic v1, import these types 

147 # validation_alias: str | AliasPath | AliasChoices | None 

148 validation_alias: Union[str, None] = None, 

149 serialization_alias: Union[str, None] = None, 

150 title: Optional[str] = None, 

151 description: Optional[str] = None, 

152 gt: Optional[float] = None, 

153 ge: Optional[float] = None, 

154 lt: Optional[float] = None, 

155 le: Optional[float] = None, 

156 min_length: Optional[int] = None, 

157 max_length: Optional[int] = None, 

158 pattern: Optional[str] = None, 

159 regex: Annotated[ 

160 Optional[str], 

161 deprecated( 

162 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

163 ), 

164 ] = None, 

165 discriminator: Union[str, None] = None, 

166 strict: Union[bool, None] = _Unset, 

167 multiple_of: Union[float, None] = _Unset, 

168 allow_inf_nan: Union[bool, None] = _Unset, 

169 max_digits: Union[int, None] = _Unset, 

170 decimal_places: Union[int, None] = _Unset, 

171 examples: Optional[List[Any]] = None, 

172 example: Annotated[ 

173 Optional[Any], 

174 deprecated( 

175 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

176 "although still supported. Use examples instead." 

177 ), 

178 ] = _Unset, 

179 openapi_examples: Optional[Dict[str, Example]] = None, 

180 deprecated: Union[deprecated, str, bool, None] = None, 

181 include_in_schema: bool = True, 

182 json_schema_extra: Union[Dict[str, Any], None] = None, 

183 **extra: Any, 

184 ): 

185 assert default is ..., "Path parameters cannot have a default value" 2a ,d) * + , - . / : f g ; = J K L b Ge@ [ ] ^ _ ` { | h i z } p ~ M N O c ~ecbdbebfbgbhbibjbj k A B C kbq r s lbP Q R d )fqbrbsbtbubvbwbxbl m D E F ybt u v zbS T U e WgEbFbGbHbIbJbKbLbn o G H I Mbw x y NbV W X

186 self.in_ = self.in_ 2a ) * + , - . / : f g ; = J K L b @ [ ] ^ _ ` { | h i z } p ~ M N O c cbdbebfbgbhbibjbj k A B C kbq r s lbP Q R d qbrbsbtbubvbwbxbl m D E F ybt u v zbS T U e EbFbGbHbIbJbKbLbn o G H I Mbw x y NbV W X

187 super().__init__( 2a ) * + , - . / : f g ; = J K L b @ [ ] ^ _ ` { | h i z } p ~ M N O c cbdbebfbgbhbibjbj k A B C kbq r s lbP Q R d qbrbsbtbubvbwbxbl m D E F ybt u v zbS T U e EbFbGbHbIbJbKbLbn o G H I Mbw x y NbV W X

188 default=default, 

189 default_factory=default_factory, 

190 annotation=annotation, 

191 alias=alias, 

192 alias_priority=alias_priority, 

193 validation_alias=validation_alias, 

194 serialization_alias=serialization_alias, 

195 title=title, 

196 description=description, 

197 gt=gt, 

198 ge=ge, 

199 lt=lt, 

200 le=le, 

201 min_length=min_length, 

202 max_length=max_length, 

203 pattern=pattern, 

204 regex=regex, 

205 discriminator=discriminator, 

206 strict=strict, 

207 multiple_of=multiple_of, 

208 allow_inf_nan=allow_inf_nan, 

209 max_digits=max_digits, 

210 decimal_places=decimal_places, 

211 deprecated=deprecated, 

212 example=example, 

213 examples=examples, 

214 openapi_examples=openapi_examples, 

215 include_in_schema=include_in_schema, 

216 json_schema_extra=json_schema_extra, 

217 **extra, 

218 ) 

219 

220 

221class Query(Param): 1abcde

222 in_ = ParamTypes.query 1abcde

223 

224 def __init__( 1abcde

225 self, 

226 default: Any = Undefined, 

227 *, 

228 default_factory: Union[Callable[[], Any], None] = _Unset, 

229 annotation: Optional[Any] = None, 

230 alias: Optional[str] = None, 

231 alias_priority: Union[int, None] = _Unset, 

232 # TODO: update when deprecating Pydantic v1, import these types 

233 # validation_alias: str | AliasPath | AliasChoices | None 

234 validation_alias: Union[str, None] = None, 

235 serialization_alias: Union[str, None] = None, 

236 title: Optional[str] = None, 

237 description: Optional[str] = None, 

238 gt: Optional[float] = None, 

239 ge: Optional[float] = None, 

240 lt: Optional[float] = None, 

241 le: Optional[float] = None, 

242 min_length: Optional[int] = None, 

243 max_length: Optional[int] = None, 

244 pattern: Optional[str] = None, 

245 regex: Annotated[ 

246 Optional[str], 

247 deprecated( 

248 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

249 ), 

250 ] = None, 

251 discriminator: Union[str, None] = None, 

252 strict: Union[bool, None] = _Unset, 

253 multiple_of: Union[float, None] = _Unset, 

254 allow_inf_nan: Union[bool, None] = _Unset, 

255 max_digits: Union[int, None] = _Unset, 

256 decimal_places: Union[int, None] = _Unset, 

257 examples: Optional[List[Any]] = None, 

258 example: Annotated[ 

259 Optional[Any], 

260 deprecated( 

261 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

262 "although still supported. Use examples instead." 

263 ), 

264 ] = _Unset, 

265 openapi_examples: Optional[Dict[str, Example]] = None, 

266 deprecated: Union[deprecated, str, bool, None] = None, 

267 include_in_schema: bool = True, 

268 json_schema_extra: Union[Dict[str, Any], None] = None, 

269 **extra: Any, 

270 ): 

271 super().__init__( 2a %d'd(d)d*d+d( ,d-d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}d~daebeceiejekelemef g neoepeqereseteuevewexeyezeJ K L b AeBeCeDeEeFe? GeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe0e6e7e8e9e!eh i z $e%e'e(e)e*e+e,e-e.e/e:e;eab=e?e@e[e]eM N O c ^e_e`e{e|e}ebb~eafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfzfAfBfCfDf~bacbcccj k A B C HfIfJfKfLfMfNfOfPfQfRfSfTfUfmbVfWfXfYfZfnb0f1f2f3f4fob5f6f7f8f9fP Q R d !f#f$f%f'f(fpb)f*f+f,f-f.f/f:f;f=f?f@f[f]f^f_f`f{f|f}f~ffggghgigjgicjckclcl m D E F ngogpgqgrgsgtgugvgwgxgygzgAgAbBgCgDgEgFgBbGgHgIgJgKgCbLgMgNgOgPgS T U e QgRgSgTgUgVgDbWgXgYgZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g/g:g;g=g?grcsctcucn o G H I ^g_g`g{g|g}g~gahbhchdhehfhghObhhihjhkhlhPbmhnhohphqhQbrhshthuhvhV W X

272 default=default, 

273 default_factory=default_factory, 

274 annotation=annotation, 

275 alias=alias, 

276 alias_priority=alias_priority, 

277 validation_alias=validation_alias, 

278 serialization_alias=serialization_alias, 

279 title=title, 

280 description=description, 

281 gt=gt, 

282 ge=ge, 

283 lt=lt, 

284 le=le, 

285 min_length=min_length, 

286 max_length=max_length, 

287 pattern=pattern, 

288 regex=regex, 

289 discriminator=discriminator, 

290 strict=strict, 

291 multiple_of=multiple_of, 

292 allow_inf_nan=allow_inf_nan, 

293 max_digits=max_digits, 

294 decimal_places=decimal_places, 

295 deprecated=deprecated, 

296 example=example, 

297 examples=examples, 

298 openapi_examples=openapi_examples, 

299 include_in_schema=include_in_schema, 

300 json_schema_extra=json_schema_extra, 

301 **extra, 

302 ) 

303 

304 

305class Header(Param): 1abcde

306 in_ = ParamTypes.header 1abcde

307 

308 def __init__( 1abcde

309 self, 

310 default: Any = Undefined, 

311 *, 

312 default_factory: Union[Callable[[], Any], None] = _Unset, 

313 annotation: Optional[Any] = None, 

314 alias: Optional[str] = None, 

315 alias_priority: Union[int, None] = _Unset, 

316 # TODO: update when deprecating Pydantic v1, import these types 

317 # validation_alias: str | AliasPath | AliasChoices | None 

318 validation_alias: Union[str, None] = None, 

319 serialization_alias: Union[str, None] = None, 

320 convert_underscores: bool = True, 

321 title: Optional[str] = None, 

322 description: Optional[str] = None, 

323 gt: Optional[float] = None, 

324 ge: Optional[float] = None, 

325 lt: Optional[float] = None, 

326 le: Optional[float] = None, 

327 min_length: Optional[int] = None, 

328 max_length: Optional[int] = None, 

329 pattern: Optional[str] = None, 

330 regex: Annotated[ 

331 Optional[str], 

332 deprecated( 

333 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

334 ), 

335 ] = None, 

336 discriminator: Union[str, None] = None, 

337 strict: Union[bool, None] = _Unset, 

338 multiple_of: Union[float, None] = _Unset, 

339 allow_inf_nan: Union[bool, None] = _Unset, 

340 max_digits: Union[int, None] = _Unset, 

341 decimal_places: Union[int, None] = _Unset, 

342 examples: Optional[List[Any]] = None, 

343 example: Annotated[ 

344 Optional[Any], 

345 deprecated( 

346 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

347 "although still supported. Use examples instead." 

348 ), 

349 ] = _Unset, 

350 openapi_examples: Optional[Dict[str, Example]] = None, 

351 deprecated: Union[deprecated, str, bool, None] = None, 

352 include_in_schema: bool = True, 

353 json_schema_extra: Union[Dict[str, Any], None] = None, 

354 **extra: Any, 

355 ): 

356 self.convert_underscores = convert_underscores 2a .b/b:b;b=bf g b ?b@b[b]b^bh i p c _b`b{b|b}bj k q r s d dcecfcgchcl m t u v e mcncocpcqcn o w x y

357 super().__init__( 2a .b/b:b;b=bf g b ?b@b[b]b^bh i p c _b`b{b|b}bj k q r s d dcecfcgchcl m t u v e mcncocpcqcn o w x y

358 default=default, 

359 default_factory=default_factory, 

360 annotation=annotation, 

361 alias=alias, 

362 alias_priority=alias_priority, 

363 validation_alias=validation_alias, 

364 serialization_alias=serialization_alias, 

365 title=title, 

366 description=description, 

367 gt=gt, 

368 ge=ge, 

369 lt=lt, 

370 le=le, 

371 min_length=min_length, 

372 max_length=max_length, 

373 pattern=pattern, 

374 regex=regex, 

375 discriminator=discriminator, 

376 strict=strict, 

377 multiple_of=multiple_of, 

378 allow_inf_nan=allow_inf_nan, 

379 max_digits=max_digits, 

380 decimal_places=decimal_places, 

381 deprecated=deprecated, 

382 example=example, 

383 examples=examples, 

384 openapi_examples=openapi_examples, 

385 include_in_schema=include_in_schema, 

386 json_schema_extra=json_schema_extra, 

387 **extra, 

388 ) 

389 

390 

391class Cookie(Param): 1abcde

392 in_ = ParamTypes.cookie 1abcde

393 

394 def __init__( 1abcde

395 self, 

396 default: Any = Undefined, 

397 *, 

398 default_factory: Union[Callable[[], Any], None] = _Unset, 

399 annotation: Optional[Any] = None, 

400 alias: Optional[str] = None, 

401 alias_priority: Union[int, None] = _Unset, 

402 # TODO: update when deprecating Pydantic v1, import these types 

403 # validation_alias: str | AliasPath | AliasChoices | None 

404 validation_alias: Union[str, None] = None, 

405 serialization_alias: Union[str, None] = None, 

406 title: Optional[str] = None, 

407 description: Optional[str] = None, 

408 gt: Optional[float] = None, 

409 ge: Optional[float] = None, 

410 lt: Optional[float] = None, 

411 le: Optional[float] = None, 

412 min_length: Optional[int] = None, 

413 max_length: Optional[int] = None, 

414 pattern: Optional[str] = None, 

415 regex: Annotated[ 

416 Optional[str], 

417 deprecated( 

418 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

419 ), 

420 ] = None, 

421 discriminator: Union[str, None] = None, 

422 strict: Union[bool, None] = _Unset, 

423 multiple_of: Union[float, None] = _Unset, 

424 allow_inf_nan: Union[bool, None] = _Unset, 

425 max_digits: Union[int, None] = _Unset, 

426 decimal_places: Union[int, None] = _Unset, 

427 examples: Optional[List[Any]] = None, 

428 example: Annotated[ 

429 Optional[Any], 

430 deprecated( 

431 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

432 "although still supported. Use examples instead." 

433 ), 

434 ] = _Unset, 

435 openapi_examples: Optional[Dict[str, Example]] = None, 

436 deprecated: Union[deprecated, str, bool, None] = None, 

437 include_in_schema: bool = True, 

438 json_schema_extra: Union[Dict[str, Any], None] = None, 

439 **extra: Any, 

440 ): 

441 super().__init__( 2a deeefegehef g b 1e2e3e4e5eh i #ec ufvfwfxfyfj k EfFfGfd agbgcgdgegl m kglgmge *g+g,g-g.gn o @g[g]g

442 default=default, 

443 default_factory=default_factory, 

444 annotation=annotation, 

445 alias=alias, 

446 alias_priority=alias_priority, 

447 validation_alias=validation_alias, 

448 serialization_alias=serialization_alias, 

449 title=title, 

450 description=description, 

451 gt=gt, 

452 ge=ge, 

453 lt=lt, 

454 le=le, 

455 min_length=min_length, 

456 max_length=max_length, 

457 pattern=pattern, 

458 regex=regex, 

459 discriminator=discriminator, 

460 strict=strict, 

461 multiple_of=multiple_of, 

462 allow_inf_nan=allow_inf_nan, 

463 max_digits=max_digits, 

464 decimal_places=decimal_places, 

465 deprecated=deprecated, 

466 example=example, 

467 examples=examples, 

468 openapi_examples=openapi_examples, 

469 include_in_schema=include_in_schema, 

470 json_schema_extra=json_schema_extra, 

471 **extra, 

472 ) 

473 

474 

475class Body(FieldInfo): 1abcde

476 def __init__( 1abcde

477 self, 

478 default: Any = Undefined, 

479 *, 

480 default_factory: Union[Callable[[], Any], None] = _Unset, 

481 annotation: Optional[Any] = None, 

482 embed: Union[bool, None] = None, 

483 media_type: str = "application/json", 

484 alias: Optional[str] = None, 

485 alias_priority: Union[int, None] = _Unset, 

486 # TODO: update when deprecating Pydantic v1, import these types 

487 # validation_alias: str | AliasPath | AliasChoices | None 

488 validation_alias: Union[str, None] = None, 

489 serialization_alias: Union[str, None] = None, 

490 title: Optional[str] = None, 

491 description: Optional[str] = None, 

492 gt: Optional[float] = None, 

493 ge: Optional[float] = None, 

494 lt: Optional[float] = None, 

495 le: Optional[float] = None, 

496 min_length: Optional[int] = None, 

497 max_length: Optional[int] = None, 

498 pattern: Optional[str] = None, 

499 regex: Annotated[ 

500 Optional[str], 

501 deprecated( 

502 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

503 ), 

504 ] = None, 

505 discriminator: Union[str, None] = None, 

506 strict: Union[bool, None] = _Unset, 

507 multiple_of: Union[float, None] = _Unset, 

508 allow_inf_nan: Union[bool, None] = _Unset, 

509 max_digits: Union[int, None] = _Unset, 

510 decimal_places: Union[int, None] = _Unset, 

511 examples: Optional[List[Any]] = None, 

512 example: Annotated[ 

513 Optional[Any], 

514 deprecated( 

515 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

516 "although still supported. Use examples instead." 

517 ), 

518 ] = _Unset, 

519 openapi_examples: Optional[Dict[str, Example]] = None, 

520 deprecated: Union[deprecated, str, bool, None] = None, 

521 include_in_schema: bool = True, 

522 json_schema_extra: Union[Dict[str, Any], None] = None, 

523 **extra: Any, 

524 ): 

525 self.embed = embed 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

526 self.media_type = media_type 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

527 if example is not _Unset: 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

528 warnings.warn( 1fghijklmno

529 "`example` has been deprecated, please use `examples` instead", 

530 category=DeprecationWarning, 

531 stacklevel=4, 

532 ) 

533 self.example = example 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

534 self.include_in_schema = include_in_schema 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

535 self.openapi_examples = openapi_examples 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

536 kwargs = dict( 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

537 default=default, 

538 default_factory=default_factory, 

539 alias=alias, 

540 title=title, 

541 description=description, 

542 gt=gt, 

543 ge=ge, 

544 lt=lt, 

545 le=le, 

546 min_length=min_length, 

547 max_length=max_length, 

548 discriminator=discriminator, 

549 multiple_of=multiple_of, 

550 allow_inf_nan=allow_inf_nan, 

551 max_digits=max_digits, 

552 decimal_places=decimal_places, 

553 **extra, 

554 ) 

555 if examples is not None: 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

556 kwargs["examples"] = examples 1afgbhicjkdlmeno

557 if regex is not None: 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

558 warnings.warn( 112346789#$%'

559 "`regex` has been depreacated, please use `pattern` instead", 

560 category=DeprecationWarning, 

561 stacklevel=4, 

562 ) 

563 current_json_schema_extra = json_schema_extra or extra 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

564 if PYDANTIC_VERSION < "2.7.0": 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

565 self.deprecated = deprecated 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcLcMcNcOcPcQc!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!c#c$c%c'c(c)c#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~cadbdcdddedfd$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAdBdCdDdEdFdGd%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d2d3d4d5d6d7d'h# $ % ' n o 8d9d!dw x y #d$d

566 else: 

567 kwargs["deprecated"] = deprecated 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXhf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h# $ % ' n o 8d9d!dw x y #d$d

568 if PYDANTIC_V2: 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

569 kwargs.update( 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXhf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h# $ % ' n o 8d9d!dw x y #d$d

570 { 

571 "annotation": annotation, 

572 "alias_priority": alias_priority, 

573 "validation_alias": validation_alias, 

574 "serialization_alias": serialization_alias, 

575 "strict": strict, 

576 "json_schema_extra": current_json_schema_extra, 

577 } 

578 ) 

579 kwargs["pattern"] = pattern or regex 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXhf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h# $ % ' n o 8d9d!dw x y #d$d

580 else: 

581 kwargs["regex"] = pattern or regex 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcLcMcNcOcPcQc!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!c#c$c%c'c(c)c#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~cadbdcdddedfd$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAdBdCdDdEdFdGd%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d2d3d4d5d6d7d'h# $ % ' n o 8d9d!dw x y #d$d

582 kwargs.update(**current_json_schema_extra) 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcLcMcNcOcPcQc!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!c#c$c%c'c(c)c#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~cadbdcdddedfd$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAdBdCdDdEdFdGd%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d2d3d4d5d6d7d'h# $ % ' n o 8d9d!dw x y #d$d

583 

584 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

585 

586 super().__init__(**use_kwargs) 2a vcY wcxcyczcAcBcCcDcRbSbEcTbFcGcUbVbWbHcIcJcKcVhWhLcMcNcOcPcQcXh!hf g RcScTcUcb VcZ WcXcYcZc0c1c2c3cXbYb4cZb5c6c0b1b2b7c8c9c!cYhZh#c$c%c'c(c)c0h#hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c3b4b^c5b_c`c6b7b8b{c|c}c~c1h2hadbdcdddedfd3h$h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtd9b!bud#bvdwd$b%b'bxdydzdAd4h5hBdCdDdEdFdGd6h%h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUd(b)bVd*bWdXd+b,b-bYdZd0d1d7h8h2d3d4d5d6d7d9h'h# $ % ' n o 8d9d!dw x y #d$d

587 

588 def __repr__(self) -> str: 1abcde

589 return f"{self.__class__.__name__}({self.default})" 2a vcY wcxcyczcAcBcCcDcIcJcKcVhWhLcMcNcOcPcQcXhf g RcScTcUcb VcZ WcXcYcZc0c1c2c3c8c9c!cYhZh#c$c%c'c(c)c0hh i *c+c,cp -cc .c0 /c:c;c=c?c@c[c]c|c}c~c1h2hadbdcdddedfd3h1 2 3 4 j k gdhdidq r s jdkdd ld5 mdndodpdqdrdsdtdydzdAd4h5hBdCdDdEdFdGd6h6 7 8 9 l m HdIdJdt u v KdLde Md! NdOdPdQdRdSdTdUdZd0d1d7h8h2d3d4d5d6d7d9h# $ % ' n o 8d9d!dw x y #d$d

590 

591 

592class Form(Body): 1abcde

593 def __init__( 1abcde

594 self, 

595 default: Any = Undefined, 

596 *, 

597 default_factory: Union[Callable[[], Any], None] = _Unset, 

598 annotation: Optional[Any] = None, 

599 media_type: str = "application/x-www-form-urlencoded", 

600 alias: Optional[str] = None, 

601 alias_priority: Union[int, None] = _Unset, 

602 # TODO: update when deprecating Pydantic v1, import these types 

603 # validation_alias: str | AliasPath | AliasChoices | None 

604 validation_alias: Union[str, None] = None, 

605 serialization_alias: Union[str, None] = None, 

606 title: Optional[str] = None, 

607 description: Optional[str] = None, 

608 gt: Optional[float] = None, 

609 ge: Optional[float] = None, 

610 lt: Optional[float] = None, 

611 le: Optional[float] = None, 

612 min_length: Optional[int] = None, 

613 max_length: Optional[int] = None, 

614 pattern: Optional[str] = None, 

615 regex: Annotated[ 

616 Optional[str], 

617 deprecated( 

618 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

619 ), 

620 ] = None, 

621 discriminator: Union[str, None] = None, 

622 strict: Union[bool, None] = _Unset, 

623 multiple_of: Union[float, None] = _Unset, 

624 allow_inf_nan: Union[bool, None] = _Unset, 

625 max_digits: Union[int, None] = _Unset, 

626 decimal_places: Union[int, None] = _Unset, 

627 examples: Optional[List[Any]] = None, 

628 example: Annotated[ 

629 Optional[Any], 

630 deprecated( 

631 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

632 "although still supported. Use examples instead." 

633 ), 

634 ] = _Unset, 

635 openapi_examples: Optional[Dict[str, Example]] = None, 

636 deprecated: Union[deprecated, str, bool, None] = None, 

637 include_in_schema: bool = True, 

638 json_schema_extra: Union[Dict[str, Any], None] = None, 

639 **extra: Any, 

640 ): 

641 super().__init__( 2a Y RbSbEcTbFcGcUbVbWbHcb Z XbYb4cZb5c6c0b1b2b7cc 0 3b4b^c5b_c`c6b7b8b{c1 2 3 4 d 5 9b!bud#bvdwd$b%b'bxd6 7 8 9 e ! (b)bVd*bWdXd+b,b-bYd# $ % '

642 default=default, 

643 default_factory=default_factory, 

644 annotation=annotation, 

645 media_type=media_type, 

646 alias=alias, 

647 alias_priority=alias_priority, 

648 validation_alias=validation_alias, 

649 serialization_alias=serialization_alias, 

650 title=title, 

651 description=description, 

652 gt=gt, 

653 ge=ge, 

654 lt=lt, 

655 le=le, 

656 min_length=min_length, 

657 max_length=max_length, 

658 pattern=pattern, 

659 regex=regex, 

660 discriminator=discriminator, 

661 strict=strict, 

662 multiple_of=multiple_of, 

663 allow_inf_nan=allow_inf_nan, 

664 max_digits=max_digits, 

665 decimal_places=decimal_places, 

666 deprecated=deprecated, 

667 example=example, 

668 examples=examples, 

669 openapi_examples=openapi_examples, 

670 include_in_schema=include_in_schema, 

671 json_schema_extra=json_schema_extra, 

672 **extra, 

673 ) 

674 

675 

676class File(Form): 1abcde

677 def __init__( 1abcde

678 self, 

679 default: Any = Undefined, 

680 *, 

681 default_factory: Union[Callable[[], Any], None] = _Unset, 

682 annotation: Optional[Any] = None, 

683 media_type: str = "multipart/form-data", 

684 alias: Optional[str] = None, 

685 alias_priority: Union[int, None] = _Unset, 

686 # TODO: update when deprecating Pydantic v1, import these types 

687 # validation_alias: str | AliasPath | AliasChoices | None 

688 validation_alias: Union[str, None] = None, 

689 serialization_alias: Union[str, None] = None, 

690 title: Optional[str] = None, 

691 description: Optional[str] = None, 

692 gt: Optional[float] = None, 

693 ge: Optional[float] = None, 

694 lt: Optional[float] = None, 

695 le: Optional[float] = None, 

696 min_length: Optional[int] = None, 

697 max_length: Optional[int] = None, 

698 pattern: Optional[str] = None, 

699 regex: Annotated[ 

700 Optional[str], 

701 deprecated( 

702 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." 

703 ), 

704 ] = None, 

705 discriminator: Union[str, None] = None, 

706 strict: Union[bool, None] = _Unset, 

707 multiple_of: Union[float, None] = _Unset, 

708 allow_inf_nan: Union[bool, None] = _Unset, 

709 max_digits: Union[int, None] = _Unset, 

710 decimal_places: Union[int, None] = _Unset, 

711 examples: Optional[List[Any]] = None, 

712 example: Annotated[ 

713 Optional[Any], 

714 deprecated( 

715 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " 

716 "although still supported. Use examples instead." 

717 ), 

718 ] = _Unset, 

719 openapi_examples: Optional[Dict[str, Example]] = None, 

720 deprecated: Union[deprecated, str, bool, None] = None, 

721 include_in_schema: bool = True, 

722 json_schema_extra: Union[Dict[str, Any], None] = None, 

723 **extra: Any, 

724 ): 

725 super().__init__( 2a Y RbSbTbUbVbWbb Z XbYbZb0b1b2bc 0 3b4b5b6b7b8bd 5 9b!b#b$b%b'be ! (b)b*b+b,b-b

726 default=default, 

727 default_factory=default_factory, 

728 annotation=annotation, 

729 media_type=media_type, 

730 alias=alias, 

731 alias_priority=alias_priority, 

732 validation_alias=validation_alias, 

733 serialization_alias=serialization_alias, 

734 title=title, 

735 description=description, 

736 gt=gt, 

737 ge=ge, 

738 lt=lt, 

739 le=le, 

740 min_length=min_length, 

741 max_length=max_length, 

742 pattern=pattern, 

743 regex=regex, 

744 discriminator=discriminator, 

745 strict=strict, 

746 multiple_of=multiple_of, 

747 allow_inf_nan=allow_inf_nan, 

748 max_digits=max_digits, 

749 decimal_places=decimal_places, 

750 deprecated=deprecated, 

751 example=example, 

752 examples=examples, 

753 openapi_examples=openapi_examples, 

754 include_in_schema=include_in_schema, 

755 json_schema_extra=json_schema_extra, 

756 **extra, 

757 ) 

758 

759 

760class Depends: 1abcde

761 def __init__( 1abcde

762 self, dependency: Optional[Callable[..., Any]] = None, *, use_cache: bool = True 

763 ): 

764 self.dependency = dependency 2a ( (h-hb ? )hz .habc bb*hA B C /hmbnbobd pb+hD E F :hAbBbCbe Db,hG H I ;hObPbQb

765 self.use_cache = use_cache 2a ( (h-hb ? )hz .habc bb*hA B C /hmbnbobd pb+hD E F :hAbBbCbe Db,hG H I ;hObPbQb

766 

767 def __repr__(self) -> str: 1abcde

768 attr = getattr(self.dependency, "__name__", type(self.dependency).__name__) 2(h)h*h+h,h

769 cache = "" if self.use_cache else ", use_cache=False" 2(h)h*h+h,h

770 return f"{self.__class__.__name__}({attr}{cache})" 2(h)h*h+h,h

771 

772 

773class Security(Depends): 1abcde

774 def __init__( 1abcde

775 self, 

776 dependency: Optional[Callable[..., Any]] = None, 

777 *, 

778 scopes: Optional[Sequence[str]] = None, 

779 use_cache: bool = True, 

780 ): 

781 super().__init__(dependency=dependency, use_cache=use_cache) 1abcde

782 self.scopes = scopes or [] 1abcde