strawberry-graphql 0.235.1.dev1719337273__py3-none-any.whl → 0.236.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.
Files changed (182) hide show
  1. strawberry/__init__.py +17 -11
  2. strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +3 -0
  3. strawberry/aiohttp/handlers/graphql_ws_handler.py +3 -0
  4. strawberry/aiohttp/test/client.py +3 -0
  5. strawberry/aiohttp/views.py +3 -0
  6. strawberry/annotation.py +19 -22
  7. strawberry/asgi/__init__.py +3 -3
  8. strawberry/asgi/handlers/graphql_transport_ws_handler.py +3 -0
  9. strawberry/asgi/handlers/graphql_ws_handler.py +3 -0
  10. strawberry/asgi/test/client.py +3 -0
  11. strawberry/chalice/views.py +12 -3
  12. strawberry/channels/handlers/__init__.py +0 -0
  13. strawberry/channels/handlers/base.py +5 -5
  14. strawberry/channels/handlers/graphql_transport_ws_handler.py +3 -0
  15. strawberry/channels/handlers/graphql_ws_handler.py +3 -0
  16. strawberry/channels/handlers/http_handler.py +5 -2
  17. strawberry/channels/handlers/ws_handler.py +4 -1
  18. strawberry/channels/router.py +9 -5
  19. strawberry/channels/testing.py +11 -4
  20. strawberry/cli/commands/upgrade/__init__.py +13 -5
  21. strawberry/cli/commands/upgrade/_fake_progress.py +2 -1
  22. strawberry/cli/commands/upgrade/_run_codemod.py +18 -1
  23. strawberry/codegen/exceptions.py +8 -0
  24. strawberry/codegen/query_codegen.py +16 -7
  25. strawberry/codegen/types.py +32 -1
  26. strawberry/codemods/update_imports.py +136 -0
  27. strawberry/dataloader.py +13 -0
  28. strawberry/directive.py +52 -4
  29. strawberry/django/context.py +4 -1
  30. strawberry/django/test/client.py +3 -0
  31. strawberry/django/views.py +3 -0
  32. strawberry/exceptions/__init__.py +5 -5
  33. strawberry/exceptions/duplicated_type_name.py +1 -1
  34. strawberry/exceptions/invalid_argument_type.py +3 -3
  35. strawberry/exceptions/invalid_union_type.py +5 -6
  36. strawberry/exceptions/missing_arguments_annotations.py +1 -1
  37. strawberry/exceptions/missing_dependencies.py +10 -2
  38. strawberry/exceptions/missing_return_annotation.py +1 -1
  39. strawberry/exceptions/permission_fail_silently_requires_optional.py +3 -3
  40. strawberry/exceptions/scalar_already_registered.py +1 -1
  41. strawberry/exceptions/unresolved_field_type.py +2 -2
  42. strawberry/exceptions/utils/source_finder.py +5 -2
  43. strawberry/experimental/pydantic/conversion.py +5 -5
  44. strawberry/experimental/pydantic/conversion_types.py +4 -2
  45. strawberry/experimental/pydantic/error_type.py +2 -2
  46. strawberry/experimental/pydantic/fields.py +2 -2
  47. strawberry/experimental/pydantic/object_type.py +11 -7
  48. strawberry/experimental/pydantic/utils.py +4 -5
  49. strawberry/ext/dataclasses/dataclasses.py +2 -1
  50. strawberry/ext/mypy_plugin.py +10 -8
  51. strawberry/extensions/add_validation_rules.py +27 -23
  52. strawberry/extensions/base_extension.py +6 -4
  53. strawberry/extensions/directives.py +4 -1
  54. strawberry/extensions/disable_validation.py +15 -12
  55. strawberry/extensions/field_extension.py +11 -5
  56. strawberry/extensions/mask_errors.py +3 -0
  57. strawberry/extensions/max_aliases.py +21 -19
  58. strawberry/extensions/max_tokens.py +14 -16
  59. strawberry/extensions/parser_cache.py +22 -19
  60. strawberry/extensions/pyinstrument.py +4 -8
  61. strawberry/extensions/query_depth_limiter.py +22 -23
  62. strawberry/extensions/runner.py +3 -0
  63. strawberry/extensions/tracing/apollo.py +3 -0
  64. strawberry/extensions/tracing/datadog.py +7 -2
  65. strawberry/extensions/tracing/opentelemetry.py +3 -0
  66. strawberry/extensions/tracing/sentry.py +3 -0
  67. strawberry/extensions/tracing/utils.py +3 -0
  68. strawberry/extensions/utils.py +3 -0
  69. strawberry/extensions/validation_cache.py +23 -20
  70. strawberry/fastapi/context.py +3 -0
  71. strawberry/fastapi/handlers/graphql_transport_ws_handler.py +3 -0
  72. strawberry/fastapi/handlers/graphql_ws_handler.py +3 -0
  73. strawberry/fastapi/router.py +3 -0
  74. strawberry/federation/argument.py +4 -1
  75. strawberry/federation/enum.py +5 -3
  76. strawberry/federation/field.py +6 -3
  77. strawberry/federation/mutation.py +2 -0
  78. strawberry/federation/object_type.py +7 -4
  79. strawberry/federation/scalar.py +43 -20
  80. strawberry/federation/schema.py +12 -9
  81. strawberry/federation/schema_directive.py +2 -2
  82. strawberry/federation/schema_directives.py +19 -1
  83. strawberry/federation/types.py +5 -2
  84. strawberry/federation/union.py +27 -8
  85. strawberry/field_extensions/input_mutation.py +5 -2
  86. strawberry/file_uploads/scalars.py +3 -1
  87. strawberry/file_uploads/utils.py +3 -0
  88. strawberry/flask/views.py +8 -2
  89. strawberry/http/__init__.py +9 -0
  90. strawberry/http/async_base_view.py +4 -3
  91. strawberry/http/base.py +5 -7
  92. strawberry/http/exceptions.py +3 -0
  93. strawberry/http/ides.py +3 -0
  94. strawberry/http/sync_base_view.py +4 -3
  95. strawberry/http/temporal_response.py +3 -0
  96. strawberry/http/types.py +5 -2
  97. strawberry/http/typevars.py +3 -0
  98. strawberry/litestar/controller.py +6 -0
  99. strawberry/litestar/handlers/__init__.py +0 -0
  100. strawberry/litestar/handlers/graphql_transport_ws_handler.py +3 -0
  101. strawberry/litestar/handlers/graphql_ws_handler.py +3 -0
  102. strawberry/parent.py +27 -21
  103. strawberry/permission.py +70 -27
  104. strawberry/printer/ast_from_value.py +4 -1
  105. strawberry/printer/printer.py +8 -5
  106. strawberry/quart/views.py +3 -0
  107. strawberry/relay/exceptions.py +7 -0
  108. strawberry/relay/fields.py +70 -45
  109. strawberry/relay/types.py +78 -78
  110. strawberry/relay/utils.py +10 -1
  111. strawberry/resolvers.py +3 -0
  112. strawberry/sanic/context.py +3 -0
  113. strawberry/sanic/utils.py +10 -8
  114. strawberry/sanic/views.py +5 -9
  115. strawberry/scalars.py +6 -2
  116. strawberry/schema/base.py +7 -4
  117. strawberry/schema/compat.py +12 -2
  118. strawberry/schema/config.py +3 -0
  119. strawberry/schema/exceptions.py +3 -0
  120. strawberry/schema/execute.py +3 -0
  121. strawberry/schema/name_converter.py +12 -9
  122. strawberry/schema/schema.py +46 -9
  123. strawberry/schema/schema_converter.py +16 -14
  124. strawberry/schema/types/base_scalars.py +3 -1
  125. strawberry/schema/types/concrete_type.py +4 -4
  126. strawberry/schema/types/scalar.py +8 -1
  127. strawberry/schema/validation_rules/one_of.py +3 -0
  128. strawberry/schema_codegen/__init__.py +3 -0
  129. strawberry/schema_directive.py +2 -2
  130. strawberry/starlite/controller.py +3 -0
  131. strawberry/starlite/handlers/__init__.py +0 -0
  132. strawberry/starlite/handlers/graphql_transport_ws_handler.py +3 -0
  133. strawberry/starlite/handlers/graphql_ws_handler.py +3 -0
  134. strawberry/subscriptions/__init__.py +6 -0
  135. strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +5 -0
  136. strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +12 -17
  137. strawberry/subscriptions/protocols/graphql_transport_ws/types.py +21 -25
  138. strawberry/subscriptions/protocols/graphql_ws/__init__.py +14 -0
  139. strawberry/subscriptions/protocols/graphql_ws/handlers.py +8 -5
  140. strawberry/subscriptions/protocols/graphql_ws/types.py +11 -0
  141. strawberry/test/client.py +44 -29
  142. strawberry/tools/create_type.py +27 -8
  143. strawberry/tools/merge_types.py +5 -3
  144. strawberry/types/__init__.py +8 -1
  145. strawberry/{arguments.py → types/arguments.py} +44 -13
  146. strawberry/{auto.py → types/auto.py} +21 -3
  147. strawberry/types/{types.py → base.py} +234 -10
  148. strawberry/{enum.py → types/enum.py} +69 -9
  149. strawberry/types/execution.py +3 -0
  150. strawberry/{field.py → types/field.py} +46 -23
  151. strawberry/types/fields/resolver.py +2 -2
  152. strawberry/types/graphql.py +3 -0
  153. strawberry/types/info.py +50 -7
  154. strawberry/{lazy_type.py → types/lazy_type.py} +50 -0
  155. strawberry/types/mutation.py +351 -0
  156. strawberry/types/nodes.py +4 -2
  157. strawberry/{object_type.py → types/object_type.py} +108 -29
  158. strawberry/{private.py → types/private.py} +13 -6
  159. strawberry/{custom_scalar.py → types/scalar.py} +39 -23
  160. strawberry/types/type_resolver.py +21 -16
  161. strawberry/{union.py → types/union.py} +24 -9
  162. strawberry/{unset.py → types/unset.py} +20 -0
  163. strawberry/utils/aio.py +8 -0
  164. strawberry/utils/await_maybe.py +3 -0
  165. strawberry/utils/dataclasses.py +3 -0
  166. strawberry/utils/debug.py +5 -2
  167. strawberry/utils/deprecations.py +3 -0
  168. strawberry/utils/graphql_lexer.py +3 -0
  169. strawberry/utils/importer.py +3 -0
  170. strawberry/utils/inspect.py +39 -30
  171. strawberry/utils/logging.py +3 -0
  172. strawberry/utils/operation.py +3 -0
  173. strawberry/utils/str_converters.py +3 -0
  174. strawberry/utils/typing.py +33 -16
  175. {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/METADATA +1 -1
  176. strawberry_graphql-0.236.0.dist-info/RECORD +255 -0
  177. strawberry/mutation.py +0 -8
  178. strawberry/type.py +0 -232
  179. strawberry_graphql-0.235.1.dev1719337273.dist-info/RECORD +0 -252
  180. {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/LICENSE +0 -0
  181. {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/WHEEL +0 -0
  182. {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/entry_points.txt +0 -0
@@ -44,10 +44,13 @@ def get_generic_alias(type_: Type) -> Type:
44
44
  Given a type, its generic alias from `typing` module will be returned
45
45
  if it exists. For example:
46
46
 
47
- >>> get_generic_alias(list)
48
- typing.List
49
- >>> get_generic_alias(dict)
50
- typing.Dict
47
+ ```python
48
+ get_generic_alias(list)
49
+ # typing.List
50
+
51
+ get_generic_alias(dict)
52
+ # typing.Dict
53
+ ```
51
54
 
52
55
  This is mostly useful for python versions prior to 3.9, to get a version
53
56
  of a concrete type which supports `__class_getitem__`. In 3.9+ types like
@@ -78,16 +81,14 @@ def is_generic_alias(type_: Any) -> TypeGuard[_GenericAlias]:
78
81
 
79
82
 
80
83
  def is_list(annotation: object) -> bool:
81
- """Returns True if annotation is a List"""
82
-
84
+ """Returns True if annotation is a List."""
83
85
  annotation_origin = getattr(annotation, "__origin__", None)
84
86
 
85
87
  return annotation_origin == list
86
88
 
87
89
 
88
90
  def is_union(annotation: object) -> bool:
89
- """Returns True if annotation is a Union"""
90
-
91
+ """Returns True if annotation is a Union."""
91
92
  # this check is needed because unions declared with the new syntax `A | B`
92
93
  # don't have a `__origin__` property on them, but they are instances of
93
94
  # `UnionType`, which is only available in Python 3.10+
@@ -105,8 +106,7 @@ def is_union(annotation: object) -> bool:
105
106
 
106
107
 
107
108
  def is_optional(annotation: Type) -> bool:
108
- """Returns True if the annotation is Optional[SomeType]"""
109
-
109
+ """Returns True if the annotation is Optional[SomeType]."""
110
110
  # Optionals are represented as unions
111
111
 
112
112
  if not is_union(annotation):
@@ -153,7 +153,6 @@ def is_generic_subclass(annotation: type) -> bool:
153
153
 
154
154
  def is_generic(annotation: type) -> bool:
155
155
  """Returns True if the annotation is or extends a generic."""
156
-
157
156
  return (
158
157
  # TODO: These two lines appear to have the same effect. When will an
159
158
  # annotation have parameters but not satisfy the first condition?
@@ -164,7 +163,6 @@ def is_generic(annotation: type) -> bool:
164
163
 
165
164
  def is_type_var(annotation: Type) -> bool:
166
165
  """Returns True if the annotation is a TypeVar."""
167
-
168
166
  return isinstance(annotation, TypeVar)
169
167
 
170
168
 
@@ -259,7 +257,7 @@ def _get_namespace_from_ast(
259
257
  globalns: Optional[Dict] = None,
260
258
  localns: Optional[Dict] = None,
261
259
  ) -> Dict[str, Type]:
262
- from strawberry.lazy_type import StrawberryLazyReference
260
+ from strawberry.types.lazy_type import StrawberryLazyReference
263
261
 
264
262
  extra = {}
265
263
 
@@ -328,9 +326,9 @@ def eval_type(
328
326
  localns: Optional[Dict] = None,
329
327
  ) -> Type:
330
328
  """Evaluates a type, resolving forward references."""
331
- from strawberry.auto import StrawberryAuto
332
- from strawberry.lazy_type import StrawberryLazyReference
333
- from strawberry.private import StrawberryPrivate
329
+ from strawberry.types.auto import StrawberryAuto
330
+ from strawberry.types.lazy_type import StrawberryLazyReference
331
+ from strawberry.types.private import StrawberryPrivate
334
332
 
335
333
  globalns = globalns or {}
336
334
  # If this is not a string, maybe its args are (e.g. List["Foo"])
@@ -411,3 +409,22 @@ def eval_type(
411
409
  )
412
410
 
413
411
  return type_
412
+
413
+
414
+ __all__ = [
415
+ "get_generic_alias",
416
+ "is_generic_alias",
417
+ "is_list",
418
+ "is_union",
419
+ "is_optional",
420
+ "get_optional_annotation",
421
+ "get_list_annotation",
422
+ "is_concrete_generic",
423
+ "is_generic_subclass",
424
+ "is_generic",
425
+ "is_type_var",
426
+ "is_classvar",
427
+ "type_has_annotation",
428
+ "get_parameters",
429
+ "eval_type",
430
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.235.1.dev1719337273
3
+ Version: 0.236.0
4
4
  Summary: A library for creating GraphQL APIs
5
5
  Home-page: https://strawberry.rocks/
6
6
  License: MIT
@@ -0,0 +1,255 @@
1
+ strawberry/__init__.py,sha256=tJOqxIEg3DYPe48P952sMjF3IxxZqZfIY-kNRlbwBNg,1374
2
+ strawberry/__main__.py,sha256=3U77Eu21mJ-LY27RG-JEnpbh6Z63wGOom4i-EoLtUcY,59
3
+ strawberry/aiohttp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ strawberry/aiohttp/handlers/__init__.py,sha256=7EeGIIwrgJYHAS9XJnZLfRGL_GHrligKm39rrVt7qDA,241
5
+ strawberry/aiohttp/handlers/graphql_transport_ws_handler.py,sha256=-dihpF3pueV6jcd0x4k0GF-3VtG_IvfyKQ1ZVgg1T4U,2092
6
+ strawberry/aiohttp/handlers/graphql_ws_handler.py,sha256=Ol8tBLIeal7bRiG_uxyJXnXo24xMDEh6M5XsuCyUpVQ,2275
7
+ strawberry/aiohttp/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
8
+ strawberry/aiohttp/test/client.py,sha256=4vjTDxtNVfpa74GfUUO7efPI6Ssh1vzfCYp3tPA-SLk,1357
9
+ strawberry/aiohttp/views.py,sha256=3Imc-kP01zhDYmWQRFcQyZsObqdELQ84d-3zFrpHNxA,6091
10
+ strawberry/annotation.py,sha256=ftSxGZQUk4C5_5YRM_wNJFVVnZi0XOp71kD7zv4oxbU,13077
11
+ strawberry/asgi/__init__.py,sha256=WEoF0LHx22ABKo0vmN6vQGRVEc0EDLzrqUH99trMqrg,7013
12
+ strawberry/asgi/handlers/__init__.py,sha256=rz5Gth2eJUn7tDq2--99KSNFeMdDPpLFCkfA7vge0cI,235
13
+ strawberry/asgi/handlers/graphql_transport_ws_handler.py,sha256=_5N58XdtCZndU81ky1f5cwG9E4NhysxP4uHlqqZNzn4,2147
14
+ strawberry/asgi/handlers/graphql_ws_handler.py,sha256=KQXmbk7uDwiG1yOadz65GsSzjAPUjKrpEQYAA94nGRM,2379
15
+ strawberry/asgi/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
16
+ strawberry/asgi/test/client.py,sha256=VolupxMna9ktF1lYgV_dUQAIN53DNzVyWTeWTbwsxqE,1448
17
+ strawberry/chalice/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ strawberry/chalice/views.py,sha256=VXXOfR3JIEf5CsPMZe0sXBnsH097uPyPe_CdqwESVv4,4770
19
+ strawberry/channels/__init__.py,sha256=9oRdAT7uIYETF-23gZ5NteOXSjwkUtwRmwu3YCFv1tw,671
20
+ strawberry/channels/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ strawberry/channels/handlers/base.py,sha256=DlMmzuZl-feceZZ7UHLW-zBSNVxHvaWTqwyWDP-e1Dg,7861
22
+ strawberry/channels/handlers/graphql_transport_ws_handler.py,sha256=jMWmZ4Haoo3bf_bcM4ZheAjkreuhZBhwMhEX6GZ0Ue4,1995
23
+ strawberry/channels/handlers/graphql_ws_handler.py,sha256=2W_KpXMmC-LbFLBMMFNarFIMyEBipmIOlQpfnfsyLbE,2538
24
+ strawberry/channels/handlers/http_handler.py,sha256=XhP2CUMCcrKjHzwts3FimumghEMVqNXNb9cddbUwC90,9647
25
+ strawberry/channels/handlers/ws_handler.py,sha256=rXWhLxDHSGJHYdCDMb-pckxka-rf4VZqaNSzkagTa6w,4693
26
+ strawberry/channels/router.py,sha256=DKIbl4zuRBhfvViUVpyu0Rf_WRT41E6uZC-Yic9Ltvo,2024
27
+ strawberry/channels/testing.py,sha256=f_PcBngLJXRmLftpr0IEoXiJzChsDPaB_ax7CK3oHmQ,6152
28
+ strawberry/cli/__init__.py,sha256=byS5VrEiTJatAH6YS4V1Kd4SOwMRAQO2M1oJdIddivg,585
29
+ strawberry/cli/app.py,sha256=tTMBV1pdWqMcwjWO2yn-8oLDhMhfJvUzyQtWs75LWJ0,54
30
+ strawberry/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ strawberry/cli/commands/codegen.py,sha256=f3TKQVeg0iMYV3qcSXlvTNgG73ZWC60zjbeuK_RkQ3M,3825
32
+ strawberry/cli/commands/export_schema.py,sha256=8XBqbejk0kT2fHky74DzW2TnE8APNMs0cKtatEjErUA,1024
33
+ strawberry/cli/commands/schema_codegen.py,sha256=G6eV08a51sjVxCm3jn75oPn9hC8YarKiAKOY5bpTuKU,749
34
+ strawberry/cli/commands/server.py,sha256=M175Etn4163oqP3egHBpZ8ga2Ilk8XgdDJtz6zfHPxM,2189
35
+ strawberry/cli/commands/upgrade/__init__.py,sha256=fnJBLNQulHThsTQqT7_ayc7IwGFmQVd4W2rUVKDK8b0,2505
36
+ strawberry/cli/commands/upgrade/_fake_progress.py,sha256=fefLgJwTXe4kG9RntdEJdzkPPRBK_pZqnmMH-pxD85Y,484
37
+ strawberry/cli/commands/upgrade/_run_codemod.py,sha256=JBEkwNBHWtBgzi_Q0e5HeDcZuHR_p-mSMQNnr1d0W2E,2494
38
+ strawberry/cli/constants.py,sha256=GhhDZOl9lN4glq50OI1oSbPSGqQXEarZ6r_Grq8pcpI,138
39
+ strawberry/cli/debug_server.py,sha256=mKxJZf_-SbWWusoFMzT8-E5qTshIx3IuciG6xlC21kI,999
40
+ strawberry/cli/utils/__init__.py,sha256=RhfKIsINPYzzCBTAyVh9_YOYUY8fgWMYl9b9lFHBOpw,678
41
+ strawberry/cli/utils/load_schema.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ strawberry/codegen/__init__.py,sha256=qVfUJXv_2HqZTzi02An2V9auAseT9efi1f5APDG5DjA,250
43
+ strawberry/codegen/exceptions.py,sha256=qD6uFEpfJaP8ntesWlOwXxoGKCqR1s734_y9qOv-FMc,365
44
+ strawberry/codegen/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ strawberry/codegen/plugins/print_operation.py,sha256=aw2o-41nZSZ2eOHPyp58-45QsAgUs1MmnHDIQzQRg9M,6805
46
+ strawberry/codegen/plugins/python.py,sha256=aellTnJAZOfTZqFXH4fEGYFjnnCucyroeOXo9D0QkrA,6924
47
+ strawberry/codegen/plugins/typescript.py,sha256=f3JJ0FGuhycu-bxOkW7KxAyYdfmcbej-lueOJZx3V7Y,3783
48
+ strawberry/codegen/query_codegen.py,sha256=Fc9oDprjXPV1OlIPmHUgI7iW6R_dhUj7QBTFM0cTsqc,30363
49
+ strawberry/codegen/types.py,sha256=TBVjaKHBvr9QwELRdZUVlWS01wIEVXXTWs5etjqHVhk,4162
50
+ strawberry/codemods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
+ strawberry/codemods/annotated_unions.py,sha256=TStU8ye5J1---P5mNWXBGeQa8m_J7FyPU_MYjzDZ-RU,5910
52
+ strawberry/codemods/update_imports.py,sha256=YOuL9ABs_acVqhhgg-9HSA3sI0hjjWv5F2iTtmOec1w,4645
53
+ strawberry/dataloader.py,sha256=QQ88GFdOMQbFyASksCS_I3Fiwd7U5c08zMUts7EO9rI,7881
54
+ strawberry/directive.py,sha256=55qdcVZoVBmr20WHZi59f-Ece-Sm4pLErOcKAPmGHwQ,3586
55
+ strawberry/django/__init__.py,sha256=07cxG0P0UzHQZPPzG1RNw3YaGSICjPbJrJdPFelxJVI,799
56
+ strawberry/django/apps.py,sha256=ZWw3Mzv1Cgy0T9xT8Jr2_dkCTZjT5WQABb34iqnu5pc,135
57
+ strawberry/django/context.py,sha256=XL85jDGAVnb2pwgm5uRUvIXwlGia3i-8ZVfKihf0T24,655
58
+ strawberry/django/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
59
+ strawberry/django/test/client.py,sha256=6dorWECd0wdn8fu3dabE-dfGK3uza58mGrdJ-xPct-w,626
60
+ strawberry/django/views.py,sha256=QIrAZr-XkY-hILokHPPTQkazzh11LXqAzm9d1jSCJKo,9235
61
+ strawberry/exceptions/__init__.py,sha256=DgdOJUs2xXHWcakr4tN6iIogltPi0MNnpu6MM6K0p5k,6347
62
+ strawberry/exceptions/conflicting_arguments.py,sha256=68f6kMSXdjuEjZkoe8o2I9PSIjwTS1kXsSGaQBPk_hI,1587
63
+ strawberry/exceptions/duplicated_type_name.py,sha256=-FG5qG_Mvkd7ROdOxCB9bijf8QR6Olryf07mbAFC0-U,2210
64
+ strawberry/exceptions/exception.py,sha256=1NrsTAzko1fUrSpXjYpNoCk2XuYJerEKj_CDeqGe_eA,3447
65
+ strawberry/exceptions/exception_source.py,sha256=Krr9KprJLMuiDBYRzRYULvLIuSjd8gIaiXmPoPCHEDo,404
66
+ strawberry/exceptions/handler.py,sha256=Ka-uFyyNtduNVnz_SXZrthSNLN6HCzHtMXV4_fAbaA8,2696
67
+ strawberry/exceptions/invalid_argument_type.py,sha256=xu239AOYV0zKt4B6y3f4yZfcIJfB5qCcORWJBM9XPQw,2213
68
+ strawberry/exceptions/invalid_union_type.py,sha256=LvBcf2foTfc-Hu-ZAKRV7R53JrhVF0VbDrD3vwS_Bdo,3616
69
+ strawberry/exceptions/missing_arguments_annotations.py,sha256=1P34Iemkisvgkr-3yEGLWszMo3DFie4v9YQf7DP0olM,2013
70
+ strawberry/exceptions/missing_dependencies.py,sha256=YqMdmXJ_9FnEMFYG6hXyb-1km7N7wsldbat__OigdUQ,832
71
+ strawberry/exceptions/missing_field_annotation.py,sha256=sZ94_b7GlFZ-KR2S1VyXFx8MV2E7uFITg9wcvWhv1Mk,1338
72
+ strawberry/exceptions/missing_return_annotation.py,sha256=w7uHlEdSl86nZkLva12ErXV8rnNv6NcXn_dDBtag6fs,1405
73
+ strawberry/exceptions/not_a_strawberry_enum.py,sha256=MC7zbNvINTluywuVGX4oBFJzPw9Uy2M0a4A3VkQqDYI,1105
74
+ strawberry/exceptions/object_is_not_a_class.py,sha256=pfPdVNbcdkqQanJf9G-NAHy0QR3Bx1hCUg_Kn_25g-0,2008
75
+ strawberry/exceptions/object_is_not_an_enum.py,sha256=cJnqE23zXMYLd_NfN9UYkHU270EJjEGL6oNC-cCNx_Y,1269
76
+ strawberry/exceptions/permission_fail_silently_requires_optional.py,sha256=iQPxvVmRxaZQ__TO6Pv_Bwzs-9wDX5woPBtK9XK42i0,1735
77
+ strawberry/exceptions/private_strawberry_field.py,sha256=-ae1e07P_N0UJMHQvk4rvo8NhABorwNyyKRTzh7UQ9M,1334
78
+ strawberry/exceptions/scalar_already_registered.py,sha256=fkShJdwfawbs39Hje1VOTKNQdAIju-_N14P9CVtrbBI,1848
79
+ strawberry/exceptions/syntax.py,sha256=OCz2Ai1Yn0jonRZXCDI2h30tPNsa8L5wMU8vcqIO4cg,1758
80
+ strawberry/exceptions/unresolved_field_type.py,sha256=WcZHAJJCwco1eb_oSrJWyXpxU1fNTUUvcAAhC88tHII,1877
81
+ strawberry/exceptions/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
+ strawberry/exceptions/utils/source_finder.py,sha256=0IBbOOsdrNAYVZ1eg5WMR01js-5w6uDAN82P8fTVjaw,20078
83
+ strawberry/experimental/__init__.py,sha256=2HP5XtxL8ZKsPp4EDRAbMCqiP7p2V4Cca278JUGxnt0,102
84
+ strawberry/experimental/pydantic/__init__.py,sha256=jlsYH1j_9W4ieRpUKgt5zQPERDL7nc1ZBNQ3dAhJs8w,241
85
+ strawberry/experimental/pydantic/_compat.py,sha256=-qJvpNzsDuY5E2NF87FL7QiakrhJXWqiCjCoS0tr1_g,8371
86
+ strawberry/experimental/pydantic/conversion.py,sha256=n2wLlzMgFooTHe7GeVsIihM-9SVY1Sp2V8yfqwpLDBY,4250
87
+ strawberry/experimental/pydantic/conversion_types.py,sha256=LdLFp0e7_YPntmHDwZDpPbozfANp3TWgBrHGRFBWPf8,937
88
+ strawberry/experimental/pydantic/error_type.py,sha256=kHqACk3F8kKT3V8PZr2h7-KI9M4UNpMjtq_TiOwYI38,4382
89
+ strawberry/experimental/pydantic/exceptions.py,sha256=Q8Deq3bNkMgc8fwvIYdcfxHSONXVMu-ZB6jcsh1NQYo,1498
90
+ strawberry/experimental/pydantic/fields.py,sha256=pmBqlq1DUtNkmDlXdA0Hmp3Xy252P6v5uyDF4WGcnl0,2588
91
+ strawberry/experimental/pydantic/object_type.py,sha256=REYenW0Av-AilnfNwynxp3Mt9FQLm96Uoknxu8LdUNM,12419
92
+ strawberry/experimental/pydantic/utils.py,sha256=ViR7HGtnlYmyjUwIqGaEoBPo6dcibckwTFgp0GgwO6A,4073
93
+ strawberry/ext/LICENSE,sha256=_oY0TZg0b_sW0--0T44aMTpy2e2zF1Kiyn8E1qDiivo,1249
94
+ strawberry/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ strawberry/ext/dataclasses/LICENSE,sha256=WZgm35K_3NJwLqxpEHJJi7CWxVrwTumEz5D3Dtd7WnA,13925
96
+ strawberry/ext/dataclasses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ strawberry/ext/dataclasses/dataclasses.py,sha256=fshCPQm1o4q1AwzmQzdlBIQ_JUNnwSlvBfsLZ0zIHuk,2299
98
+ strawberry/ext/mypy_plugin.py,sha256=cbIwfDVZl-Nhj_X0ybJnnHIyUt5dBZSDY49Gs3Px-EE,19740
99
+ strawberry/extensions/__init__.py,sha256=SZ-YEMnxAzoDZFo-uHXMHOaY_PPkYm1muPpK4ccJ3Xk,1248
100
+ strawberry/extensions/add_validation_rules.py,sha256=abkOaXG-unAZj2xL2sspeUXpZKBCpj5Kr5h7TreN4gM,1338
101
+ strawberry/extensions/base_extension.py,sha256=pQdN06K14dtWl_nxCIE4DBbGaB6mzxvidRdwNcDwZj8,2068
102
+ strawberry/extensions/context.py,sha256=j2pxKnZ8HOgugm_P_YJV6Fbp_SXkS-U5OLQvn-ofjRM,7210
103
+ strawberry/extensions/directives.py,sha256=UNTdzYf60kUtN8BHRwLZ7dKogixywoK9i6gkXkyYlJg,3037
104
+ strawberry/extensions/disable_validation.py,sha256=wupc5zATOLyZmay14WI-FKaPZo0jj23hv8_4H3jvbMQ,741
105
+ strawberry/extensions/field_extension.py,sha256=PHsb1ctvyrjOmgWVQdABFDAlnPYsalExYM7jYu5VPVg,5740
106
+ strawberry/extensions/mask_errors.py,sha256=Khfun5JtrU57rhnP2Sxsl8Q6Eo70GYoQcn9sPDLg4nY,1460
107
+ strawberry/extensions/max_aliases.py,sha256=gBaqnjPh1L5xlwx_w-nISmTJ6WdbWoVFD52pFwxALfI,2553
108
+ strawberry/extensions/max_tokens.py,sha256=36WZehpieeYs4qQg2G2D3aRXFcw--rR37utsGx3fnOg,1036
109
+ strawberry/extensions/parser_cache.py,sha256=IvDbkVpKC_2lDXLZyrvj0VleZghbtkD6l2Sf1mBOT-A,1283
110
+ strawberry/extensions/pyinstrument.py,sha256=dy2NPagLDW4mU2jTfaHek3H1SBVZCjwYKf0zPMxTYp8,712
111
+ strawberry/extensions/query_depth_limiter.py,sha256=Jtg-HSmEux97Z09Y5G5nhTbJu56rBiGmMG6lB1_ejz8,9882
112
+ strawberry/extensions/runner.py,sha256=tgr1-oc553HvJmEB1OSolkV4ixWqusJ-iqoguzAUFe4,2735
113
+ strawberry/extensions/tracing/__init__.py,sha256=wx8_EAroGhNrP4HiGYMgKo8jnCsfde5ib6lO4OvcLV0,1400
114
+ strawberry/extensions/tracing/apollo.py,sha256=XlI88NzSZBSmBHEJ9iitDU9br2-9CdjdtHE_eiTJCIw,5880
115
+ strawberry/extensions/tracing/datadog.py,sha256=khxvY4_WTjYaeJUb_dn6mLvmk9TCS4tIodnC3G-9pTo,5541
116
+ strawberry/extensions/tracing/opentelemetry.py,sha256=MH2j71denfLmzInl6zcTzxzckqjcwOzm_F305z8-vYw,7281
117
+ strawberry/extensions/tracing/sentry.py,sha256=y4km7GypJelFnlZbJ4L8aUR665T3sTIp4oauczA-uvE,5023
118
+ strawberry/extensions/tracing/utils.py,sha256=tXZNyqfct6YNSWi3GRj4GU1fKQGvSce8ZESfoVeys7U,654
119
+ strawberry/extensions/utils.py,sha256=YPiacKNLQXvpYj-HI6fR5ORFdM9RrcdabGeM7F8vBGg,1001
120
+ strawberry/extensions/validation_cache.py,sha256=CZ-brPYA1grL_lW38Rq4TxEVKlHM2n1DC6q9BHlSF4g,1398
121
+ strawberry/fastapi/__init__.py,sha256=p5qg9AlkYjNOWKcT4uRiebIpR6pIb1HqDMiDfF5O3tg,147
122
+ strawberry/fastapi/context.py,sha256=07991DShQoYMBVyQl9Mh5xvXQSNQI2RXT2ZQ5fWiga4,690
123
+ strawberry/fastapi/handlers/__init__.py,sha256=TziBHyibYBOGiidjpCkjNThYbVY7K_nt0hnRLVHVh3I,241
124
+ strawberry/fastapi/handlers/graphql_transport_ws_handler.py,sha256=5ivH7DJup0ZyGawAcj-n9VE_exBTje9Hou0_GIZCyD4,591
125
+ strawberry/fastapi/handlers/graphql_ws_handler.py,sha256=OTloVUvEgXDpqjOlBAT1FnaNWRAglQgAt613YH06roc,537
126
+ strawberry/fastapi/router.py,sha256=QJAhpTHU6vuYdDzIcTdjjTnzRVID5G_KXMxiX9DBxfQ,13341
127
+ strawberry/federation/__init__.py,sha256=FeUxLiBVuk9TKBmJJi51SeUaI8c80rS8hbl9No-hjII,535
128
+ strawberry/federation/argument.py,sha256=2m_wgp7uFQDimTDDCBBqSoWeTop4MD1-KjjYrumEJIw,833
129
+ strawberry/federation/enum.py,sha256=1rx50FiSMS-NjEFErhRSYB5no8TPsGMA_cH7hVbxAFI,3015
130
+ strawberry/federation/field.py,sha256=u7J2f2QAwzkgYx9S3oxCy9b2LduC6pglyUUHbVkk-XA,6212
131
+ strawberry/federation/mutation.py,sha256=5t2E419m4K2W6LoWEOzWgMdL2J0PwHnsffYkpChqqDQ,67
132
+ strawberry/federation/object_type.py,sha256=vrf7KC9p_UNV4hXIVDjZeUjx9xzfH3BF6ZYdlUEQW50,9357
133
+ strawberry/federation/scalar.py,sha256=c1FI3uPxbSM4wj88TaXsBK5t2w6S-rypzojcSNC-pnQ,4636
134
+ strawberry/federation/schema.py,sha256=7b29dUGZU1HEdbhxV26I7xhtXSC-xZ6D8XFpMWlxPzk,13325
135
+ strawberry/federation/schema_directive.py,sha256=GxmwapBQq80ZOjA4v_xhogHU3eV3N-ZiTRJOXffltbg,1751
136
+ strawberry/federation/schema_directives.py,sha256=aIJ1zpASClF6ujLCUWmNuSR1ccX3pyvBTK501DUh-5Q,6400
137
+ strawberry/federation/types.py,sha256=cqyx_-GJ5d__hac7bip_dQKm9NGR88D0N1JVnde0Ji8,360
138
+ strawberry/federation/union.py,sha256=pKovq7UJls9r9PLRRtrzvx8vyoB09fhOT0ugWcz3ZZY,1659
139
+ strawberry/field_extensions/__init__.py,sha256=0z6RG9jEO7jpAuyEaQhRI5A_30rdcvsBM0qMhLs8y2s,96
140
+ strawberry/field_extensions/input_mutation.py,sha256=2VF-JuiHzo9o6ZH3mLpaB1T2jes2EOpqnKZyak7Ddi4,2701
141
+ strawberry/file_uploads/__init__.py,sha256=v2-6FGBqnTnMPSUTFOiXpIutDMl-ga0PFtw5tKlcagk,50
142
+ strawberry/file_uploads/scalars.py,sha256=NRDeB7j8aotqIkz9r62ISTf4DrxQxEZYUuHsX5K16aU,161
143
+ strawberry/file_uploads/utils.py,sha256=2zsXg3QsKgGLD7of2dW-vgQn_Naf7I3Men9PhEAFYwM,1160
144
+ strawberry/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
+ strawberry/flask/views.py,sha256=g1UxQUCmDRozzyDWmB3Hb8HbgpB2ZfAcAk2xmlEaGVI,5627
146
+ strawberry/http/__init__.py,sha256=lRHuYeDUvz7bpLsvBvTYPOXwD_uMz2LO78QaqGVSvEQ,1546
147
+ strawberry/http/async_base_view.py,sha256=yjD9PVgFBn4ccpy396Kuty7GjfRCeBaMnv-Ls42aQF8,7154
148
+ strawberry/http/base.py,sha256=Hnut_jIBmVy5jTDltFL7a-3J2RlOKdMNY5r7c_R962w,2246
149
+ strawberry/http/exceptions.py,sha256=WdWO3RvZDax_yAdD0zlVex9tQgwNx7tjz8_A8kP4YHo,193
150
+ strawberry/http/ides.py,sha256=3dqFRY8_9ZqyIYR_EyRdPZ1zhL3lxRYT2MPk84O_Tk8,874
151
+ strawberry/http/sync_base_view.py,sha256=hZKgQYMeYiPUMmocJKXV0j1tPAEtvTmUJniD9lbf0NA,6849
152
+ strawberry/http/temporal_response.py,sha256=QrGYSg7Apu7Mh-X_uPKDZby-UicXw2J_ywxaqhS8a_4,220
153
+ strawberry/http/types.py,sha256=cAuaiUuvaMI_XhZ2Ey6Ej23WyQKqMGFxzzpVHDjVazY,371
154
+ strawberry/http/typevars.py,sha256=flx5KPWnTwYju7VwRSVhMmx15Rl1pQT1K57_GnK72Hg,282
155
+ strawberry/litestar/__init__.py,sha256=zsXzg-mglCGUVO9iNXLm-yadoDSCK7k-zuyRqyvAh1w,237
156
+ strawberry/litestar/controller.py,sha256=c3Z-XS_eNkTFNvvitsNaJRV0fswkCJju5ACY7ymwLRs,13369
157
+ strawberry/litestar/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ strawberry/litestar/handlers/graphql_transport_ws_handler.py,sha256=rDE-I02_fCov4FfpdBJBE2Xt-4FSNU8xJuQ6xedMF6E,2050
159
+ strawberry/litestar/handlers/graphql_ws_handler.py,sha256=iCi2htoSgfk5H59gnw0tMwe9NxodqcaaxSsZ6TkQWYU,2283
160
+ strawberry/parent.py,sha256=sXURm0lauSpjUADsmfNGY-Zl7kHs0A67BFcWuWKzRxw,771
161
+ strawberry/permission.py,sha256=NsYq-c4AgDCDBsYXsJN94yWJjuwYkvytpqXE4BIf_vc,7226
162
+ strawberry/printer/__init__.py,sha256=DmepjmgtkdF5RxK_7yC6qUyRWn56U-9qeZMbkztYB9w,62
163
+ strawberry/printer/ast_from_value.py,sha256=LgM5g2qvBOnAIf9znbiMEcRX0PGSQohR3Vr3QYfU604,4983
164
+ strawberry/printer/printer.py,sha256=5reR7kVGVQn7iGSeRYjLNOVgdnd5K8fKH_otWStCmHA,17508
165
+ strawberry/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
+ strawberry/quart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
+ strawberry/quart/views.py,sha256=5Y7JNv3oi9u__iQx2l2fQvz-Ha1H-ZhhYslaFsNUIs0,3432
168
+ strawberry/relay/__init__.py,sha256=Vi4btvA_g6Cj9Tk_F9GCSegapIf2WqkOWV8y3P0cTCs,553
169
+ strawberry/relay/exceptions.py,sha256=KZSRJYlfutrAQALtBPnzJHRIMK6GZSnKAT_H4wIzGcI,4035
170
+ strawberry/relay/fields.py,sha256=5Goe-eh2wi_sIeHy6RpuQlJmgYBxhzAA77lUehSu70c,16911
171
+ strawberry/relay/types.py,sha256=YCBU2AxYnipwxjgOHRRMbqGr34HNVJGwkT65EzJ5-VM,29752
172
+ strawberry/relay/utils.py,sha256=Vqi4raWdzRkqt7jU_RBMCwXp4h6H-16WJ7la0lugZi0,5692
173
+ strawberry/resolvers.py,sha256=Vdidc3YFc4-olSQZD_xQ1icyAFbyzqs_8I3eSpMFlA4,260
174
+ strawberry/sanic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
+ strawberry/sanic/context.py,sha256=qN7I9K_qIqgdbG_FbDl8XMb9aM1PyjIxSo8IAg2Uq8o,844
176
+ strawberry/sanic/utils.py,sha256=r-tCX0JzELAdupF7fFy65JWAxj6pABSntNbGNaGZT8o,1080
177
+ strawberry/sanic/views.py,sha256=Jxgqi9hz_26GFGaPaAB0lmVlYJZMNYNyqE7vIfhKtVk,5523
178
+ strawberry/scalars.py,sha256=c3y8EOmX-KUxSgRqk1TNercMA6_rgBHhQPp0z3C2zBU,2240
179
+ strawberry/schema/__init__.py,sha256=u1QCyDVQExUVDA20kyosKPz3TS5HMCN2NrXclhiFAL4,92
180
+ strawberry/schema/base.py,sha256=eH0nyrCKwdtvgzLS810LMTffpY5CsRd9qY-uZs9pZ3U,3644
181
+ strawberry/schema/compat.py,sha256=rRqUm5-XgPXC018_u0Mrd4iad7tTRCNA45Ko4NaT6gk,1836
182
+ strawberry/schema/config.py,sha256=Aa01oqnHb0ZPlw8Ti_O840LxlT827LNio15BQrc37A0,717
183
+ strawberry/schema/exceptions.py,sha256=rqVNb_oYrKM0dHPgvAemqCG6Um282LPPu4zwQ5cZqs4,584
184
+ strawberry/schema/execute.py,sha256=4wqdNOIDhOfx6bwZrqhACKwpiG_D2Eexf70S-VFpnIY,11193
185
+ strawberry/schema/name_converter.py,sha256=tpqw2XCSFvJI-H844iWhE2Z1sKic7DrjIZxt11eJN5Y,6574
186
+ strawberry/schema/schema.py,sha256=0zZirswxx5_lryhDTzXpjyDOnjfWuOvWHxkM9ZTyYF4,15789
187
+ strawberry/schema/schema_converter.py,sha256=lckL2LoxAb6mNfJIVcerht2buzBG573ly3BHyl7wra4,36859
188
+ strawberry/schema/types/__init__.py,sha256=oHO3COWhL3L1KLYCJNY1XFf5xt2GGtHiMC-UaYbFfnA,68
189
+ strawberry/schema/types/base_scalars.py,sha256=NTj_tYqWLQLEOPDhBhSE1My4JXoieyg0jO8B6RNK-xA,1913
190
+ strawberry/schema/types/concrete_type.py,sha256=o6hKYLJO2QUXmV654KMbwnGHapBVMO_QNhUaDlKGCAw,756
191
+ strawberry/schema/types/scalar.py,sha256=yUFI5-qG_duavsDU8GAYdlZa0tqi8z5B7DTBIgNX82s,2933
192
+ strawberry/schema/validation_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
+ strawberry/schema/validation_rules/one_of.py,sha256=fPuYzCyLT7p9y7dHF_sWTImArTQaEhyF664lZijB1Gw,2629
194
+ strawberry/schema_codegen/__init__.py,sha256=mhOfvC-h6ksmckXE2TC8WWlMgayNa2xwlbNelqFpeVY,24399
195
+ strawberry/schema_directive.py,sha256=xFHoKOAWgVzDWt_N0ZdON3DBRByJkvMHt5TIvFLjUUU,2005
196
+ strawberry/schema_directives.py,sha256=KGKFWCODjm1Ah9qNV_bBwbic7Mld4qLWnWQkev-PG8A,175
197
+ strawberry/starlite/__init__.py,sha256=v209swT8H9MljVL-npvANhEO1zz3__PSfxb_Ix-NoeE,134
198
+ strawberry/starlite/controller.py,sha256=ckZGcttZ-Ok30MSxtIiZO3wigJTw-it58s3kfHqua-s,12231
199
+ strawberry/starlite/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
+ strawberry/starlite/handlers/graphql_transport_ws_handler.py,sha256=k6kr8oTX5DGVpDHZkSotvYIcqKpyXO2qDr1RbKyiwXM,2023
201
+ strawberry/starlite/handlers/graphql_ws_handler.py,sha256=BJtwhuIwaKfp8rGbvCBPKaDn_d2VY7Qd1iWdJhxHNK4,2256
202
+ strawberry/static/apollo-sandbox.html,sha256=2XzkbE0dqsFHqehE-jul9_J9TFOpwA6Ylrlo0Kdx_9w,973
203
+ strawberry/static/graphiql.html,sha256=r1JCF4vpptjISOAHaCrgck2b3qf0oaCEzljECWQ7aCE,4380
204
+ strawberry/static/pathfinder.html,sha256=0DPx9AmJ2C_sJstFXnWOz9k5tVQHeHaK7qdVY4lAlmk,1547
205
+ strawberry/subscriptions/__init__.py,sha256=1VGmiCzFepqRFyCikagkUoHHdoTG3XYlFu9GafoQMws,170
206
+ strawberry/subscriptions/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
+ strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py,sha256=wN6dkMu6WiaIZTE19PGoN9xXpIN_RdDE_q7F7ZgjCxk,138
208
+ strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py,sha256=P56QgUkiDuwoRHl8WKbtssDShQbgKuMY0FXYAPY6VgE,15133
209
+ strawberry/subscriptions/protocols/graphql_transport_ws/types.py,sha256=rJQWeNcsHevAuxYYocz4F6DO3PR-IgWF_KYsx5VWN4s,2420
210
+ strawberry/subscriptions/protocols/graphql_ws/__init__.py,sha256=ijn1A1O0Fzv5p9n-jw3T5H7M3oxbN4gbxRaepN7HyJk,553
211
+ strawberry/subscriptions/protocols/graphql_ws/handlers.py,sha256=QeZ0h95T4_SdljE6565qEu9zxh4N6yP-nCtB_QWG55I,7582
212
+ strawberry/subscriptions/protocols/graphql_ws/types.py,sha256=gYFCHMoRr7ko5lrE7dRITwoRvDmF6w8fFnw04sh-XEI,1009
213
+ strawberry/test/__init__.py,sha256=U3B5Ng7C_H8GpCpfvgZZcfADMw6cor5hm78gS3nDdMI,115
214
+ strawberry/test/client.py,sha256=-V_5DakR0NJ_Kd5ww4leIhMnIJ-Pf274HkNqYtGVfl8,6044
215
+ strawberry/tools/__init__.py,sha256=pdGpZx8wpq03VfUZJyF9JtYxZhGqzzxCiipsalWxJX4,127
216
+ strawberry/tools/create_type.py,sha256=jY-6J4VTSrzqc-NbDZpNv7U9L1j1aun5KNGTaGgNcls,2041
217
+ strawberry/tools/merge_types.py,sha256=noMPqGfbqUaMYMwT_db1rUMaPmmR_uHeFwx7Zd0rivE,1048
218
+ strawberry/types/__init__.py,sha256=RRsWKBzsY2x1y1MKAYW0eMQRhE0AycomSoW-dpPPZXo,275
219
+ strawberry/types/arguments.py,sha256=vGWwKL_294rrZtg-GquW6h5t0FBAEm8Y14bD5_08FeI,9439
220
+ strawberry/types/auto.py,sha256=c7XcB7seXd-cWAn5Ut3O0SUPOOCPG-Z2qcUAI9dRQIE,3008
221
+ strawberry/types/base.py,sha256=W5OvqH0gnhkFaCcthTAOciUGTQhkWTnPdz4DzMfql5Y,15022
222
+ strawberry/types/enum.py,sha256=E_ck94hgZP6YszWAso9UvCLUKRhd5KclwnIvo5PibZg,5965
223
+ strawberry/types/execution.py,sha256=SoU_imuH9bu1onB9btkYfpB-zUgHES_E_M_WniraEXk,2851
224
+ strawberry/types/field.py,sha256=jgliRsA4BLNKXXaj5fC7pBI8_USnTVjOF9OEVMV-hYk,21598
225
+ strawberry/types/fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
+ strawberry/types/fields/resolver.py,sha256=EoNFUbz_cV6QH_jHi5uMtgd5EnE_fnvbJPTWeNpYL6M,13992
227
+ strawberry/types/graphql.py,sha256=Hnt7RplzBdcthNYxYB4PA3LqffG99ICQSgSrDa28bJQ,717
228
+ strawberry/types/info.py,sha256=Y5nVRPJBwKaqT8CtSrMGpWdsgT_eW88dJXNwMAKNG0k,4750
229
+ strawberry/types/lazy_type.py,sha256=_-jOGFZ8aoJDiWc_IdV2P12Bzpmj_1lQE0Ik3fAB7Eo,5023
230
+ strawberry/types/mutation.py,sha256=bS2WotWenRP-lKJazPIvuzpD4sfS3Rp5leq7-DPNS_I,11975
231
+ strawberry/types/nodes.py,sha256=TVQ4TWeJEK2vdtlQMXMjD8tb57PkuONhne4Orgzaf90,5114
232
+ strawberry/types/object_type.py,sha256=-LvRnigI5iK9SgfH82b7eLzXw6DswM2ad6ZVOBUU_sE,14952
233
+ strawberry/types/private.py,sha256=jFQ0PwAvb0nUTyOs2gLdb3_uGBrsomENkikaW9v-gbI,547
234
+ strawberry/types/scalar.py,sha256=PYp2zACJL-7aGuej7Pq_FOTg9lo4yezIC0x-Fn5ZPj0,6260
235
+ strawberry/types/type_resolver.py,sha256=vnMoeQR3o-lIoJSU0Iw858UzWVyXe9hyQ9-Ioo567g4,6563
236
+ strawberry/types/union.py,sha256=sMCatme1HM1VJRc3i2y0sQqtqxvpLotL-669hu06EMc,10015
237
+ strawberry/types/unset.py,sha256=s2l9DCWesItiC-NtT3InLFrD1XeIOBxXZKahigQ11wQ,1712
238
+ strawberry/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
+ strawberry/utils/aio.py,sha256=8n4mrAHjx12zp1phqNv1mXx2-1mQRXLNRbpNMS2MDoM,1706
240
+ strawberry/utils/await_maybe.py,sha256=LO29eZZU-yqkMO_srrEsyCwMossHuz1tsyIawVGvz8I,437
241
+ strawberry/utils/dataclasses.py,sha256=1wvVq0vgvjrRSamJ3CBJpkLu1KVweTmw5JLXmagdGes,856
242
+ strawberry/utils/debug.py,sha256=U4oxSO_gUV8IiH2RG8u3SeHJXGF6ztvXdMa_yZkly1c,1430
243
+ strawberry/utils/deprecations.py,sha256=_1sxRhFYlaHeEEqK4dy0k1IaYXA3_e1GRsO_LqQLtig,774
244
+ strawberry/utils/graphql_lexer.py,sha256=qjC1uJrtlIrxzha_fDUget_jfQ2Qs54Ah08Np4Excaw,1114
245
+ strawberry/utils/importer.py,sha256=NtTgNaNSW4TnlLo_S34nxXq14RxUAec-QlEZ0LON28M,629
246
+ strawberry/utils/inspect.py,sha256=2WOeK3o8pjVkIH-rP_TaaLDa_AvroKC1WXc0gSE0Suc,3030
247
+ strawberry/utils/logging.py,sha256=U1cseHGquN09YFhFmRkiphfASKCyK0HUZREImPgVb0c,746
248
+ strawberry/utils/operation.py,sha256=SSXxN-vMqdHO6W2OZtip-1z7y4_A-eTVFdhDvhKeLCk,1193
249
+ strawberry/utils/str_converters.py,sha256=KGd7QH90RevaJjH6SQEkiVVsb8KuhJr_wv5AsI7UzQk,897
250
+ strawberry/utils/typing.py,sha256=x_CONoYlbmha-VHu6mGNB_PBA1iejLE-giUF13zmVMY,14244
251
+ strawberry_graphql-0.236.0.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
252
+ strawberry_graphql-0.236.0.dist-info/METADATA,sha256=IoAJhoz1XQYYfdBGBECFaKkfQuO01Jeusz1SQ79xSpA,7821
253
+ strawberry_graphql-0.236.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
254
+ strawberry_graphql-0.236.0.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
255
+ strawberry_graphql-0.236.0.dist-info/RECORD,,
strawberry/mutation.py DELETED
@@ -1,8 +0,0 @@
1
- from functools import partial
2
-
3
- from .field import field
4
-
5
- # Mutations and subscriptions are field, we might want to separate
6
- # things in the long run for example to provide better errors
7
- mutation = field
8
- subscription = partial(field, is_subscription=True)
strawberry/type.py DELETED
@@ -1,232 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from abc import ABC, abstractmethod
4
- from typing import (
5
- TYPE_CHECKING,
6
- Any,
7
- ClassVar,
8
- List,
9
- Mapping,
10
- Optional,
11
- Type,
12
- TypeVar,
13
- Union,
14
- overload,
15
- )
16
- from typing_extensions import Literal, Protocol, Self
17
-
18
- from strawberry.utils.typing import is_concrete_generic
19
-
20
- if TYPE_CHECKING:
21
- from typing_extensions import TypeGuard
22
-
23
- from strawberry.types.types import StrawberryObjectDefinition
24
-
25
-
26
- class StrawberryType(ABC):
27
- """
28
- Every type that is decorated by strawberry should have a dunder
29
- `__strawberry_definition__` with instance of a StrawberryType that contains
30
- the parsed information that strawberry created.
31
-
32
- NOTE: ATM this is only true for @type @interface @input follow https://github.com/strawberry-graphql/strawberry/issues/2841
33
- to see progress.
34
- """
35
-
36
- @property
37
- def type_params(self) -> List[TypeVar]:
38
- return []
39
-
40
- @property
41
- def is_one_of(self) -> bool:
42
- return False
43
-
44
- @abstractmethod
45
- def copy_with(
46
- self,
47
- type_var_map: Mapping[
48
- str, Union[StrawberryType, Type[WithStrawberryObjectDefinition]]
49
- ],
50
- ) -> Union[StrawberryType, Type[WithStrawberryObjectDefinition]]:
51
- raise NotImplementedError()
52
-
53
- @property
54
- @abstractmethod
55
- def is_graphql_generic(self) -> bool:
56
- raise NotImplementedError()
57
-
58
- def has_generic(self, type_var: TypeVar) -> bool:
59
- return False
60
-
61
- def __eq__(self, other: object) -> bool:
62
- from strawberry.annotation import StrawberryAnnotation
63
-
64
- if isinstance(other, StrawberryType):
65
- return self is other
66
-
67
- elif isinstance(other, StrawberryAnnotation):
68
- return self == other.resolve()
69
-
70
- else:
71
- # This could be simplified if StrawberryAnnotation.resolve() always returned
72
- # a StrawberryType
73
- resolved = StrawberryAnnotation(other).resolve()
74
- if isinstance(resolved, StrawberryType):
75
- return self == resolved
76
- else:
77
- return NotImplemented
78
-
79
- def __hash__(self) -> int:
80
- # TODO: Is this a bad idea? __eq__ objects are supposed to have the same hash
81
- return id(self)
82
-
83
-
84
- class StrawberryContainer(StrawberryType):
85
- def __init__(
86
- self, of_type: Union[StrawberryType, Type[WithStrawberryObjectDefinition], type]
87
- ) -> None:
88
- self.of_type = of_type
89
-
90
- def __hash__(self) -> int:
91
- return hash((self.__class__, self.of_type))
92
-
93
- def __eq__(self, other: object) -> bool:
94
- if isinstance(other, StrawberryType):
95
- if isinstance(other, StrawberryContainer):
96
- return self.of_type == other.of_type
97
- else:
98
- return False
99
-
100
- return super().__eq__(other)
101
-
102
- @property
103
- def type_params(self) -> List[TypeVar]:
104
- if has_object_definition(self.of_type):
105
- parameters = getattr(self.of_type, "__parameters__", None)
106
-
107
- return list(parameters) if parameters else []
108
-
109
- elif isinstance(self.of_type, StrawberryType):
110
- return self.of_type.type_params
111
-
112
- else:
113
- return []
114
-
115
- def copy_with(
116
- self,
117
- type_var_map: Mapping[
118
- str, Union[StrawberryType, Type[WithStrawberryObjectDefinition]]
119
- ],
120
- ) -> Self:
121
- of_type_copy = self.of_type
122
-
123
- if has_object_definition(self.of_type):
124
- type_definition = self.of_type.__strawberry_definition__
125
-
126
- if type_definition.is_graphql_generic:
127
- of_type_copy = type_definition.copy_with(type_var_map)
128
-
129
- elif (
130
- isinstance(self.of_type, StrawberryType) and self.of_type.is_graphql_generic
131
- ):
132
- of_type_copy = self.of_type.copy_with(type_var_map)
133
-
134
- return type(self)(of_type_copy)
135
-
136
- @property
137
- def is_graphql_generic(self) -> bool:
138
- from strawberry.schema.compat import is_graphql_generic
139
-
140
- type_ = self.of_type
141
-
142
- return is_graphql_generic(type_)
143
-
144
- def has_generic(self, type_var: TypeVar) -> bool:
145
- if isinstance(self.of_type, StrawberryType):
146
- return self.of_type.has_generic(type_var)
147
- return False
148
-
149
-
150
- class StrawberryList(StrawberryContainer): ...
151
-
152
-
153
- class StrawberryOptional(StrawberryContainer): ...
154
-
155
-
156
- class StrawberryTypeVar(StrawberryType):
157
- def __init__(self, type_var: TypeVar) -> None:
158
- self.type_var = type_var
159
-
160
- def copy_with(
161
- self, type_var_map: Mapping[str, Union[StrawberryType, type]]
162
- ) -> Union[StrawberryType, type]:
163
- return type_var_map[self.type_var.__name__]
164
-
165
- @property
166
- def is_graphql_generic(self) -> bool:
167
- return True
168
-
169
- def has_generic(self, type_var: TypeVar) -> bool:
170
- return self.type_var == type_var
171
-
172
- @property
173
- def type_params(self) -> List[TypeVar]:
174
- return [self.type_var]
175
-
176
- def __eq__(self, other: object) -> bool:
177
- if isinstance(other, StrawberryTypeVar):
178
- return self.type_var == other.type_var
179
- if isinstance(other, TypeVar):
180
- return self.type_var == other
181
-
182
- return super().__eq__(other)
183
-
184
- def __hash__(self) -> int:
185
- return hash(self.type_var)
186
-
187
-
188
- class WithStrawberryObjectDefinition(Protocol):
189
- __strawberry_definition__: ClassVar[StrawberryObjectDefinition]
190
-
191
-
192
- def has_object_definition(
193
- obj: Any,
194
- ) -> TypeGuard[Type[WithStrawberryObjectDefinition]]:
195
- if hasattr(obj, "__strawberry_definition__"):
196
- return True
197
- # TODO: Generics remove dunder members here, so we inject it here.
198
- # Would be better to avoid it somehow.
199
- # https://github.com/python/cpython/blob/3a314f7c3df0dd7c37da7d12b827f169ee60e1ea/Lib/typing.py#L1152
200
- if is_concrete_generic(obj):
201
- concrete = obj.__origin__
202
- if hasattr(concrete, "__strawberry_definition__"):
203
- obj.__strawberry_definition__ = concrete.__strawberry_definition__
204
- return True
205
- return False
206
-
207
-
208
- @overload
209
- def get_object_definition(
210
- obj: Any,
211
- *,
212
- strict: Literal[True],
213
- ) -> StrawberryObjectDefinition: ...
214
-
215
-
216
- @overload
217
- def get_object_definition(
218
- obj: Any,
219
- *,
220
- strict: bool = False,
221
- ) -> Optional[StrawberryObjectDefinition]: ...
222
-
223
-
224
- def get_object_definition(
225
- obj: Any,
226
- *,
227
- strict: bool = False,
228
- ) -> Optional[StrawberryObjectDefinition]:
229
- definition = obj.__strawberry_definition__ if has_object_definition(obj) else None
230
- if strict and definition is None:
231
- raise TypeError(f"{obj!r} does not have a StrawberryObjectDefinition")
232
- return definition