strawberry-graphql 0.228.0.dev1713643365__py3-none-any.whl → 0.229.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.
- strawberry/exceptions/__init__.py +0 -1
- strawberry/experimental/pydantic/error_type.py +1 -1
- strawberry/experimental/pydantic/object_type.py +1 -1
- strawberry/extensions/tracing/datadog.py +16 -7
- strawberry/federation/schema_directive.py +1 -1
- strawberry/object_type.py +26 -3
- strawberry/relay/types.py +12 -1
- strawberry/relay/utils.py +42 -1
- strawberry/scalars.py +2 -2
- strawberry/schema/schema_converter.py +7 -1
- strawberry/schema_directive.py +1 -1
- strawberry/starlite/controller.py +9 -0
- strawberry/types/type_resolver.py +9 -2
- strawberry/types/types.py +5 -0
- {strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/METADATA +1 -1
- {strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/RECORD +19 -19
- {strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/LICENSE +0 -0
- {strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/WHEEL +0 -0
- {strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/entry_points.txt +0 -0
@@ -114,7 +114,7 @@ def error_type(
|
|
114
114
|
]
|
115
115
|
|
116
116
|
wrapped = _wrap_dataclass(cls)
|
117
|
-
extra_fields = cast(List[dataclasses.Field], _get_fields(wrapped))
|
117
|
+
extra_fields = cast(List[dataclasses.Field], _get_fields(wrapped, {}))
|
118
118
|
private_fields = get_private_fields(wrapped)
|
119
119
|
|
120
120
|
all_model_fields.extend(
|
@@ -177,7 +177,7 @@ def type(
|
|
177
177
|
)
|
178
178
|
|
179
179
|
wrapped = _wrap_dataclass(cls)
|
180
|
-
extra_strawberry_fields = _get_fields(wrapped)
|
180
|
+
extra_strawberry_fields = _get_fields(wrapped, {})
|
181
181
|
extra_fields = cast(List[dataclasses.Field], extra_strawberry_fields)
|
182
182
|
private_fields = get_private_fields(wrapped)
|
183
183
|
|
@@ -27,7 +27,8 @@ class DatadogTracingExtension(SchemaExtension):
|
|
27
27
|
|
28
28
|
@cached_property
|
29
29
|
def _resource_name(self) -> str:
|
30
|
-
|
30
|
+
if self.execution_context.query is None:
|
31
|
+
return "query_missing"
|
31
32
|
|
32
33
|
query_hash = self.hash_query(self.execution_context.query)
|
33
34
|
|
@@ -78,15 +79,23 @@ class DatadogTracingExtension(SchemaExtension):
|
|
78
79
|
)
|
79
80
|
self.request_span.set_tag("graphql.operation_name", self._operation_name)
|
80
81
|
|
81
|
-
|
82
|
+
query = self.execution_context.query
|
83
|
+
|
84
|
+
if query is not None:
|
85
|
+
query = query.strip()
|
86
|
+
operation_type = "query"
|
87
|
+
|
88
|
+
if query.startswith("mutation"):
|
89
|
+
operation_type = "mutation"
|
90
|
+
elif query.startswith("subscription"): # pragma: no cover
|
91
|
+
operation_type = "subscription"
|
92
|
+
else:
|
93
|
+
operation_type = "query_missing"
|
82
94
|
|
83
|
-
operation_type = "query"
|
84
|
-
if self.execution_context.query.strip().startswith("mutation"):
|
85
|
-
operation_type = "mutation"
|
86
|
-
elif self.execution_context.query.strip().startswith("subscription"):
|
87
|
-
operation_type = "subscription"
|
88
95
|
self.request_span.set_tag("graphql.operation_type", operation_type)
|
96
|
+
|
89
97
|
yield
|
98
|
+
|
90
99
|
self.request_span.finish()
|
91
100
|
|
92
101
|
def on_validate(self) -> Generator[None, None, None]:
|
@@ -39,7 +39,7 @@ def schema_directive(
|
|
39
39
|
) -> Callable[..., T]:
|
40
40
|
def _wrap(cls: T) -> T:
|
41
41
|
cls = _wrap_dataclass(cls)
|
42
|
-
fields = _get_fields(cls)
|
42
|
+
fields = _get_fields(cls, {})
|
43
43
|
|
44
44
|
cls.__strawberry_directive__ = StrawberryFederationSchemaDirective(
|
45
45
|
python_name=cls.__name__,
|
strawberry/object_type.py
CHANGED
@@ -67,7 +67,8 @@ def _check_field_annotations(cls: Type[Any]):
|
|
67
67
|
# If the field has a type override then use that instead of using
|
68
68
|
# the class annotations or resolver annotation
|
69
69
|
if field_.type_annotation is not None:
|
70
|
-
|
70
|
+
if field_name not in cls_annotations:
|
71
|
+
cls_annotations[field_name] = field_.type_annotation.annotation
|
71
72
|
continue
|
72
73
|
|
73
74
|
# Make sure the cls has an annotation
|
@@ -85,7 +86,8 @@ def _check_field_annotations(cls: Type[Any]):
|
|
85
86
|
field_name, resolver=field_.base_resolver
|
86
87
|
)
|
87
88
|
|
88
|
-
|
89
|
+
if field_name not in cls_annotations:
|
90
|
+
cls_annotations[field_name] = field_.base_resolver.type_annotation
|
89
91
|
|
90
92
|
# TODO: Make sure the cls annotation agrees with the field's type
|
91
93
|
# >>> if cls_annotations[field_name] != field.base_resolver.type:
|
@@ -133,11 +135,13 @@ def _process_type(
|
|
133
135
|
description: Optional[str] = None,
|
134
136
|
directives: Optional[Sequence[object]] = (),
|
135
137
|
extend: bool = False,
|
138
|
+
original_type_annotations: Optional[Dict[str, Any]] = None,
|
136
139
|
) -> T:
|
137
140
|
name = name or to_camel_case(cls.__name__)
|
141
|
+
original_type_annotations = original_type_annotations or {}
|
138
142
|
|
139
143
|
interfaces = _get_interfaces(cls)
|
140
|
-
fields = _get_fields(cls)
|
144
|
+
fields = _get_fields(cls, original_type_annotations)
|
141
145
|
is_type_of = getattr(cls, "is_type_of", None)
|
142
146
|
resolve_type = getattr(cls, "resolve_type", None)
|
143
147
|
|
@@ -245,7 +249,25 @@ def type(
|
|
245
249
|
exc = ObjectIsNotClassError.type
|
246
250
|
raise exc(cls)
|
247
251
|
|
252
|
+
# when running `_wrap_dataclass` we lose some of the information about the
|
253
|
+
# the passed types, especially the type_annotation inside the StrawberryField
|
254
|
+
# this makes it impossible to customise the field type, like this:
|
255
|
+
# >>> @strawberry.type
|
256
|
+
# >>> class Query:
|
257
|
+
# >>> a: int = strawberry.field(graphql_type=str)
|
258
|
+
# so we need to extract the information before running `_wrap_dataclass`
|
259
|
+
original_type_annotations: Dict[str, Any] = {}
|
260
|
+
|
261
|
+
annotations = getattr(cls, "__annotations__", {})
|
262
|
+
|
263
|
+
for field_name in annotations:
|
264
|
+
field = getattr(cls, field_name, None)
|
265
|
+
|
266
|
+
if field and isinstance(field, StrawberryField) and field.type_annotation:
|
267
|
+
original_type_annotations[field_name] = field.type_annotation.annotation
|
268
|
+
|
248
269
|
wrapped = _wrap_dataclass(cls)
|
270
|
+
|
249
271
|
return _process_type(
|
250
272
|
wrapped,
|
251
273
|
name=name,
|
@@ -254,6 +276,7 @@ def type(
|
|
254
276
|
description=description,
|
255
277
|
directives=directives,
|
256
278
|
extend=extend,
|
279
|
+
original_type_annotations=original_type_annotations,
|
257
280
|
)
|
258
281
|
|
259
282
|
if cls is None:
|
strawberry/relay/types.py
CHANGED
@@ -38,7 +38,7 @@ from strawberry.utils.aio import aenumerate, aislice, resolve_awaitable
|
|
38
38
|
from strawberry.utils.inspect import in_async_context
|
39
39
|
from strawberry.utils.typing import eval_type, is_classvar
|
40
40
|
|
41
|
-
from .utils import from_base64, to_base64
|
41
|
+
from .utils import from_base64, should_resolve_list_connection_edges, to_base64
|
42
42
|
|
43
43
|
if TYPE_CHECKING:
|
44
44
|
from strawberry.scalars import ID
|
@@ -933,6 +933,17 @@ class ListConnection(Connection[NodeType]):
|
|
933
933
|
overfetch,
|
934
934
|
)
|
935
935
|
|
936
|
+
if not should_resolve_list_connection_edges(info):
|
937
|
+
return cls(
|
938
|
+
edges=[],
|
939
|
+
page_info=PageInfo(
|
940
|
+
start_cursor=None,
|
941
|
+
end_cursor=None,
|
942
|
+
has_previous_page=False,
|
943
|
+
has_next_page=False,
|
944
|
+
),
|
945
|
+
)
|
946
|
+
|
936
947
|
edges = [
|
937
948
|
edge_class.resolve_edge(
|
938
949
|
cls.resolve_node(v, info=info, **kwargs),
|
strawberry/relay/utils.py
CHANGED
@@ -2,6 +2,8 @@ import base64
|
|
2
2
|
from typing import Any, Tuple, Union
|
3
3
|
from typing_extensions import assert_never
|
4
4
|
|
5
|
+
from strawberry.types.info import Info
|
6
|
+
from strawberry.types.nodes import InlineFragment, Selection
|
5
7
|
from strawberry.types.types import StrawberryObjectDefinition
|
6
8
|
|
7
9
|
|
@@ -41,7 +43,7 @@ def to_base64(type_: Union[str, type, StrawberryObjectDefinition], node_id: Any)
|
|
41
43
|
The node id itself
|
42
44
|
|
43
45
|
Returns:
|
44
|
-
A
|
46
|
+
A GlobalID, which is a string resulting from base64 encoding <TypeName>:<NodeID>.
|
45
47
|
|
46
48
|
Raises:
|
47
49
|
ValueError:
|
@@ -61,3 +63,42 @@ def to_base64(type_: Union[str, type, StrawberryObjectDefinition], node_id: Any)
|
|
61
63
|
raise ValueError(f"{type_} is not a valid GraphQL type or name") from e
|
62
64
|
|
63
65
|
return base64.b64encode(f"{type_name}:{node_id}".encode()).decode()
|
66
|
+
|
67
|
+
|
68
|
+
def should_resolve_list_connection_edges(info: Info) -> bool:
|
69
|
+
"""Check if the user requested to resolve the `edges` field of a connection.
|
70
|
+
|
71
|
+
Args:
|
72
|
+
info:
|
73
|
+
The strawberry execution info resolve the type name from
|
74
|
+
|
75
|
+
Returns:
|
76
|
+
True if the user requested to resolve the `edges` field of a connection, False otherwise.
|
77
|
+
|
78
|
+
"""
|
79
|
+
resolve_for_field_names = {"edges", "pageInfo"}
|
80
|
+
|
81
|
+
def _check_selection(selection: Selection) -> bool:
|
82
|
+
"""Recursively inspect the selection to check if the user requested to resolve the `edges` field.
|
83
|
+
Args:
|
84
|
+
selection (Selection): The selection to check.
|
85
|
+
|
86
|
+
Returns:
|
87
|
+
bool: True if the user requested to resolve the `edges` field of a connection, False otherwise.
|
88
|
+
"""
|
89
|
+
if (
|
90
|
+
not isinstance(selection, InlineFragment)
|
91
|
+
and selection.name in resolve_for_field_names
|
92
|
+
):
|
93
|
+
return True
|
94
|
+
if selection.selections:
|
95
|
+
return any(
|
96
|
+
_check_selection(selection) for selection in selection.selections
|
97
|
+
)
|
98
|
+
return False
|
99
|
+
|
100
|
+
for selection_field in info.selected_fields:
|
101
|
+
for selection in selection_field.selections:
|
102
|
+
if _check_selection(selection):
|
103
|
+
return True
|
104
|
+
return False
|
strawberry/scalars.py
CHANGED
@@ -16,10 +16,10 @@ JSON = scalar(
|
|
16
16
|
description=(
|
17
17
|
"The `JSON` scalar type represents JSON values as specified by "
|
18
18
|
"[ECMA-404]"
|
19
|
-
"(
|
19
|
+
"(https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf)."
|
20
20
|
),
|
21
21
|
specified_by_url=(
|
22
|
-
"
|
22
|
+
"https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
|
23
23
|
),
|
24
24
|
serialize=lambda v: v,
|
25
25
|
parse_value=lambda v: v,
|
@@ -31,6 +31,7 @@ from graphql import (
|
|
31
31
|
GraphQLInputObjectType,
|
32
32
|
GraphQLInterfaceType,
|
33
33
|
GraphQLList,
|
34
|
+
GraphQLNamedType,
|
34
35
|
GraphQLNonNull,
|
35
36
|
GraphQLObjectType,
|
36
37
|
GraphQLType,
|
@@ -464,13 +465,18 @@ class GraphQLCoreConverter:
|
|
464
465
|
for possible_concrete_type in self.type_map.values():
|
465
466
|
possible_type = possible_concrete_type.definition
|
466
467
|
|
467
|
-
if not isinstance(
|
468
|
+
if not isinstance(
|
469
|
+
possible_type, StrawberryObjectDefinition
|
470
|
+
): # pragma: no cover
|
468
471
|
continue
|
472
|
+
|
469
473
|
if possible_type.is_implemented_by(obj):
|
470
474
|
return_type = possible_concrete_type.implementation
|
471
475
|
break
|
472
476
|
|
473
477
|
if return_type:
|
478
|
+
assert isinstance(return_type, GraphQLNamedType)
|
479
|
+
|
474
480
|
return return_type.name
|
475
481
|
|
476
482
|
# Revert to calling is_type_of for cases where a direct subclass
|
strawberry/schema_directive.py
CHANGED
@@ -6,6 +6,7 @@ import warnings
|
|
6
6
|
from dataclasses import dataclass
|
7
7
|
from datetime import timedelta
|
8
8
|
from typing import TYPE_CHECKING, Any, Dict, Mapping, Optional, Tuple, Union, cast
|
9
|
+
from typing_extensions import deprecated
|
9
10
|
|
10
11
|
from starlite import (
|
11
12
|
BackgroundTasks,
|
@@ -118,6 +119,10 @@ class GraphQLTransportWSHandler(BaseGraphQLTransportWSHandler):
|
|
118
119
|
return await self._get_root_value()
|
119
120
|
|
120
121
|
|
122
|
+
@deprecated(
|
123
|
+
"The `starlite` integration is deprecated in favor of `litestar` integration",
|
124
|
+
stacklevel=2,
|
125
|
+
)
|
121
126
|
class StarliteRequestAdapter(AsyncHTTPRequestAdapter):
|
122
127
|
def __init__(self, request: Request[Any, Any]) -> None:
|
123
128
|
self.request = request
|
@@ -153,6 +158,10 @@ class BaseContext:
|
|
153
158
|
self.response: Optional[Response] = None
|
154
159
|
|
155
160
|
|
161
|
+
@deprecated(
|
162
|
+
"The `starlite` integration is deprecated in favor of `litestar` integration",
|
163
|
+
stacklevel=2,
|
164
|
+
)
|
156
165
|
def make_graphql_controller(
|
157
166
|
schema: BaseSchema,
|
158
167
|
path: str = "",
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
import dataclasses
|
4
4
|
import sys
|
5
|
-
from typing import Dict, List, Type
|
5
|
+
from typing import Any, Dict, List, Type
|
6
6
|
|
7
7
|
from strawberry.annotation import StrawberryAnnotation
|
8
8
|
from strawberry.exceptions import (
|
@@ -16,7 +16,9 @@ from strawberry.type import has_object_definition
|
|
16
16
|
from strawberry.unset import UNSET
|
17
17
|
|
18
18
|
|
19
|
-
def _get_fields(
|
19
|
+
def _get_fields(
|
20
|
+
cls: Type[Any], original_type_annotations: Dict[str, Type[Any]]
|
21
|
+
) -> List[StrawberryField]:
|
20
22
|
"""Get all the strawberry fields off a strawberry.type cls
|
21
23
|
|
22
24
|
This function returns a list of StrawberryFields (one for each field item), while
|
@@ -49,6 +51,7 @@ def _get_fields(cls: Type) -> List[StrawberryField]:
|
|
49
51
|
passing a named function (i.e. not an anonymous lambda) to strawberry.field
|
50
52
|
(typically as a decorator).
|
51
53
|
"""
|
54
|
+
|
52
55
|
fields: Dict[str, StrawberryField] = {}
|
53
56
|
|
54
57
|
# before trying to find any fields, let's first add the fields defined in
|
@@ -152,6 +155,10 @@ def _get_fields(cls: Type) -> List[StrawberryField]:
|
|
152
155
|
assert_message = "Field must have a name by the time the schema is generated"
|
153
156
|
assert field_name is not None, assert_message
|
154
157
|
|
158
|
+
if field.name in original_type_annotations:
|
159
|
+
field.type = original_type_annotations[field.name]
|
160
|
+
field.type_annotation = StrawberryAnnotation(annotation=field.type)
|
161
|
+
|
155
162
|
# TODO: Raise exception if field_name already in fields
|
156
163
|
fields[field_name] = field
|
157
164
|
|
strawberry/types/types.py
CHANGED
@@ -214,6 +214,11 @@ class StrawberryObjectDefinition(StrawberryType):
|
|
214
214
|
if hasattr(real_concrete_type, "_enum_definition"):
|
215
215
|
real_concrete_type = real_concrete_type._enum_definition
|
216
216
|
|
217
|
+
if isinstance(expected_concrete_type, type) and issubclass(
|
218
|
+
real_concrete_type, expected_concrete_type
|
219
|
+
):
|
220
|
+
return True
|
221
|
+
|
217
222
|
if real_concrete_type is not expected_concrete_type:
|
218
223
|
return False
|
219
224
|
|
{strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/RECORD
RENAMED
@@ -60,7 +60,7 @@ strawberry/django/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPd
|
|
60
60
|
strawberry/django/test/client.py,sha256=lPEbe_4lNL1pSgtywq4O-b6n7ALCW3U9_uvoWz3EaSM,592
|
61
61
|
strawberry/django/views.py,sha256=zp_4a2i1I7ngK0_9znvvHbo-JWviGWq1aptRhn9RQ2A,9187
|
62
62
|
strawberry/enum.py,sha256=ufChUVwXM5KsphCkuLCzCewL8YT8RI_nzXVokMYwFnA,4255
|
63
|
-
strawberry/exceptions/__init__.py,sha256=
|
63
|
+
strawberry/exceptions/__init__.py,sha256=BChL2HQYK1ql_oe-WOUOT_BzXsMft5cZ1eRDBWlk4i4,6230
|
64
64
|
strawberry/exceptions/conflicting_arguments.py,sha256=68f6kMSXdjuEjZkoe8o2I9PSIjwTS1kXsSGaQBPk_hI,1587
|
65
65
|
strawberry/exceptions/duplicated_type_name.py,sha256=FYJ2f0sivw8UU2kO2W1Rpbn_KskXjPxOt8WiuFcEcGI,2209
|
66
66
|
strawberry/exceptions/exception.py,sha256=1NrsTAzko1fUrSpXjYpNoCk2XuYJerEKj_CDeqGe_eA,3447
|
@@ -86,10 +86,10 @@ strawberry/experimental/pydantic/__init__.py,sha256=jlsYH1j_9W4ieRpUKgt5zQPERDL7
|
|
86
86
|
strawberry/experimental/pydantic/_compat.py,sha256=Qnuxy6d0cq5agd8SBlJWqvCPrH3wzMa3gm5Wtzmh0cM,8147
|
87
87
|
strawberry/experimental/pydantic/conversion.py,sha256=_YMz4cYCwLUazkT2oCQ4B1gusksnXDHdFm1DldIrU7Q,4213
|
88
88
|
strawberry/experimental/pydantic/conversion_types.py,sha256=VuuBULz2v6cz_N1fa51ayJMA5_bQkqZmxaCumDsTGRM,931
|
89
|
-
strawberry/experimental/pydantic/error_type.py,sha256=
|
89
|
+
strawberry/experimental/pydantic/error_type.py,sha256=iSDNlbsRYZyU5zrg3mzU3ntREUPnU1f2waGmY_kiXLU,4370
|
90
90
|
strawberry/experimental/pydantic/exceptions.py,sha256=Q8Deq3bNkMgc8fwvIYdcfxHSONXVMu-ZB6jcsh1NQYo,1498
|
91
91
|
strawberry/experimental/pydantic/fields.py,sha256=QP5vYb8vKf7vOC69cjUPGOdlO_j4kZRdxalWgeqJ5Hk,2588
|
92
|
-
strawberry/experimental/pydantic/object_type.py,sha256=
|
92
|
+
strawberry/experimental/pydantic/object_type.py,sha256=icfpKBN4_YrY-243n7XOisI5semFrWuFicmeLAfpU48,12376
|
93
93
|
strawberry/experimental/pydantic/utils.py,sha256=9m_oKyz0K1rTmh1ZrYtbFfyUNsiV11RiEb7bLrZuOXs,3770
|
94
94
|
strawberry/ext/LICENSE,sha256=_oY0TZg0b_sW0--0T44aMTpy2e2zF1Kiyn8E1qDiivo,1249
|
95
95
|
strawberry/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -113,7 +113,7 @@ strawberry/extensions/query_depth_limiter.py,sha256=lm9KTQOCTTGzXvMWyafROhQ3MhZX
|
|
113
113
|
strawberry/extensions/runner.py,sha256=HNi0haRUbd_eGlDG-zByR5KmOylDQPCqMUsLZnzLzWo,2696
|
114
114
|
strawberry/extensions/tracing/__init__.py,sha256=wx8_EAroGhNrP4HiGYMgKo8jnCsfde5ib6lO4OvcLV0,1400
|
115
115
|
strawberry/extensions/tracing/apollo.py,sha256=ZdxxFEQi1lCpCWfCETOfcK_-Ivw-jUSg-rIKOYlm_i4,5811
|
116
|
-
strawberry/extensions/tracing/datadog.py,sha256=
|
116
|
+
strawberry/extensions/tracing/datadog.py,sha256=gFXSzavF8ahUpnLj4t2ulJDy4I_Y-1FMhCaX5P6ZL7I,5448
|
117
117
|
strawberry/extensions/tracing/opentelemetry.py,sha256=vuC8IKevMP_Vt0Q-tcHM3UkWasU4S0NhgsAHCNr3j3s,7212
|
118
118
|
strawberry/extensions/tracing/sentry.py,sha256=XxXtJ6sPVbc2ucZo_p1HroTOn2N9Dl_uUfZNAWut_XM,4954
|
119
119
|
strawberry/extensions/tracing/utils.py,sha256=O3-XJ25TqJJ9X1wHi0-0iX4U_3uv2YiB6TJfxGqtnek,618
|
@@ -133,7 +133,7 @@ strawberry/federation/mutation.py,sha256=0lV5HJwgw4HYR_59pwxWqnPs342HwakTNMc98w5
|
|
133
133
|
strawberry/federation/object_type.py,sha256=0ZzOavBSh8ZPORd70RmsfMYo2cVg6gfZPwaIziDO58o,9005
|
134
134
|
strawberry/federation/scalar.py,sha256=_dwlQyiDGQQF-Qz-ACSOT-LikxjXgIVz9i0HWlUjTSc,3799
|
135
135
|
strawberry/federation/schema.py,sha256=9g7jp6eUTTP3atW81dLMtaqeY0tQB4YGdR8beKZ-JX8,13715
|
136
|
-
strawberry/federation/schema_directive.py,sha256=
|
136
|
+
strawberry/federation/schema_directive.py,sha256=V_8ytK_cbVoVRhFle0o9DTQkrP1k-xwCBTaideJOYag,1723
|
137
137
|
strawberry/federation/schema_directives.py,sha256=Awb-BqICDptYtDNRF3BUNnbNcrsSTDN8AWAwKxVZ3UQ,6139
|
138
138
|
strawberry/federation/types.py,sha256=mM70g1aLgjplOc3SdtuJjy7NAKFLv35Z4BDC4s_j5us,301
|
139
139
|
strawberry/federation/union.py,sha256=QXeh-nhApqFtXa3To9MX_IwvtwErZBhWYnssUK7JB2E,1005
|
@@ -160,7 +160,7 @@ strawberry/litestar/controller.py,sha256=BCntaDTmQNoBRHINi8TztuF7G4-FiED-KxEPTZ6
|
|
160
160
|
strawberry/litestar/handlers/graphql_transport_ws_handler.py,sha256=q_erlgzPsxarohRQXGp1yK0mjKyS8vsWntMYEmrQx4s,2008
|
161
161
|
strawberry/litestar/handlers/graphql_ws_handler.py,sha256=vVpjd5rJOldF8aQWEGjmmNd60WE1p6q6hFmB_DtCzDU,2250
|
162
162
|
strawberry/mutation.py,sha256=NROPvHJU1BBxZB7Wj4Okxw4hDIYM59MCpukAGEmSNYA,255
|
163
|
-
strawberry/object_type.py,sha256=
|
163
|
+
strawberry/object_type.py,sha256=iQL2NqO7I28bS0moWgxPmCDc0w1HewPcXq8Xyh-xAWI,12539
|
164
164
|
strawberry/parent.py,sha256=rmedKjN4zdg4KTnNV8DENrzgNYVL67rXpHjHoBofMS4,825
|
165
165
|
strawberry/permission.py,sha256=dcKx4Zlg4ZhcxEDBOSWzz0CUN4WPkcc_kJUVuvLLs6w,5925
|
166
166
|
strawberry/printer/__init__.py,sha256=DmepjmgtkdF5RxK_7yC6qUyRWn56U-9qeZMbkztYB9w,62
|
@@ -173,14 +173,14 @@ strawberry/quart/views.py,sha256=SDUaDX7bPKsv8PziMPb0C3nH6vre-Q3bhzSQp4uPjbY,340
|
|
173
173
|
strawberry/relay/__init__.py,sha256=Vi4btvA_g6Cj9Tk_F9GCSegapIf2WqkOWV8y3P0cTCs,553
|
174
174
|
strawberry/relay/exceptions.py,sha256=b7sU2MhHVWJOfq27lvqdFcqBZ5P_JWk41JWRjtP-AOI,3916
|
175
175
|
strawberry/relay/fields.py,sha256=0A96V4mQzFJwP9g68tM3zKmbPxnfU2Ix6kbMI-x11LQ,15550
|
176
|
-
strawberry/relay/types.py,sha256=
|
177
|
-
strawberry/relay/utils.py,sha256=
|
176
|
+
strawberry/relay/types.py,sha256=pCFD0UXXofmdTS2wBURjg8KwIfdioMt2j4qNYfk6GqQ,30710
|
177
|
+
strawberry/relay/utils.py,sha256=STuJ2j-sTPa70O9juJX21nbhK6yhnHdwiAOWBYKOVdo,3160
|
178
178
|
strawberry/resolvers.py,sha256=g7_g3jmXszziGydY1UG6IItf9s6B1lGLUCnwW1kb8U0,224
|
179
179
|
strawberry/sanic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
180
180
|
strawberry/sanic/context.py,sha256=qfoj8QMaAiWbCQFAdm2KPPJGNc7ilXeKAl5z0XJ2nzo,805
|
181
181
|
strawberry/sanic/utils.py,sha256=eDiJPJYpELj4hFsx8CCAHomqe7dDEpStDPm6OfkstJ0,998
|
182
182
|
strawberry/sanic/views.py,sha256=CyhR9RCS4atekEorOH6wAOqfJgmi-h-hAfHA1rq8sA8,5584
|
183
|
-
strawberry/scalars.py,sha256=
|
183
|
+
strawberry/scalars.py,sha256=usENRKCwl60KstV9sBGYhk2dqW5zw2wGX5eTpOWQiqg,2106
|
184
184
|
strawberry/schema/__init__.py,sha256=u1QCyDVQExUVDA20kyosKPz3TS5HMCN2NrXclhiFAL4,92
|
185
185
|
strawberry/schema/base.py,sha256=lQBJyzG2ZhKc544oLbXEbpYOPOjaXBop3lxp68h_lfI,2976
|
186
186
|
strawberry/schema/compat.py,sha256=n0r3UPUcGemMqK8vklgtCkkuCA1p6tWAYbc6Vl4iNOw,1684
|
@@ -189,15 +189,15 @@ strawberry/schema/exceptions.py,sha256=T-DsvBtjx9svkegIm1YrVPGPswpVEpMTFc0_7flLE
|
|
189
189
|
strawberry/schema/execute.py,sha256=6OE7_5v4G3t_wxp1_mfwu8TTiIkTJNBQaeGCVAljUYw,10982
|
190
190
|
strawberry/schema/name_converter.py,sha256=UdNyd-QtqF2HsDCQK-nsOcLGxDTj4hJwYFNvMtZnpq4,6533
|
191
191
|
strawberry/schema/schema.py,sha256=MOC8k6NHolFGrCyqrungv0ciCImLdXTlbmo7y7rLRas,13734
|
192
|
-
strawberry/schema/schema_converter.py,sha256=
|
192
|
+
strawberry/schema/schema_converter.py,sha256=_pVXXDoswZPhUGqwXK7oB68XZ4Lf6gkHehR-X_-GqCI,35885
|
193
193
|
strawberry/schema/types/__init__.py,sha256=oHO3COWhL3L1KLYCJNY1XFf5xt2GGtHiMC-UaYbFfnA,68
|
194
194
|
strawberry/schema/types/base_scalars.py,sha256=Z_BmgwLicNexLipGyw6MmZ7OBnkGJU3ySgaY9SwBWrw,1837
|
195
195
|
strawberry/schema/types/concrete_type.py,sha256=HB30G1hMUuuvjAvfSe6ADS35iI_T_wKO-EprVOWTMSs,746
|
196
196
|
strawberry/schema/types/scalar.py,sha256=SVJ8HiKncCvOw2xwABI5xYaHcC7KkGHG-tx2WDtSoCA,2802
|
197
197
|
strawberry/schema_codegen/__init__.py,sha256=PcCVXjS0Y5Buxadm07YAZOVunkQ_DmmwsBrgsH1T4ds,24375
|
198
|
-
strawberry/schema_directive.py,sha256=
|
198
|
+
strawberry/schema_directive.py,sha256=XGKwcsxRpHXJQ_qXXMi1gEXlZOG22SbDf4Phxf4tbQ0,1967
|
199
199
|
strawberry/starlite/__init__.py,sha256=v209swT8H9MljVL-npvANhEO1zz3__PSfxb_Ix-NoeE,134
|
200
|
-
strawberry/starlite/controller.py,sha256=
|
200
|
+
strawberry/starlite/controller.py,sha256=moo2HlaJT6w9AijwjHvXi4UibUydaZfA75JMFZVMJPw,12191
|
201
201
|
strawberry/starlite/handlers/graphql_transport_ws_handler.py,sha256=WhfFVWdjRSk4A48MaBLGWqZdi2OnHajxdQlA_Gc4XBE,1981
|
202
202
|
strawberry/starlite/handlers/graphql_ws_handler.py,sha256=v1RxhvahVazKUg-KXosAcZfv5ap1rEp1A3726d5LkiU,2223
|
203
203
|
strawberry/static/apollo-sandbox.html,sha256=2XzkbE0dqsFHqehE-jul9_J9TFOpwA6Ylrlo0Kdx_9w,973
|
@@ -224,8 +224,8 @@ strawberry/types/fields/resolver.py,sha256=F_E8bmvYM-3hjkTMMtI1a0qs8raMOpYidh27u
|
|
224
224
|
strawberry/types/graphql.py,sha256=3SWZEsa0Zy1eVW6vy75BnB7t9_lJVi6TBV3_1j3RNBs,687
|
225
225
|
strawberry/types/info.py,sha256=b1ZWW_wUop6XrGNcGHKBQeUYjlX-y8u3s2Wm_XhKPYI,3412
|
226
226
|
strawberry/types/nodes.py,sha256=5tTYmxGpVDshbydicHTTBWEiUe8A7p7mdiaSV8Ry80Y,5027
|
227
|
-
strawberry/types/type_resolver.py,sha256=
|
228
|
-
strawberry/types/types.py,sha256=
|
227
|
+
strawberry/types/type_resolver.py,sha256=wuAYCbEjdov0IrnTvkFMNtSwb3lruQsbYI11x35ADeU,6542
|
228
|
+
strawberry/types/types.py,sha256=wgdZKrLal6uFeZFw5J9EWzPIify71sir30_VWcWPUxs,8122
|
229
229
|
strawberry/union.py,sha256=bQ3QBOLLugGvN434vHTZRuelgJdblfy8aJMrUpLgG_g,9585
|
230
230
|
strawberry/unset.py,sha256=4zYRN8vUD7lHQLLpulBFqEPfyvzpx8fl7ZDBUyfMqqk,1112
|
231
231
|
strawberry/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -241,8 +241,8 @@ strawberry/utils/logging.py,sha256=flS7hV0JiIOEdXcrIjda4WyIWix86cpHHFNJL8gl1y4,7
|
|
241
241
|
strawberry/utils/operation.py,sha256=Um-tBCPl3_bVFN2Ph7o1mnrxfxBes4HFCj6T0x4kZxE,1135
|
242
242
|
strawberry/utils/str_converters.py,sha256=avIgPVLg98vZH9mA2lhzVdyyjqzLsK2NdBw9mJQ02Xk,813
|
243
243
|
strawberry/utils/typing.py,sha256=SQVOw1nuFZk2Pe3iz0o8ebzpoyvBVoGSQZVZj6-8k7I,13483
|
244
|
-
strawberry_graphql-0.
|
245
|
-
strawberry_graphql-0.
|
246
|
-
strawberry_graphql-0.
|
247
|
-
strawberry_graphql-0.
|
248
|
-
strawberry_graphql-0.
|
244
|
+
strawberry_graphql-0.229.1.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
|
245
|
+
strawberry_graphql-0.229.1.dist-info/METADATA,sha256=a8YNAUtdtUE7PXlXt1Szt17YeefHY5xLPzllZdwf8DQ,7821
|
246
|
+
strawberry_graphql-0.229.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
247
|
+
strawberry_graphql-0.229.1.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
|
248
|
+
strawberry_graphql-0.229.1.dist-info/RECORD,,
|
{strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/LICENSE
RENAMED
File without changes
|
{strawberry_graphql-0.228.0.dev1713643365.dist-info → strawberry_graphql-0.229.1.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|