Coverage for fastapi/params.py: 100%
103 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-09-06 16:22 +0000
« 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
5from fastapi.openapi.models import Example 1abcde
6from pydantic.fields import FieldInfo 1abcde
7from typing_extensions import Annotated, deprecated 1abcde
9from ._compat import PYDANTIC_V2, PYDANTIC_VERSION, Undefined 1abcde
11_Unset: Any = Undefined 1abcde
14class ParamTypes(Enum): 1abcde
15 query = "query" 1abcde
16 header = "header" 1abcde
17 path = "path" 1abcde
18 cookie = "cookie" 1abcde
21class Param(FieldInfo): 1abcde
22 in_: ParamTypes 1abcde
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
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
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
135class Path(Param): 1abcde
136 in_ = ParamTypes.path 1abcde
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 )
221class Query(Param): 1abcde
222 in_ = ParamTypes.query 1abcde
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 )
305class Header(Param): 1abcde
306 in_ = ParamTypes.header 1abcde
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 )
391class Cookie(Param): 1abcde
392 in_ = ParamTypes.cookie 1abcde
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 )
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
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
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
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
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 )
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 )
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
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
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