fastapi 0.110.0__py3-none-any.whl → 0.110.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fastapi might be problematic. Click here for more details.

fastapi/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """FastAPI framework, high performance, easy to learn, fast to code, ready for production"""
2
2
 
3
- __version__ = "0.110.0"
3
+ __version__ = "0.110.1"
4
4
 
5
5
  from starlette import status as status
6
6
 
fastapi/applications.py CHANGED
@@ -40,7 +40,7 @@ from starlette.requests import Request
40
40
  from starlette.responses import HTMLResponse, JSONResponse, Response
41
41
  from starlette.routing import BaseRoute
42
42
  from starlette.types import ASGIApp, Lifespan, Receive, Scope, Send
43
- from typing_extensions import Annotated, Doc, deprecated # type: ignore [attr-defined]
43
+ from typing_extensions import Annotated, Doc, deprecated
44
44
 
45
45
  AppType = TypeVar("AppType", bound="FastAPI")
46
46
 
@@ -1019,7 +1019,7 @@ class FastAPI(Starlette):
1019
1019
  oauth2_redirect_url = root_path + oauth2_redirect_url
1020
1020
  return get_swagger_ui_html(
1021
1021
  openapi_url=openapi_url,
1022
- title=self.title + " - Swagger UI",
1022
+ title=f"{self.title} - Swagger UI",
1023
1023
  oauth2_redirect_url=oauth2_redirect_url,
1024
1024
  init_oauth=self.swagger_ui_init_oauth,
1025
1025
  swagger_ui_parameters=self.swagger_ui_parameters,
@@ -1043,7 +1043,7 @@ class FastAPI(Starlette):
1043
1043
  root_path = req.scope.get("root_path", "").rstrip("/")
1044
1044
  openapi_url = root_path + self.openapi_url
1045
1045
  return get_redoc_html(
1046
- openapi_url=openapi_url, title=self.title + " - ReDoc"
1046
+ openapi_url=openapi_url, title=f"{self.title} - ReDoc"
1047
1047
  )
1048
1048
 
1049
1049
  self.add_route(self.redoc_url, redoc_html, include_in_schema=False)
fastapi/background.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from typing import Any, Callable
2
2
 
3
3
  from starlette.background import BackgroundTasks as StarletteBackgroundTasks
4
- from typing_extensions import Annotated, Doc, ParamSpec # type: ignore [attr-defined]
4
+ from typing_extensions import Annotated, Doc, ParamSpec
5
5
 
6
6
  P = ParamSpec("P")
7
7
 
fastapi/datastructures.py CHANGED
@@ -24,7 +24,7 @@ from starlette.datastructures import Headers as Headers # noqa: F401
24
24
  from starlette.datastructures import QueryParams as QueryParams # noqa: F401
25
25
  from starlette.datastructures import State as State # noqa: F401
26
26
  from starlette.datastructures import UploadFile as StarletteUploadFile
27
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
27
+ from typing_extensions import Annotated, Doc
28
28
 
29
29
 
30
30
  class UploadFile(StarletteUploadFile):
@@ -1,6 +1,6 @@
1
1
  import inspect
2
2
  from contextlib import AsyncExitStack, contextmanager
3
- from copy import deepcopy
3
+ from copy import copy, deepcopy
4
4
  from typing import (
5
5
  Any,
6
6
  Callable,
@@ -384,6 +384,8 @@ def analyze_param(
384
384
  field_info.annotation = type_annotation
385
385
 
386
386
  if depends is not None and depends.dependency is None:
387
+ # Copy `depends` before mutating it
388
+ depends = copy(depends)
387
389
  depends.dependency = type_annotation
388
390
 
389
391
  if lenient_issubclass(
@@ -743,7 +745,7 @@ async def request_body_to_args(
743
745
  results: List[Union[bytes, str]] = []
744
746
 
745
747
  async def process_fn(
746
- fn: Callable[[], Coroutine[Any, Any, Any]]
748
+ fn: Callable[[], Coroutine[Any, Any, Any]],
747
749
  ) -> None:
748
750
  result = await fn()
749
751
  results.append(result) # noqa: B023
fastapi/encoders.py CHANGED
@@ -22,7 +22,7 @@ from pydantic import BaseModel
22
22
  from pydantic.color import Color
23
23
  from pydantic.networks import AnyUrl, NameEmail
24
24
  from pydantic.types import SecretBytes, SecretStr
25
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
25
+ from typing_extensions import Annotated, Doc
26
26
 
27
27
  from ._compat import PYDANTIC_V2, Url, _model_dump
28
28
 
@@ -86,7 +86,7 @@ ENCODERS_BY_TYPE: Dict[Type[Any], Callable[[Any], Any]] = {
86
86
 
87
87
 
88
88
  def generate_encoders_by_class_tuples(
89
- type_encoder_map: Dict[Any, Callable[[Any], Any]]
89
+ type_encoder_map: Dict[Any, Callable[[Any], Any]],
90
90
  ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]:
91
91
  encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(
92
92
  tuple
fastapi/exceptions.py CHANGED
@@ -3,7 +3,7 @@ from typing import Any, Dict, Optional, Sequence, Type, Union
3
3
  from pydantic import BaseModel, create_model
4
4
  from starlette.exceptions import HTTPException as StarletteHTTPException
5
5
  from starlette.exceptions import WebSocketException as StarletteWebSocketException
6
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
6
+ from typing_extensions import Annotated, Doc
7
7
 
8
8
 
9
9
  class HTTPException(StarletteHTTPException):
fastapi/openapi/docs.py CHANGED
@@ -3,7 +3,7 @@ from typing import Any, Dict, Optional
3
3
 
4
4
  from fastapi.encoders import jsonable_encoder
5
5
  from starlette.responses import HTMLResponse
6
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
6
+ from typing_extensions import Annotated, Doc
7
7
 
8
8
  swagger_ui_default_parameters: Annotated[
9
9
  Dict[str, Any],
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict, List, Optional, Sequence, Union
3
3
  from fastapi import params
4
4
  from fastapi._compat import Undefined
5
5
  from fastapi.openapi.models import Example
6
- from typing_extensions import Annotated, Doc, deprecated # type: ignore [attr-defined]
6
+ from typing_extensions import Annotated, Doc, deprecated
7
7
 
8
8
  _Unset: Any = Undefined
9
9
 
fastapi/routing.py CHANGED
@@ -69,7 +69,7 @@ from starlette.routing import (
69
69
  from starlette.routing import Mount as Mount # noqa
70
70
  from starlette.types import ASGIApp, Lifespan, Scope
71
71
  from starlette.websockets import WebSocket
72
- from typing_extensions import Annotated, Doc, deprecated # type: ignore [attr-defined]
72
+ from typing_extensions import Annotated, Doc, deprecated
73
73
 
74
74
 
75
75
  def _prepare_response_content(
@@ -5,7 +5,7 @@ from fastapi.security.base import SecurityBase
5
5
  from starlette.exceptions import HTTPException
6
6
  from starlette.requests import Request
7
7
  from starlette.status import HTTP_403_FORBIDDEN
8
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
8
+ from typing_extensions import Annotated, Doc
9
9
 
10
10
 
11
11
  class APIKeyBase(SecurityBase):
fastapi/security/http.py CHANGED
@@ -10,7 +10,7 @@ from fastapi.security.utils import get_authorization_scheme_param
10
10
  from pydantic import BaseModel
11
11
  from starlette.requests import Request
12
12
  from starlette.status import HTTP_401_UNAUTHORIZED, HTTP_403_FORBIDDEN
13
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
13
+ from typing_extensions import Annotated, Doc
14
14
 
15
15
 
16
16
  class HTTPBasicCredentials(BaseModel):
@@ -10,7 +10,7 @@ from starlette.requests import Request
10
10
  from starlette.status import HTTP_401_UNAUTHORIZED, HTTP_403_FORBIDDEN
11
11
 
12
12
  # TODO: import from typing when deprecating Python 3.9
13
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
13
+ from typing_extensions import Annotated, Doc
14
14
 
15
15
 
16
16
  class OAuth2PasswordRequestForm:
@@ -54,7 +54,7 @@ class OAuth2PasswordRequestForm:
54
54
  Note that for OAuth2 the scope `items:read` is a single scope in an opaque string.
55
55
  You could have custom internal logic to separate it by colon caracters (`:`) or
56
56
  similar, and get the two parts `items` and `read`. Many applications do that to
57
- group and organize permisions, you could do it as well in your application, just
57
+ group and organize permissions, you could do it as well in your application, just
58
58
  know that that it is application specific, it's not part of the specification.
59
59
  """
60
60
 
@@ -196,7 +196,7 @@ class OAuth2PasswordRequestFormStrict(OAuth2PasswordRequestForm):
196
196
  Note that for OAuth2 the scope `items:read` is a single scope in an opaque string.
197
197
  You could have custom internal logic to separate it by colon caracters (`:`) or
198
198
  similar, and get the two parts `items` and `read`. Many applications do that to
199
- group and organize permisions, you could do it as well in your application, just
199
+ group and organize permissions, you could do it as well in your application, just
200
200
  know that that it is application specific, it's not part of the specification.
201
201
 
202
202
 
@@ -441,7 +441,7 @@ class OAuth2PasswordBearer(OAuth2):
441
441
  bool,
442
442
  Doc(
443
443
  """
444
- By default, if no HTTP Auhtorization header is provided, required for
444
+ By default, if no HTTP Authorization header is provided, required for
445
445
  OAuth2 authentication, it will automatically cancel the request and
446
446
  send the client an error.
447
447
 
@@ -543,7 +543,7 @@ class OAuth2AuthorizationCodeBearer(OAuth2):
543
543
  bool,
544
544
  Doc(
545
545
  """
546
- By default, if no HTTP Auhtorization header is provided, required for
546
+ By default, if no HTTP Authorization header is provided, required for
547
547
  OAuth2 authentication, it will automatically cancel the request and
548
548
  send the client an error.
549
549
 
@@ -5,7 +5,7 @@ from fastapi.security.base import SecurityBase
5
5
  from starlette.exceptions import HTTPException
6
6
  from starlette.requests import Request
7
7
  from starlette.status import HTTP_403_FORBIDDEN
8
- from typing_extensions import Annotated, Doc # type: ignore [attr-defined]
8
+ from typing_extensions import Annotated, Doc
9
9
 
10
10
 
11
11
  class OpenIdConnect(SecurityBase):
@@ -49,7 +49,7 @@ class OpenIdConnect(SecurityBase):
49
49
  bool,
50
50
  Doc(
51
51
  """
52
- By default, if no HTTP Auhtorization header is provided, required for
52
+ By default, if no HTTP Authorization header is provided, required for
53
53
  OpenID Connect authentication, it will automatically cancel the request
54
54
  and send the client an error.
55
55
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: fastapi
3
- Version: 0.110.0
3
+ Version: 0.110.1
4
4
  Summary: FastAPI framework, high performance, easy to learn, fast to code, ready for production
5
5
  Project-URL: Homepage, https://github.com/tiangolo/fastapi
6
6
  Project-URL: Documentation, https://fastapi.tiangolo.com/
@@ -37,7 +37,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
37
37
  Classifier: Typing :: Typed
38
38
  Requires-Python: >=3.8
39
39
  Requires-Dist: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4
40
- Requires-Dist: starlette<0.37.0,>=0.36.3
40
+ Requires-Dist: starlette<0.38.0,>=0.37.2
41
41
  Requires-Dist: typing-extensions>=4.8.0
42
42
  Provides-Extra: all
43
43
  Requires-Dist: email-validator>=2.0.0; extra == 'all'
@@ -109,10 +109,9 @@ The key features are:
109
109
  <a href="https://github.com/scalar/scalar/?utm_source=fastapi&utm_medium=website&utm_campaign=main-badge" target="_blank" title="Scalar: Beautiful Open-Source API References from Swagger/OpenAPI files"><img src="https://fastapi.tiangolo.com/img/sponsors/scalar.svg"></a>
110
110
  <a href="https://www.propelauth.com/?utm_source=fastapi&utm_campaign=1223&utm_medium=mainbadge" target="_blank" title="Auth, user management and more for your B2B product"><img src="https://fastapi.tiangolo.com/img/sponsors/propelauth.png"></a>
111
111
  <a href="https://www.withcoherence.com/?utm_medium=advertising&utm_source=fastapi&utm_campaign=banner%20january%2024" target="_blank" title="Coherence"><img src="https://fastapi.tiangolo.com/img/sponsors/coherence.png"></a>
112
+ <a href="https://www.mongodb.com/developer/languages/python/python-quickstart-fastapi/?utm_campaign=fastapi_framework&utm_source=fastapi_sponsorship&utm_medium=web_referral" target="_blank" title="Simplify Full Stack Development with FastAPI & MongoDB"><img src="https://fastapi.tiangolo.com/img/sponsors/mongodb.png"></a>
112
113
  <a href="https://training.talkpython.fm/fastapi-courses" target="_blank" title="FastAPI video courses on demand from people you trust"><img src="https://fastapi.tiangolo.com/img/sponsors/talkpython-v2.jpg"></a>
113
- <a href="https://testdriven.io/courses/tdd-fastapi/" target="_blank" title="Learn to build high-quality web apps with best practices"><img src="https://fastapi.tiangolo.com/img/sponsors/testdriven.svg"></a>
114
114
  <a href="https://github.com/deepset-ai/haystack/" target="_blank" title="Build powerful search from composable, open source building blocks"><img src="https://fastapi.tiangolo.com/img/sponsors/haystack-fastapi.svg"></a>
115
- <a href="https://careers.powens.com/" target="_blank" title="Powens is hiring!"><img src="https://fastapi.tiangolo.com/img/sponsors/powens.png"></a>
116
115
  <a href="https://databento.com/" target="_blank" title="Pay as you go for market data"><img src="https://fastapi.tiangolo.com/img/sponsors/databento.svg"></a>
117
116
  <a href="https://speakeasyapi.dev?utm_source=fastapi+repo&utm_medium=github+sponsorship" target="_blank" title="SDKs for your API | Speakeasy"><img src="https://fastapi.tiangolo.com/img/sponsors/speakeasy.png"></a>
118
117
  <a href="https://www.svix.com/" target="_blank" title="Svix - Webhooks as a service"><img src="https://fastapi.tiangolo.com/img/sponsors/svix.svg"></a>
@@ -183,7 +182,7 @@ Python 3.8+
183
182
  FastAPI stands on the shoulders of giants:
184
183
 
185
184
  * <a href="https://www.starlette.io/" class="external-link" target="_blank">Starlette</a> for the web parts.
186
- * <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">Pydantic</a> for the data parts.
185
+ * <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> for the data parts.
187
186
 
188
187
  ## Installation
189
188
 
@@ -516,7 +515,7 @@ Used by Starlette:
516
515
 
517
516
  * <a href="https://www.python-httpx.org" target="_blank"><code>httpx</code></a> - Required if you want to use the `TestClient`.
518
517
  * <a href="https://jinja.palletsprojects.com" target="_blank"><code>jinja2</code></a> - Required if you want to use the default template configuration.
519
- * <a href="https://andrew-d.github.io/python-multipart/" target="_blank"><code>python-multipart</code></a> - Required if you want to support form <abbr title="converting the string that comes from an HTTP request into Python data">"parsing"</abbr>, with `request.form()`.
518
+ * <a href="https://github.com/Kludex/python-multipart" target="_blank"><code>python-multipart</code></a> - Required if you want to support form <abbr title="converting the string that comes from an HTTP request into Python data">"parsing"</abbr>, with `request.form()`.
520
519
  * <a href="https://pythonhosted.org/itsdangerous/" target="_blank"><code>itsdangerous</code></a> - Required for `SessionMiddleware` support.
521
520
  * <a href="https://pyyaml.org/wiki/PyYAMLDocumentation" target="_blank"><code>pyyaml</code></a> - Required for Starlette's `SchemaGenerator` support (you probably don't need it with FastAPI).
522
521
  * <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
@@ -1,19 +1,19 @@
1
- fastapi/__init__.py,sha256=PgUC06wUNNOnq94Ga5VTwCxOGLenuf49PqoERpG_R5k,1081
1
+ fastapi/__init__.py,sha256=1TIwvzs3NSS3SQGExm8yD2CgWyHOHf0zsBpPY6kf434,1081
2
2
  fastapi/_compat.py,sha256=i_LwkpFVbNCuraFRbc1UmNNocX63BAwjjBXgF59JJVQ,23027
3
- fastapi/applications.py,sha256=raHUDIrVDjV0Q40S-Zjzjdp_vPGKZmXHfY8TIC8gVSU,176373
4
- fastapi/background.py,sha256=F1tsrJKfDZaRchNgF9ykB2PcRaPBJTbL4htN45TJAIc,1799
3
+ fastapi/applications.py,sha256=owRSmdslsJhJCDxxatkfMdewlaiE-9DPbwQ7alyexgU,176342
4
+ fastapi/background.py,sha256=rouLirxUANrcYC824MSMypXL_Qb2HYg2YZqaiEqbEKI,1768
5
5
  fastapi/concurrency.py,sha256=AYLnS4judDUmXsNRICtoKSP0prfYDcS8ehBtYW9JhQQ,1403
6
- fastapi/datastructures.py,sha256=FF1s2g6cAQ5XxlNToB3scgV94Zf3DjdzcaI7ToaTrmg,5797
7
- fastapi/encoders.py,sha256=90lbmIW8NZjpPVzbgKhpY49B7TFqa7hrdQDQa70SM9U,11024
6
+ fastapi/datastructures.py,sha256=b2PEz77XGq-u3Ur1Inwk0AGjOsQZO49yF9C7IPJ15cY,5766
7
+ fastapi/encoders.py,sha256=WHaTCzLqLl7fLW9cmdPWSmr7FGREToBrYKVHv18lfxM,10994
8
8
  fastapi/exception_handlers.py,sha256=MBrIOA-ugjJDivIi4rSsUJBdTsjuzN76q4yh0q1COKw,1332
9
- fastapi/exceptions.py,sha256=SQsPxq-QYBZUhq6L4K3B3W7gaSD3Gub2f17erStRagY,5000
9
+ fastapi/exceptions.py,sha256=taNixuFEXb67lI1bnX1ubq8y8TseJ4yoPlWjyP0fTzk,4969
10
10
  fastapi/logger.py,sha256=I9NNi3ov8AcqbsbC9wl1X-hdItKgYt2XTrx1f99Zpl4,54
11
- fastapi/param_functions.py,sha256=VWEsJbkH8lJZgcJ6fI6uzquui1kgHrDv1i_wXM7cW3M,63896
11
+ fastapi/param_functions.py,sha256=nz8maacuwRVLGjnjBD3thpn40mp8IKs0lCeKmxrbw24,63865
12
12
  fastapi/params.py,sha256=LzjihAvODd3w7-GddraUyVtH1xfwR9smIoQn-Z_g4mg,27807
13
13
  fastapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  fastapi/requests.py,sha256=zayepKFcienBllv3snmWI20Gk0oHNVLU4DDhqXBb4LU,142
15
15
  fastapi/responses.py,sha256=QNQQlwpKhQoIPZTTWkpc9d_QGeGZ_aVQPaDV3nQ8m7c,1761
16
- fastapi/routing.py,sha256=KCElIxujAST1KtnzRYtpCdETQTZsws3MhwbI05ZSEfY,174181
16
+ fastapi/routing.py,sha256=dcQBjxUsO9KT0pmp1ewJzM8qD3wjcZi1BrnyyqYELoE,174150
17
17
  fastapi/staticfiles.py,sha256=iirGIt3sdY2QZXd36ijs3Cj-T0FuGFda3cd90kM9Ikw,69
18
18
  fastapi/templating.py,sha256=4zsuTWgcjcEainMJFAlW6-gnslm6AgOS1SiiDWfmQxk,76
19
19
  fastapi/testclient.py,sha256=nBvaAmX66YldReJNZXPOk1sfuo2Q6hs8bOvIaCep6LQ,66
@@ -22,7 +22,7 @@ fastapi/utils.py,sha256=LNep9q7ZeTQqK9-KvagV5CWn48KXwExnZGSpDsXT_Tg,8204
22
22
  fastapi/websockets.py,sha256=419uncYObEKZG0YcrXscfQQYLSWoE10jqxVMetGdR98,222
23
23
  fastapi/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  fastapi/dependencies/models.py,sha256=-n-YCxzgVBkurQi49qOTooT71v_oeAhHJ-qQFonxh5o,2494
25
- fastapi/dependencies/utils.py,sha256=IUY-uZmp56BUZuEiHtTQT0iGNF5ASIst7AzFMzA_As8,30158
25
+ fastapi/dependencies/utils.py,sha256=rynOrwW6BKSv0bTVDCY1ag4kRsOzJwmmzO31sRKsTzA,30241
26
26
  fastapi/middleware/__init__.py,sha256=oQDxiFVcc1fYJUOIFvphnK7pTT5kktmfL32QXpBFvvo,58
27
27
  fastapi/middleware/cors.py,sha256=ynwjWQZoc_vbhzZ3_ZXceoaSrslHFHPdoM52rXr0WUU,79
28
28
  fastapi/middleware/gzip.py,sha256=xM5PcsH8QlAimZw4VDvcmTnqQamslThsfe3CVN2voa0,79
@@ -31,17 +31,17 @@ fastapi/middleware/trustedhost.py,sha256=eE5XGRxGa7c5zPnMJDGp3BxaL25k5iVQlhnv-Pk
31
31
  fastapi/middleware/wsgi.py,sha256=Z3Ue-7wni4lUZMvH3G9ek__acgYdJstbnpZX_HQAboY,79
32
32
  fastapi/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  fastapi/openapi/constants.py,sha256=adGzmis1L1HJRTE3kJ5fmHS_Noq6tIY6pWv_SFzoFDU,153
34
- fastapi/openapi/docs.py,sha256=Fo_SGB0eEfGvlNLqP-w_jgYifmHTe-3LbO_qC-ncFVY,10387
34
+ fastapi/openapi/docs.py,sha256=INQd4dFFyOwckrtlrkMbWzsyI1a4wvz8c7S_u0vYgOo,10356
35
35
  fastapi/openapi/models.py,sha256=DEmsWA-9sNqv2H4YneZUW86r1nMwD920EiTvan5kndI,17763
36
36
  fastapi/openapi/utils.py,sha256=PUuz_ISarHVPBRyIgfyHz8uwH0eEsDY3rJUfW__I9GI,22303
37
37
  fastapi/security/__init__.py,sha256=bO8pNmxqVRXUjfl2mOKiVZLn0FpBQ61VUYVjmppnbJw,881
38
- fastapi/security/api_key.py,sha256=bcZbUzTqeR_CI_LXuJdDq1qL322kmhgy5ApOCqgGDi4,9399
38
+ fastapi/security/api_key.py,sha256=1MwaTMyqmRh0nIIDICsP6iG9Rdwbzh-BG0SFWKRc8no,9368
39
39
  fastapi/security/base.py,sha256=dl4pvbC-RxjfbWgPtCWd8MVU-7CB2SZ22rJDXVCXO6c,141
40
- fastapi/security/http.py,sha256=_YdhSRRUCGydVDUILygWg0VlkPA28t_gjcy_axD3eOk,13537
41
- fastapi/security/oauth2.py,sha256=WMkFMfgvOJdu5JT4RrdXS5TWMq6yD-vZXIHST3cHVng,21612
42
- fastapi/security/open_id_connect_url.py,sha256=Mb8wFxrRh4CrsFW0RcjBEQLASPHGDtZRP6c2dCrspAg,2753
40
+ fastapi/security/http.py,sha256=Cb7DbOPWpnzvKZTwCdxWRXxa2txZBdeeAdT0tlRdQgY,13506
41
+ fastapi/security/oauth2.py,sha256=lWemX4CLAvanR6-jiQxFtOyHjHbzEnNbpytA_WXgZcw,21583
42
+ fastapi/security/open_id_connect_url.py,sha256=8vizZ2tGqEp1ur8SwtVgyHJhGAJ5AqahgcvSpaIioDI,2722
43
43
  fastapi/security/utils.py,sha256=bd8T0YM7UQD5ATKucr1bNtAvz_Y3__dVNAv5UebiPvc,293
44
- fastapi-0.110.0.dist-info/METADATA,sha256=Ebx69fGhG8p3peZoASK8c9gbsL6qPaIz6JnxTG4vr8Q,25011
45
- fastapi-0.110.0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
46
- fastapi-0.110.0.dist-info/licenses/LICENSE,sha256=Tsif_IFIW5f-xYSy1KlhAy7v_oNEU4lP2cEnSQbMdE4,1086
47
- fastapi-0.110.0.dist-info/RECORD,,
44
+ fastapi-0.110.1.dist-info/METADATA,sha256=aOPlukMP9l1KQLsvqnZN053v4lVrFxjNnKvDKTJ_Rtk,24966
45
+ fastapi-0.110.1.dist-info/WHEEL,sha256=uNdcs2TADwSd5pVaP0Z_kcjcvvTUklh2S7bxZMF8Uj0,87
46
+ fastapi-0.110.1.dist-info/licenses/LICENSE,sha256=Tsif_IFIW5f-xYSy1KlhAy7v_oNEU4lP2cEnSQbMdE4,1086
47
+ fastapi-0.110.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.21.1
2
+ Generator: hatchling 1.22.4
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any