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 +1 -1
- fastapi/_compat.py +5 -4
- fastapi/concurrency.py +2 -2
- fastapi/params.py +7 -3
- {fastapi-0.115.4.dist-info → fastapi-0.115.6.dist-info}/METADATA +2 -1
- {fastapi-0.115.4.dist-info → fastapi-0.115.6.dist-info}/RECORD +9 -9
- {fastapi-0.115.4.dist-info → fastapi-0.115.6.dist-info}/WHEEL +0 -0
- {fastapi-0.115.4.dist-info → fastapi-0.115.6.dist-info}/entry_points.txt +0 -0
- {fastapi-0.115.4.dist-info → fastapi-0.115.6.dist-info}/licenses/LICENSE +0 -0
fastapi/__init__.py
CHANGED
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
|
|
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
|
-
|
|
29
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
2
|
-
fastapi-0.115.
|
|
3
|
-
fastapi-0.115.
|
|
4
|
-
fastapi-0.115.
|
|
5
|
-
fastapi/__init__.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
50
|
+
fastapi-0.115.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|