strawberry-graphql 0.239.1__py3-none-any.whl → 0.240.0__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.
- strawberry/channels/testing.py +2 -2
- strawberry/dataloader.py +2 -5
- strawberry/extensions/base_extension.py +10 -3
- strawberry/extensions/runner.py +8 -37
- strawberry/http/__init__.py +2 -1
- strawberry/http/async_base_view.py +17 -1
- strawberry/schema/base.py +3 -3
- strawberry/schema/execute.py +123 -111
- strawberry/schema/schema.py +117 -53
- strawberry/schema/subscribe.py +154 -0
- strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +50 -74
- strawberry/subscriptions/protocols/graphql_transport_ws/types.py +10 -2
- strawberry/subscriptions/protocols/graphql_ws/handlers.py +45 -52
- strawberry/subscriptions/protocols/graphql_ws/types.py +1 -0
- strawberry/types/execution.py +15 -0
- strawberry/types/union.py +1 -4
- strawberry/utils/__init__.py +5 -0
- strawberry/utils/typing.py +2 -2
- {strawberry_graphql-0.239.1.dist-info → strawberry_graphql-0.240.0.dist-info}/METADATA +1 -1
- {strawberry_graphql-0.239.1.dist-info → strawberry_graphql-0.240.0.dist-info}/RECORD +23 -22
- {strawberry_graphql-0.239.1.dist-info → strawberry_graphql-0.240.0.dist-info}/LICENSE +0 -0
- {strawberry_graphql-0.239.1.dist-info → strawberry_graphql-0.240.0.dist-info}/WHEEL +0 -0
- {strawberry_graphql-0.239.1.dist-info → strawberry_graphql-0.240.0.dist-info}/entry_points.txt +0 -0
@@ -3,10 +3,15 @@ from __future__ import annotations
|
|
3
3
|
import asyncio
|
4
4
|
from abc import ABC, abstractmethod
|
5
5
|
from contextlib import suppress
|
6
|
-
from typing import
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
from typing import (
|
7
|
+
TYPE_CHECKING,
|
8
|
+
Any,
|
9
|
+
AsyncGenerator,
|
10
|
+
Awaitable,
|
11
|
+
Dict,
|
12
|
+
Optional,
|
13
|
+
cast,
|
14
|
+
)
|
10
15
|
|
11
16
|
from strawberry.subscriptions.protocols.graphql_ws import (
|
12
17
|
GQL_COMPLETE,
|
@@ -20,12 +25,15 @@ from strawberry.subscriptions.protocols.graphql_ws import (
|
|
20
25
|
GQL_START,
|
21
26
|
GQL_STOP,
|
22
27
|
)
|
28
|
+
from strawberry.types.execution import ExecutionResult, PreExecutionError
|
23
29
|
from strawberry.utils.debug import pretty_print_graphql_operation
|
24
30
|
|
25
31
|
if TYPE_CHECKING:
|
26
32
|
from strawberry.schema import BaseSchema
|
33
|
+
from strawberry.schema.subscribe import SubscriptionResult
|
27
34
|
from strawberry.subscriptions.protocols.graphql_ws.types import (
|
28
35
|
ConnectionInitPayload,
|
36
|
+
DataPayload,
|
29
37
|
OperationMessage,
|
30
38
|
OperationMessagePayload,
|
31
39
|
StartPayload,
|
@@ -123,28 +131,14 @@ class BaseGraphQLWSHandler(ABC):
|
|
123
131
|
if self.debug:
|
124
132
|
pretty_print_graphql_operation(operation_name, query, variables)
|
125
133
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
)
|
134
|
-
except GraphQLError as error:
|
135
|
-
error_payload = error.formatted
|
136
|
-
await self.send_message(GQL_ERROR, operation_id, error_payload)
|
137
|
-
self.schema.process_errors([error])
|
138
|
-
return
|
139
|
-
|
140
|
-
if isinstance(result_source, GraphQLExecutionResult):
|
141
|
-
assert result_source.errors
|
142
|
-
error_payload = result_source.errors[0].formatted
|
143
|
-
await self.send_message(GQL_ERROR, operation_id, error_payload)
|
144
|
-
self.schema.process_errors(result_source.errors)
|
145
|
-
return
|
134
|
+
result_source = self.schema.subscribe(
|
135
|
+
query=query,
|
136
|
+
variable_values=variables,
|
137
|
+
operation_name=operation_name,
|
138
|
+
context_value=context,
|
139
|
+
root_value=root_value,
|
140
|
+
)
|
146
141
|
|
147
|
-
self.subscriptions[operation_id] = result_source
|
148
142
|
result_handler = self.handle_async_results(result_source, operation_id)
|
149
143
|
self.tasks[operation_id] = asyncio.create_task(result_handler)
|
150
144
|
|
@@ -160,39 +154,28 @@ class BaseGraphQLWSHandler(ABC):
|
|
160
154
|
|
161
155
|
async def handle_async_results(
|
162
156
|
self,
|
163
|
-
result_source:
|
157
|
+
result_source: Awaitable[SubscriptionResult],
|
164
158
|
operation_id: str,
|
165
159
|
) -> None:
|
166
160
|
try:
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
await self.send_message(
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
self.
|
161
|
+
agen_or_err = await result_source
|
162
|
+
if isinstance(agen_or_err, PreExecutionError):
|
163
|
+
assert agen_or_err.errors
|
164
|
+
error_payload = agen_or_err.errors[0].formatted
|
165
|
+
await self.send_message(GQL_ERROR, operation_id, error_payload)
|
166
|
+
else:
|
167
|
+
self.subscriptions[operation_id] = agen_or_err
|
168
|
+
async for result in agen_or_err:
|
169
|
+
await self.send_data(result, operation_id)
|
170
|
+
await self.send_message(GQL_COMPLETE, operation_id, None)
|
176
171
|
except asyncio.CancelledError:
|
177
|
-
|
178
|
-
pass
|
179
|
-
except Exception as error:
|
180
|
-
# GraphQLErrors are handled by graphql-core and included in the
|
181
|
-
# ExecutionResult
|
182
|
-
error = GraphQLError(str(error), original_error=error)
|
183
|
-
await self.send_message(
|
184
|
-
GQL_DATA,
|
185
|
-
operation_id,
|
186
|
-
{"data": None, "errors": [error.formatted]},
|
187
|
-
)
|
188
|
-
self.schema.process_errors([error])
|
189
|
-
|
190
|
-
await self.send_message(GQL_COMPLETE, operation_id, None)
|
172
|
+
await self.send_message(GQL_COMPLETE, operation_id, None)
|
191
173
|
|
192
174
|
async def cleanup_operation(self, operation_id: str) -> None:
|
193
|
-
|
194
|
-
|
195
|
-
|
175
|
+
if operation_id in self.subscriptions:
|
176
|
+
with suppress(RuntimeError):
|
177
|
+
await self.subscriptions[operation_id].aclose()
|
178
|
+
del self.subscriptions[operation_id]
|
196
179
|
|
197
180
|
self.tasks[operation_id].cancel()
|
198
181
|
with suppress(BaseException):
|
@@ -210,5 +193,15 @@ class BaseGraphQLWSHandler(ABC):
|
|
210
193
|
data["payload"] = payload
|
211
194
|
await self.send_json(data)
|
212
195
|
|
196
|
+
async def send_data(
|
197
|
+
self, execution_result: ExecutionResult, operation_id: str
|
198
|
+
) -> None:
|
199
|
+
payload: DataPayload = {"data": execution_result.data}
|
200
|
+
if execution_result.errors:
|
201
|
+
payload["errors"] = [err.formatted for err in execution_result.errors]
|
202
|
+
if execution_result.extensions:
|
203
|
+
payload["extensions"] = execution_result.extensions
|
204
|
+
await self.send_message(GQL_DATA, operation_id, payload)
|
205
|
+
|
213
206
|
|
214
207
|
__all__ = ["BaseGraphQLWSHandler"]
|
strawberry/types/execution.py
CHANGED
@@ -5,6 +5,7 @@ from typing import (
|
|
5
5
|
TYPE_CHECKING,
|
6
6
|
Any,
|
7
7
|
Dict,
|
8
|
+
Iterable,
|
8
9
|
List,
|
9
10
|
Optional,
|
10
11
|
Tuple,
|
@@ -34,6 +35,7 @@ if TYPE_CHECKING:
|
|
34
35
|
class ExecutionContext:
|
35
36
|
query: Optional[str]
|
36
37
|
schema: Schema
|
38
|
+
allowed_operations: Iterable[OperationType]
|
37
39
|
context: Any = None
|
38
40
|
variables: Optional[Dict[str, Any]] = None
|
39
41
|
parse_options: ParseOptions = dataclasses.field(
|
@@ -52,6 +54,7 @@ class ExecutionContext:
|
|
52
54
|
graphql_document: Optional[DocumentNode] = None
|
53
55
|
errors: Optional[List[GraphQLError]] = None
|
54
56
|
result: Optional[GraphQLExecutionResult] = None
|
57
|
+
extensions_results: Dict[str, Any] = dataclasses.field(default_factory=dict)
|
55
58
|
|
56
59
|
def __post_init__(self, provided_operation_name: str | None) -> None:
|
57
60
|
self._provided_operation_name = provided_operation_name
|
@@ -93,6 +96,18 @@ class ExecutionResult:
|
|
93
96
|
extensions: Optional[Dict[str, Any]] = None
|
94
97
|
|
95
98
|
|
99
|
+
@dataclasses.dataclass
|
100
|
+
class PreExecutionError(ExecutionResult):
|
101
|
+
"""Differentiate between a normal execution result and an immediate error.
|
102
|
+
|
103
|
+
Immediate errors are errors that occur before the execution phase i.e validation errors,
|
104
|
+
or any other error that occur before we interact with resolvers.
|
105
|
+
|
106
|
+
These errors are required by `graphql-ws-transport` protocol in order to close the operation
|
107
|
+
right away once the error is encountered.
|
108
|
+
"""
|
109
|
+
|
110
|
+
|
96
111
|
class ParseOptions(TypedDict):
|
97
112
|
max_tokens: NotRequired[int]
|
98
113
|
|
strawberry/types/union.py
CHANGED
strawberry/utils/__init__.py
CHANGED
strawberry/utils/typing.py
CHANGED
@@ -84,7 +84,7 @@ def is_list(annotation: object) -> bool:
|
|
84
84
|
"""Returns True if annotation is a List."""
|
85
85
|
annotation_origin = getattr(annotation, "__origin__", None)
|
86
86
|
|
87
|
-
return annotation_origin
|
87
|
+
return annotation_origin is list
|
88
88
|
|
89
89
|
|
90
90
|
def is_union(annotation: object) -> bool:
|
@@ -313,7 +313,7 @@ def _get_namespace_from_ast(
|
|
313
313
|
# can properly resolve it later
|
314
314
|
type_name = args[0].strip(" '\"\n")
|
315
315
|
for arg in args[1:]:
|
316
|
-
evaled_arg = eval(arg, globalns, localns) # noqa:
|
316
|
+
evaled_arg = eval(arg, globalns, localns) # noqa: S307
|
317
317
|
if isinstance(evaled_arg, StrawberryLazyReference):
|
318
318
|
extra[type_name] = evaled_arg.resolve_forward_ref(ForwardRef(type_name))
|
319
319
|
|
@@ -24,7 +24,7 @@ strawberry/channels/handlers/graphql_ws_handler.py,sha256=2W_KpXMmC-LbFLBMMFNarF
|
|
24
24
|
strawberry/channels/handlers/http_handler.py,sha256=k4-qer3trApTv8VXEvAc2ub6QATKcOxPBaIezNqhjDQ,11142
|
25
25
|
strawberry/channels/handlers/ws_handler.py,sha256=rXWhLxDHSGJHYdCDMb-pckxka-rf4VZqaNSzkagTa6w,4693
|
26
26
|
strawberry/channels/router.py,sha256=DKIbl4zuRBhfvViUVpyu0Rf_WRT41E6uZC-Yic9Ltvo,2024
|
27
|
-
strawberry/channels/testing.py,sha256=
|
27
|
+
strawberry/channels/testing.py,sha256=GZqYu_rhrT1gLHmdI219L1fctVDmrv7AMHs0bwhXitc,6166
|
28
28
|
strawberry/cli/__init__.py,sha256=byS5VrEiTJatAH6YS4V1Kd4SOwMRAQO2M1oJdIddivg,585
|
29
29
|
strawberry/cli/app.py,sha256=tTMBV1pdWqMcwjWO2yn-8oLDhMhfJvUzyQtWs75LWJ0,54
|
30
30
|
strawberry/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -50,7 +50,7 @@ strawberry/codegen/types.py,sha256=TBVjaKHBvr9QwELRdZUVlWS01wIEVXXTWs5etjqHVhk,4
|
|
50
50
|
strawberry/codemods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
51
|
strawberry/codemods/annotated_unions.py,sha256=TStU8ye5J1---P5mNWXBGeQa8m_J7FyPU_MYjzDZ-RU,5910
|
52
52
|
strawberry/codemods/update_imports.py,sha256=YOuL9ABs_acVqhhgg-9HSA3sI0hjjWv5F2iTtmOec1w,4645
|
53
|
-
strawberry/dataloader.py,sha256=
|
53
|
+
strawberry/dataloader.py,sha256=5agozbY02Y2f_6NDTmajQBpPDGP8HUZty4yfbWguxK4,7850
|
54
54
|
strawberry/directive.py,sha256=55qdcVZoVBmr20WHZi59f-Ece-Sm4pLErOcKAPmGHwQ,3586
|
55
55
|
strawberry/django/__init__.py,sha256=07cxG0P0UzHQZPPzG1RNw3YaGSICjPbJrJdPFelxJVI,799
|
56
56
|
strawberry/django/apps.py,sha256=ZWw3Mzv1Cgy0T9xT8Jr2_dkCTZjT5WQABb34iqnu5pc,135
|
@@ -98,7 +98,7 @@ strawberry/ext/dataclasses/dataclasses.py,sha256=fshCPQm1o4q1AwzmQzdlBIQ_JUNnwSl
|
|
98
98
|
strawberry/ext/mypy_plugin.py,sha256=AO4Cw55V8mcMtsKsIyGZkAAmeNprlvzR8NVL2CNAYnc,20098
|
99
99
|
strawberry/extensions/__init__.py,sha256=SZ-YEMnxAzoDZFo-uHXMHOaY_PPkYm1muPpK4ccJ3Xk,1248
|
100
100
|
strawberry/extensions/add_validation_rules.py,sha256=abkOaXG-unAZj2xL2sspeUXpZKBCpj5Kr5h7TreN4gM,1338
|
101
|
-
strawberry/extensions/base_extension.py,sha256=
|
101
|
+
strawberry/extensions/base_extension.py,sha256=Wf-Xu38lPXXBPuhsxpMi18yL5oH0uoskPhs08hfSYXg,2362
|
102
102
|
strawberry/extensions/context.py,sha256=j2pxKnZ8HOgugm_P_YJV6Fbp_SXkS-U5OLQvn-ofjRM,7210
|
103
103
|
strawberry/extensions/directives.py,sha256=UNTdzYf60kUtN8BHRwLZ7dKogixywoK9i6gkXkyYlJg,3037
|
104
104
|
strawberry/extensions/disable_validation.py,sha256=wupc5zATOLyZmay14WI-FKaPZo0jj23hv8_4H3jvbMQ,741
|
@@ -109,7 +109,7 @@ strawberry/extensions/max_tokens.py,sha256=36WZehpieeYs4qQg2G2D3aRXFcw--rR37utsG
|
|
109
109
|
strawberry/extensions/parser_cache.py,sha256=IvDbkVpKC_2lDXLZyrvj0VleZghbtkD6l2Sf1mBOT-A,1283
|
110
110
|
strawberry/extensions/pyinstrument.py,sha256=dy2NPagLDW4mU2jTfaHek3H1SBVZCjwYKf0zPMxTYp8,712
|
111
111
|
strawberry/extensions/query_depth_limiter.py,sha256=Jtg-HSmEux97Z09Y5G5nhTbJu56rBiGmMG6lB1_ejz8,9882
|
112
|
-
strawberry/extensions/runner.py,sha256=
|
112
|
+
strawberry/extensions/runner.py,sha256=cVsBzNMBDjD4Pg_0jHNzYHv2cJUIVrNL_SzPr6rd7gk,1885
|
113
113
|
strawberry/extensions/tracing/__init__.py,sha256=wx8_EAroGhNrP4HiGYMgKo8jnCsfde5ib6lO4OvcLV0,1400
|
114
114
|
strawberry/extensions/tracing/apollo.py,sha256=XlI88NzSZBSmBHEJ9iitDU9br2-9CdjdtHE_eiTJCIw,5880
|
115
115
|
strawberry/extensions/tracing/datadog.py,sha256=khxvY4_WTjYaeJUb_dn6mLvmk9TCS4tIodnC3G-9pTo,5541
|
@@ -143,8 +143,8 @@ strawberry/file_uploads/scalars.py,sha256=NRDeB7j8aotqIkz9r62ISTf4DrxQxEZYUuHsX5
|
|
143
143
|
strawberry/file_uploads/utils.py,sha256=2zsXg3QsKgGLD7of2dW-vgQn_Naf7I3Men9PhEAFYwM,1160
|
144
144
|
strawberry/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
145
145
|
strawberry/flask/views.py,sha256=Ss3zpBEjY5W6bR9SUPDbuF7zXErgn_qcXm0MuhzPS7k,5656
|
146
|
-
strawberry/http/__init__.py,sha256=
|
147
|
-
strawberry/http/async_base_view.py,sha256=
|
146
|
+
strawberry/http/__init__.py,sha256=GSvHUDXl1cHfLnb37PXOAnxfoXhvz0f467P1O8uDatM,1620
|
147
|
+
strawberry/http/async_base_view.py,sha256=huSretRZ-1WQLwZtHLMjUsdG9SSlW9AgE5jb1ivGr48,11837
|
148
148
|
strawberry/http/base.py,sha256=ORw-0lk6UcOH80kdr4VElAvX75S3VTMpRddhVfooGDY,2569
|
149
149
|
strawberry/http/exceptions.py,sha256=WdWO3RvZDax_yAdD0zlVex9tQgwNx7tjz8_A8kP4YHo,193
|
150
150
|
strawberry/http/ides.py,sha256=3dqFRY8_9ZqyIYR_EyRdPZ1zhL3lxRYT2MPk84O_Tk8,874
|
@@ -178,14 +178,15 @@ strawberry/sanic/utils.py,sha256=r-tCX0JzELAdupF7fFy65JWAxj6pABSntNbGNaGZT8o,108
|
|
178
178
|
strawberry/sanic/views.py,sha256=Y1zSmaFfcP7ZyOoBXjPTGc2PWKSvv8Lo5m_GA1EyEPI,6465
|
179
179
|
strawberry/scalars.py,sha256=c3y8EOmX-KUxSgRqk1TNercMA6_rgBHhQPp0z3C2zBU,2240
|
180
180
|
strawberry/schema/__init__.py,sha256=u1QCyDVQExUVDA20kyosKPz3TS5HMCN2NrXclhiFAL4,92
|
181
|
-
strawberry/schema/base.py,sha256=
|
181
|
+
strawberry/schema/base.py,sha256=yarj62fhfCp0kToJPpWlNcCjyZV2CafbfpZ-yamjNVg,3730
|
182
182
|
strawberry/schema/compat.py,sha256=rRqUm5-XgPXC018_u0Mrd4iad7tTRCNA45Ko4NaT6gk,1836
|
183
183
|
strawberry/schema/config.py,sha256=Aa01oqnHb0ZPlw8Ti_O840LxlT827LNio15BQrc37A0,717
|
184
184
|
strawberry/schema/exceptions.py,sha256=rqVNb_oYrKM0dHPgvAemqCG6Um282LPPu4zwQ5cZqs4,584
|
185
|
-
strawberry/schema/execute.py,sha256=
|
185
|
+
strawberry/schema/execute.py,sha256=XbArky5xmCWo_r2ootm8WREzzzZ0SsU9FoyfxA6Vc8g,11490
|
186
186
|
strawberry/schema/name_converter.py,sha256=tpqw2XCSFvJI-H844iWhE2Z1sKic7DrjIZxt11eJN5Y,6574
|
187
|
-
strawberry/schema/schema.py,sha256=
|
187
|
+
strawberry/schema/schema.py,sha256=rdsZrnAZZDV_eU_9s2K21hgROtP29GRt5MjUrwVBwyE,19034
|
188
188
|
strawberry/schema/schema_converter.py,sha256=lckL2LoxAb6mNfJIVcerht2buzBG573ly3BHyl7wra4,36859
|
189
|
+
strawberry/schema/subscribe.py,sha256=wg-U2S-SrHxvtJA9KttnBQnyUOh-qy7UaPjumNk2Czw,6007
|
189
190
|
strawberry/schema/types/__init__.py,sha256=oHO3COWhL3L1KLYCJNY1XFf5xt2GGtHiMC-UaYbFfnA,68
|
190
191
|
strawberry/schema/types/base_scalars.py,sha256=NTj_tYqWLQLEOPDhBhSE1My4JXoieyg0jO8B6RNK-xA,1913
|
191
192
|
strawberry/schema/types/concrete_type.py,sha256=o6hKYLJO2QUXmV654KMbwnGHapBVMO_QNhUaDlKGCAw,756
|
@@ -201,11 +202,11 @@ strawberry/static/pathfinder.html,sha256=0DPx9AmJ2C_sJstFXnWOz9k5tVQHeHaK7qdVY4l
|
|
201
202
|
strawberry/subscriptions/__init__.py,sha256=1VGmiCzFepqRFyCikagkUoHHdoTG3XYlFu9GafoQMws,170
|
202
203
|
strawberry/subscriptions/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
203
204
|
strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py,sha256=wN6dkMu6WiaIZTE19PGoN9xXpIN_RdDE_q7F7ZgjCxk,138
|
204
|
-
strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py,sha256=
|
205
|
-
strawberry/subscriptions/protocols/graphql_transport_ws/types.py,sha256=
|
205
|
+
strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py,sha256=qTz1yN0B9KRl01MZPOwgCvli5S9OIG2y7BJLGDLJHgA,14219
|
206
|
+
strawberry/subscriptions/protocols/graphql_transport_ws/types.py,sha256=udYxzGtwjETYvY5f23org0t-aY4cimTjEGFYUR3idaY,2596
|
206
207
|
strawberry/subscriptions/protocols/graphql_ws/__init__.py,sha256=ijn1A1O0Fzv5p9n-jw3T5H7M3oxbN4gbxRaepN7HyJk,553
|
207
|
-
strawberry/subscriptions/protocols/graphql_ws/handlers.py,sha256=
|
208
|
-
strawberry/subscriptions/protocols/graphql_ws/types.py,sha256=
|
208
|
+
strawberry/subscriptions/protocols/graphql_ws/handlers.py,sha256=UfCvmVve26HzhixP-CeKHEjvQGsAx5_iizt_Mww2uNc,7175
|
209
|
+
strawberry/subscriptions/protocols/graphql_ws/types.py,sha256=CKm4Hy95p6H9u_-QyWdxipwzNeeDIWtilP3RRp8vjPw,1050
|
209
210
|
strawberry/test/__init__.py,sha256=U3B5Ng7C_H8GpCpfvgZZcfADMw6cor5hm78gS3nDdMI,115
|
210
211
|
strawberry/test/client.py,sha256=-V_5DakR0NJ_Kd5ww4leIhMnIJ-Pf274HkNqYtGVfl8,6044
|
211
212
|
strawberry/tools/__init__.py,sha256=pdGpZx8wpq03VfUZJyF9JtYxZhGqzzxCiipsalWxJX4,127
|
@@ -216,7 +217,7 @@ strawberry/types/arguments.py,sha256=vGWwKL_294rrZtg-GquW6h5t0FBAEm8Y14bD5_08FeI
|
|
216
217
|
strawberry/types/auto.py,sha256=c7XcB7seXd-cWAn5Ut3O0SUPOOCPG-Z2qcUAI9dRQIE,3008
|
217
218
|
strawberry/types/base.py,sha256=W5OvqH0gnhkFaCcthTAOciUGTQhkWTnPdz4DzMfql5Y,15022
|
218
219
|
strawberry/types/enum.py,sha256=E_ck94hgZP6YszWAso9UvCLUKRhd5KclwnIvo5PibZg,5965
|
219
|
-
strawberry/types/execution.py,sha256=
|
220
|
+
strawberry/types/execution.py,sha256=jzuDfOTT1IvhIPHlHJ4BlYfnKjMCe95DOK_W4rZSLPI,3763
|
220
221
|
strawberry/types/field.py,sha256=jgliRsA4BLNKXXaj5fC7pBI8_USnTVjOF9OEVMV-hYk,21598
|
221
222
|
strawberry/types/fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
222
223
|
strawberry/types/fields/resolver.py,sha256=eDVUsNwteKZOK8fKPwESAz4hOAeDIhalH5BgHmqab_Y,14361
|
@@ -229,9 +230,9 @@ strawberry/types/object_type.py,sha256=-LvRnigI5iK9SgfH82b7eLzXw6DswM2ad6ZVOBUU_
|
|
229
230
|
strawberry/types/private.py,sha256=jFQ0PwAvb0nUTyOs2gLdb3_uGBrsomENkikaW9v-gbI,547
|
230
231
|
strawberry/types/scalar.py,sha256=PYp2zACJL-7aGuej7Pq_FOTg9lo4yezIC0x-Fn5ZPj0,6260
|
231
232
|
strawberry/types/type_resolver.py,sha256=vnMoeQR3o-lIoJSU0Iw858UzWVyXe9hyQ9-Ioo567g4,6563
|
232
|
-
strawberry/types/union.py,sha256=
|
233
|
+
strawberry/types/union.py,sha256=ky3aSlYVEtnqBrmxr-72TmrWtyoA3Ylcws5aqud-ZeE,9972
|
233
234
|
strawberry/types/unset.py,sha256=s2l9DCWesItiC-NtT3InLFrD1XeIOBxXZKahigQ11wQ,1712
|
234
|
-
strawberry/utils/__init__.py,sha256=
|
235
|
+
strawberry/utils/__init__.py,sha256=H9Vp3UfxmTjPMDMLWx1GDdiMeuYDeEAjepmzclWAmyo,142
|
235
236
|
strawberry/utils/aio.py,sha256=8n4mrAHjx12zp1phqNv1mXx2-1mQRXLNRbpNMS2MDoM,1706
|
236
237
|
strawberry/utils/await_maybe.py,sha256=7KMNa8DSjzQP1XbPyEIbFMokAbKxs_6AlTKWseJOwNw,422
|
237
238
|
strawberry/utils/dataclasses.py,sha256=1wvVq0vgvjrRSamJ3CBJpkLu1KVweTmw5JLXmagdGes,856
|
@@ -243,9 +244,9 @@ strawberry/utils/inspect.py,sha256=2WOeK3o8pjVkIH-rP_TaaLDa_AvroKC1WXc0gSE0Suc,3
|
|
243
244
|
strawberry/utils/logging.py,sha256=U1cseHGquN09YFhFmRkiphfASKCyK0HUZREImPgVb0c,746
|
244
245
|
strawberry/utils/operation.py,sha256=SSXxN-vMqdHO6W2OZtip-1z7y4_A-eTVFdhDvhKeLCk,1193
|
245
246
|
strawberry/utils/str_converters.py,sha256=KGd7QH90RevaJjH6SQEkiVVsb8KuhJr_wv5AsI7UzQk,897
|
246
|
-
strawberry/utils/typing.py,sha256=
|
247
|
-
strawberry_graphql-0.
|
248
|
-
strawberry_graphql-0.
|
249
|
-
strawberry_graphql-0.
|
250
|
-
strawberry_graphql-0.
|
251
|
-
strawberry_graphql-0.
|
247
|
+
strawberry/utils/typing.py,sha256=3xws5kxSQGsp8BnYyUwClvxXNzZakMAuOPoq1rjHRuk,14252
|
248
|
+
strawberry_graphql-0.240.0.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
|
249
|
+
strawberry_graphql-0.240.0.dist-info/METADATA,sha256=6EkG0ob83XO9XCJlyD3B2vIOvGHA2FmJmyDwnkZ96xk,7707
|
250
|
+
strawberry_graphql-0.240.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
251
|
+
strawberry_graphql-0.240.0.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
|
252
|
+
strawberry_graphql-0.240.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{strawberry_graphql-0.239.1.dist-info → strawberry_graphql-0.240.0.dist-info}/entry_points.txt
RENAMED
File without changes
|