fastapi 0.115.4__py3-none-any.whl → 0.115.6__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.115.4"
3
+ __version__ = "0.115.6"
4
4
 
5
5
  from starlette import status as status
6
6
 
fastapi/_compat.py CHANGED
@@ -21,13 +21,12 @@ from typing import (
21
21
  from fastapi.exceptions import RequestErrorModel
22
22
  from fastapi.types import IncEx, ModelNameMap, UnionType
23
23
  from pydantic import BaseModel, create_model
24
- from pydantic.version import VERSION as P_VERSION
24
+ from pydantic.version import VERSION as PYDANTIC_VERSION
25
25
  from starlette.datastructures import UploadFile
26
26
  from typing_extensions import Annotated, Literal, get_args, get_origin
27
27
 
28
- # Reassign variable to make it reexported for mypy
29
- PYDANTIC_VERSION = P_VERSION
30
- PYDANTIC_V2 = PYDANTIC_VERSION.startswith("2.")
28
+ PYDANTIC_VERSION_MINOR_TUPLE = tuple(int(x) for x in PYDANTIC_VERSION.split(".")[:2])
29
+ PYDANTIC_V2 = PYDANTIC_VERSION_MINOR_TUPLE[0] == 2
31
30
 
32
31
 
33
32
  sequence_annotation_to_type = {
@@ -46,6 +45,8 @@ sequence_annotation_to_type = {
46
45
 
47
46
  sequence_types = tuple(sequence_annotation_to_type.keys())
48
47
 
48
+ Url: Type[Any]
49
+
49
50
  if PYDANTIC_V2:
50
51
  from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError
51
52
  from pydantic import TypeAdapter
fastapi/concurrency.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from contextlib import asynccontextmanager as asynccontextmanager
2
2
  from typing import AsyncGenerator, ContextManager, TypeVar
3
3
 
4
- import anyio
4
+ import anyio.to_thread
5
5
  from anyio import CapacityLimiter
6
6
  from starlette.concurrency import iterate_in_threadpool as iterate_in_threadpool # noqa
7
7
  from starlette.concurrency import run_in_threadpool as run_in_threadpool # noqa
@@ -28,7 +28,7 @@ async def contextmanager_in_threadpool(
28
28
  except Exception as e:
29
29
  ok = bool(
30
30
  await anyio.to_thread.run_sync(
31
- cm.__exit__, type(e), e, None, limiter=exit_limiter
31
+ cm.__exit__, type(e), e, e.__traceback__, limiter=exit_limiter
32
32
  )
33
33
  )
34
34
  if not ok:
fastapi/params.py CHANGED
@@ -6,7 +6,11 @@ from fastapi.openapi.models import Example
6
6
  from pydantic.fields import FieldInfo
7
7
  from typing_extensions import Annotated, deprecated
8
8
 
9
- from ._compat import PYDANTIC_V2, PYDANTIC_VERSION, Undefined
9
+ from ._compat import (
10
+ PYDANTIC_V2,
11
+ PYDANTIC_VERSION_MINOR_TUPLE,
12
+ Undefined,
13
+ )
10
14
 
11
15
  _Unset: Any = Undefined
12
16
 
@@ -105,7 +109,7 @@ class Param(FieldInfo):
105
109
  stacklevel=4,
106
110
  )
107
111
  current_json_schema_extra = json_schema_extra or extra
108
- if PYDANTIC_VERSION < "2.7.0":
112
+ if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7):
109
113
  self.deprecated = deprecated
110
114
  else:
111
115
  kwargs["deprecated"] = deprecated
@@ -561,7 +565,7 @@ class Body(FieldInfo):
561
565
  stacklevel=4,
562
566
  )
563
567
  current_json_schema_extra = json_schema_extra or extra
564
- if PYDANTIC_VERSION < "2.7.0":
568
+ if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7):
565
569
  self.deprecated = deprecated
566
570
  else:
567
571
  kwargs["deprecated"] = deprecated
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastapi
3
- Version: 0.115.4
3
+ Version: 0.115.6
4
4
  Summary: FastAPI framework, high performance, easy to learn, fast to code, ready for production
5
5
  Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
6
6
  Classifier: Intended Audience :: Information Technology
@@ -119,6 +119,7 @@ The key features are:
119
119
  <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>
120
120
  <a href="https://zuplo.link/fastapi-gh" target="_blank" title="Zuplo: Scale, Protect, Document, and Monetize your FastAPI"><img src="https://fastapi.tiangolo.com/img/sponsors/zuplo.png"></a>
121
121
  <a href="https://liblab.com?utm_source=fastapi" target="_blank" title="liblab - Generate SDKs from FastAPI"><img src="https://fastapi.tiangolo.com/img/sponsors/liblab.png"></a>
122
+ <a href="https://docs.render.com/deploy-fastapi?utm_source=deploydoc&utm_medium=referral&utm_campaign=fastapi" target="_blank" title="Deploy & scale any full-stack web app on Render. Focus on building apps, not infra."><img src="https://fastapi.tiangolo.com/img/sponsors/render.svg"></a>
122
123
  <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>
123
124
  <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>
124
125
  <a href="https://speakeasy.com?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>
@@ -1,14 +1,14 @@
1
- fastapi-0.115.4.dist-info/METADATA,sha256=KnoTAPMMRkephxMjztN6CFY45zbwppVFbYfmPiDslFk,27012
2
- fastapi-0.115.4.dist-info/WHEEL,sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4,90
3
- fastapi-0.115.4.dist-info/entry_points.txt,sha256=GCf-WbIZxyGT4MUmrPGj1cOHYZoGsNPHAvNkT6hnGeA,61
4
- fastapi-0.115.4.dist-info/licenses/LICENSE,sha256=Tsif_IFIW5f-xYSy1KlhAy7v_oNEU4lP2cEnSQbMdE4,1086
5
- fastapi/__init__.py,sha256=ONhijU-6VwSQHPiCIf4ysFcBLvxRaCDICA0ZyakjVuA,1081
1
+ fastapi-0.115.6.dist-info/METADATA,sha256=hkiGasWTGPXPzJYtw94H6jEmzovXW1eQtyrAl3mLy18,27300
2
+ fastapi-0.115.6.dist-info/WHEEL,sha256=thaaA2w1JzcGC48WYufAs8nrYZjJm8LqNfnXFOFyCC4,90
3
+ fastapi-0.115.6.dist-info/entry_points.txt,sha256=GCf-WbIZxyGT4MUmrPGj1cOHYZoGsNPHAvNkT6hnGeA,61
4
+ fastapi-0.115.6.dist-info/licenses/LICENSE,sha256=Tsif_IFIW5f-xYSy1KlhAy7v_oNEU4lP2cEnSQbMdE4,1086
5
+ fastapi/__init__.py,sha256=uCwGoex-Lb7tS-9FjZ8q035mrHVcjn_0yfCMPlq6BRI,1081
6
6
  fastapi/__main__.py,sha256=bKePXLdO4SsVSM6r9SVoLickJDcR2c0cTOxZRKq26YQ,37
7
- fastapi/_compat.py,sha256=GJTevkAENKrvtvAGL3zDEmzlXaX9EjFzyRPtSfVRCKs,23921
7
+ fastapi/_compat.py,sha256=Rg7kA7uue4Z6yr8T7hf8b7G6PeC_06mK004Nnykijfk,23953
8
8
  fastapi/applications.py,sha256=Ix-o9pQAWhEDf9J0Q1hZ0nBB1uP72c-Y3oiYzvrwqiM,176316
9
9
  fastapi/background.py,sha256=rouLirxUANrcYC824MSMypXL_Qb2HYg2YZqaiEqbEKI,1768
10
10
  fastapi/cli.py,sha256=OYhZb0NR_deuT5ofyPF2NoNBzZDNOP8Salef2nk-HqA,418
11
- fastapi/concurrency.py,sha256=AYLnS4judDUmXsNRICtoKSP0prfYDcS8ehBtYW9JhQQ,1403
11
+ fastapi/concurrency.py,sha256=MirfowoSpkMQZ8j_g0ZxaQKpV6eB3G-dB5TgcXCrgEA,1424
12
12
  fastapi/datastructures.py,sha256=b2PEz77XGq-u3Ur1Inwk0AGjOsQZO49yF9C7IPJ15cY,5766
13
13
  fastapi/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  fastapi/dependencies/models.py,sha256=Pjl6vx-4nZ5Tta9kJa3-RfQKkXtCpS09-FhMgs9eWNs,1507
@@ -29,7 +29,7 @@ fastapi/openapi/docs.py,sha256=XcQq-ZbQdC5sI0gIGu5MoHK1q-OFaqws7-ORTo6sjY4,10348
29
29
  fastapi/openapi/models.py,sha256=PqkxQiqcEgjKuhfUIWPZPQcyTcubtUCB3vcObLsB7VE,15397
30
30
  fastapi/openapi/utils.py,sha256=vpbAzWpuNaJL_ocBxt4jp0GUUwrDKNB1anyoAx69fhA,23177
31
31
  fastapi/param_functions.py,sha256=JHNPLIYvoAwdnZZavIVsxOat8x23fX_Kl33reh7HKl8,64019
32
- fastapi/params.py,sha256=XC025dCSObp7fXhOPYo-jwXQRGZ9CwlfNRq2cLh_dRk,28186
32
+ fastapi/params.py,sha256=g450axUBQgQJODdtM7WBxZbQj9Z64inFvadrgHikBbU,28237
33
33
  fastapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  fastapi/requests.py,sha256=zayepKFcienBllv3snmWI20Gk0oHNVLU4DDhqXBb4LU,142
35
35
  fastapi/responses.py,sha256=QNQQlwpKhQoIPZTTWkpc9d_QGeGZ_aVQPaDV3nQ8m7c,1761
@@ -47,4 +47,4 @@ fastapi/testclient.py,sha256=nBvaAmX66YldReJNZXPOk1sfuo2Q6hs8bOvIaCep6LQ,66
47
47
  fastapi/types.py,sha256=nFb36sK3DSoqoyo7Miwy3meKK5UdFBgkAgLSzQlUVyI,383
48
48
  fastapi/utils.py,sha256=y8Bj5ttMaI9tS4D60OUgXqKnktBr99NdYUnHHV9LgoY,7948
49
49
  fastapi/websockets.py,sha256=419uncYObEKZG0YcrXscfQQYLSWoE10jqxVMetGdR98,222
50
- fastapi-0.115.4.dist-info/RECORD,,
50
+ fastapi-0.115.6.dist-info/RECORD,,