strawberry-graphql 0.219.1__tar.gz → 0.220.0.dev1709543239__tar.gz

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 (248) hide show
  1. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/PKG-INFO +2 -2
  2. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/pyproject.toml +32 -30
  3. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/utils.py +2 -3
  4. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/max_aliases.py +1 -1
  5. strawberry_graphql-0.220.0.dev1709543239/strawberry/schema/execute.py +274 -0
  6. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/aio.py +1 -1
  7. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/typing.py +1 -1
  8. strawberry_graphql-0.219.1/strawberry/schema/execute.py +0 -263
  9. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/LICENSE +0 -0
  10. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/README.md +0 -0
  11. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/__init__.py +0 -0
  12. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/__main__.py +0 -0
  13. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/__init__.py +0 -0
  14. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/handlers/__init__.py +0 -0
  15. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +0 -0
  16. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/handlers/graphql_ws_handler.py +0 -0
  17. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/test/__init__.py +0 -0
  18. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/test/client.py +0 -0
  19. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/aiohttp/views.py +0 -0
  20. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/annotation.py +0 -0
  21. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/arguments.py +0 -0
  22. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/asgi/__init__.py +0 -0
  23. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/asgi/handlers/__init__.py +0 -0
  24. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/asgi/handlers/graphql_transport_ws_handler.py +0 -0
  25. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/asgi/handlers/graphql_ws_handler.py +0 -0
  26. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/asgi/test/__init__.py +0 -0
  27. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/asgi/test/client.py +0 -0
  28. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/auto.py +0 -0
  29. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/chalice/__init__.py +0 -0
  30. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/chalice/views.py +0 -0
  31. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/__init__.py +0 -0
  32. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/handlers/base.py +0 -0
  33. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/handlers/graphql_transport_ws_handler.py +0 -0
  34. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/handlers/graphql_ws_handler.py +0 -0
  35. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/handlers/http_handler.py +0 -0
  36. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/handlers/ws_handler.py +0 -0
  37. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/router.py +0 -0
  38. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/channels/testing.py +0 -0
  39. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/__init__.py +0 -0
  40. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/app.py +0 -0
  41. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/__init__.py +0 -0
  42. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/codegen.py +0 -0
  43. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/export_schema.py +0 -0
  44. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/schema_codegen.py +0 -0
  45. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/server.py +0 -0
  46. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  47. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  48. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  49. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/constants.py +0 -0
  50. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/debug_server.py +0 -0
  51. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/utils/__init__.py +0 -0
  52. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/cli/utils/load_schema.py +0 -0
  53. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/__init__.py +0 -0
  54. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/exceptions.py +0 -0
  55. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/plugins/__init__.py +0 -0
  56. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/plugins/print_operation.py +0 -0
  57. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/plugins/python.py +0 -0
  58. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/plugins/typescript.py +0 -0
  59. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/query_codegen.py +0 -0
  60. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codegen/types.py +0 -0
  61. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codemods/__init__.py +0 -0
  62. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/codemods/annotated_unions.py +0 -0
  63. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/custom_scalar.py +0 -0
  64. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/dataloader.py +0 -0
  65. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/directive.py +0 -0
  66. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/django/__init__.py +0 -0
  67. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/django/apps.py +0 -0
  68. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/django/context.py +0 -0
  69. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/django/test/__init__.py +0 -0
  70. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/django/test/client.py +0 -0
  71. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/django/views.py +0 -0
  72. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/enum.py +0 -0
  73. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/__init__.py +0 -0
  74. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/conflicting_arguments.py +0 -0
  75. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/duplicated_type_name.py +0 -0
  76. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/exception.py +0 -0
  77. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/exception_source.py +0 -0
  78. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/handler.py +0 -0
  79. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/invalid_argument_type.py +0 -0
  80. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/invalid_union_type.py +0 -0
  81. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  82. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/missing_field_annotation.py +0 -0
  83. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/missing_return_annotation.py +0 -0
  84. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/not_a_strawberry_enum.py +0 -0
  85. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  86. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  87. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  88. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/private_strawberry_field.py +0 -0
  89. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/scalar_already_registered.py +0 -0
  90. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/syntax.py +0 -0
  91. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/unresolved_field_type.py +0 -0
  92. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/utils/__init__.py +0 -0
  93. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/exceptions/utils/source_finder.py +0 -0
  94. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/__init__.py +0 -0
  95. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/__init__.py +0 -0
  96. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/_compat.py +0 -0
  97. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/conversion.py +0 -0
  98. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  99. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/error_type.py +0 -0
  100. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/exceptions.py +0 -0
  101. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/fields.py +0 -0
  102. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/experimental/pydantic/object_type.py +0 -0
  103. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/ext/LICENSE +0 -0
  104. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/ext/__init__.py +0 -0
  105. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/ext/dataclasses/LICENSE +0 -0
  106. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/ext/dataclasses/__init__.py +0 -0
  107. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  108. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/ext/mypy_plugin.py +0 -0
  109. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/__init__.py +0 -0
  110. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/add_validation_rules.py +0 -0
  111. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/base_extension.py +0 -0
  112. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/context.py +0 -0
  113. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/directives.py +0 -0
  114. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/disable_validation.py +0 -0
  115. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/field_extension.py +0 -0
  116. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/mask_errors.py +0 -0
  117. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/max_tokens.py +0 -0
  118. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/parser_cache.py +0 -0
  119. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/pyinstrument.py +0 -0
  120. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/query_depth_limiter.py +0 -0
  121. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/runner.py +0 -0
  122. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/tracing/__init__.py +0 -0
  123. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/tracing/apollo.py +0 -0
  124. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/tracing/datadog.py +0 -0
  125. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  126. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/tracing/sentry.py +0 -0
  127. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/tracing/utils.py +0 -0
  128. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/utils.py +0 -0
  129. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/extensions/validation_cache.py +0 -0
  130. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/fastapi/__init__.py +0 -0
  131. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/fastapi/context.py +0 -0
  132. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/fastapi/handlers/__init__.py +0 -0
  133. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/fastapi/handlers/graphql_transport_ws_handler.py +0 -0
  134. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/fastapi/handlers/graphql_ws_handler.py +0 -0
  135. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/fastapi/router.py +0 -0
  136. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/__init__.py +0 -0
  137. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/argument.py +0 -0
  138. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/enum.py +0 -0
  139. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/field.py +0 -0
  140. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/mutation.py +0 -0
  141. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/object_type.py +0 -0
  142. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/scalar.py +0 -0
  143. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/schema.py +0 -0
  144. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/schema_directive.py +0 -0
  145. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/schema_directives.py +0 -0
  146. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/types.py +0 -0
  147. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/federation/union.py +0 -0
  148. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/field.py +0 -0
  149. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/field_extensions/__init__.py +0 -0
  150. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/field_extensions/input_mutation.py +0 -0
  151. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/file_uploads/__init__.py +0 -0
  152. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/file_uploads/scalars.py +0 -0
  153. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/file_uploads/utils.py +0 -0
  154. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/flask/__init__.py +0 -0
  155. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/flask/views.py +0 -0
  156. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/__init__.py +0 -0
  157. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/async_base_view.py +0 -0
  158. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/base.py +0 -0
  159. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/exceptions.py +0 -0
  160. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/ides.py +0 -0
  161. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/sync_base_view.py +0 -0
  162. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/temporal_response.py +0 -0
  163. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/types.py +0 -0
  164. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/http/typevars.py +0 -0
  165. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/lazy_type.py +0 -0
  166. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/litestar/__init__.py +0 -0
  167. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/litestar/controller.py +0 -0
  168. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/litestar/handlers/graphql_transport_ws_handler.py +0 -0
  169. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/litestar/handlers/graphql_ws_handler.py +0 -0
  170. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/mutation.py +0 -0
  171. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/object_type.py +0 -0
  172. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/parent.py +0 -0
  173. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/permission.py +0 -0
  174. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/printer/__init__.py +0 -0
  175. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/printer/ast_from_value.py +0 -0
  176. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/printer/printer.py +0 -0
  177. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/private.py +0 -0
  178. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/py.typed +0 -0
  179. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/quart/__init__.py +0 -0
  180. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/quart/views.py +0 -0
  181. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/relay/__init__.py +0 -0
  182. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/relay/exceptions.py +0 -0
  183. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/relay/fields.py +0 -0
  184. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/relay/types.py +0 -0
  185. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/relay/utils.py +0 -0
  186. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/resolvers.py +0 -0
  187. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/sanic/__init__.py +0 -0
  188. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/sanic/context.py +0 -0
  189. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/sanic/utils.py +0 -0
  190. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/sanic/views.py +0 -0
  191. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/scalars.py +0 -0
  192. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/__init__.py +0 -0
  193. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/base.py +0 -0
  194. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/compat.py +0 -0
  195. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/config.py +0 -0
  196. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/exceptions.py +0 -0
  197. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/name_converter.py +0 -0
  198. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/schema.py +0 -0
  199. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/schema_converter.py +0 -0
  200. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/types/__init__.py +0 -0
  201. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/types/base_scalars.py +0 -0
  202. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/types/concrete_type.py +0 -0
  203. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema/types/scalar.py +0 -0
  204. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema_codegen/__init__.py +0 -0
  205. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/schema_directive.py +0 -0
  206. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/starlite/__init__.py +0 -0
  207. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/starlite/controller.py +0 -0
  208. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/starlite/handlers/graphql_transport_ws_handler.py +0 -0
  209. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/starlite/handlers/graphql_ws_handler.py +0 -0
  210. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/static/apollo-sandbox.html +0 -0
  211. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/static/graphiql.html +0 -0
  212. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/static/pathfinder.html +0 -0
  213. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/__init__.py +0 -0
  214. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/__init__.py +0 -0
  215. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  216. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  217. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  218. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  219. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  220. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  221. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/test/__init__.py +0 -0
  222. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/test/client.py +0 -0
  223. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/tools/__init__.py +0 -0
  224. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/tools/create_type.py +0 -0
  225. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/tools/merge_types.py +0 -0
  226. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/type.py +0 -0
  227. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/__init__.py +0 -0
  228. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/execution.py +0 -0
  229. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/fields/__init__.py +0 -0
  230. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/fields/resolver.py +0 -0
  231. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/graphql.py +0 -0
  232. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/info.py +0 -0
  233. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/nodes.py +0 -0
  234. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/type_resolver.py +0 -0
  235. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/types/types.py +0 -0
  236. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/union.py +0 -0
  237. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/unset.py +0 -0
  238. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/__init__.py +0 -0
  239. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/await_maybe.py +0 -0
  240. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/dataclasses.py +0 -0
  241. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/debug.py +0 -0
  242. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/deprecations.py +0 -0
  243. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/graphql_lexer.py +0 -0
  244. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/importer.py +0 -0
  245. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/inspect.py +0 -0
  246. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/logging.py +0 -0
  247. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/operation.py +0 -0
  248. {strawberry_graphql-0.219.1 → strawberry_graphql-0.220.0.dev1709543239}/strawberry/utils/str_converters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.219.1
3
+ Version: 0.220.0.dev1709543239
4
4
  Summary: A library for creating GraphQL APIs
5
5
  Home-page: https://strawberry.rocks/
6
6
  License: MIT
@@ -53,7 +53,7 @@ Requires-Dist: pydantic (>1.6.1) ; extra == "pydantic"
53
53
  Requires-Dist: pygments (>=2.3,<3.0) ; extra == "debug-server" or extra == "cli"
54
54
  Requires-Dist: pyinstrument (>=4.0.0) ; extra == "pyinstrument"
55
55
  Requires-Dist: python-dateutil (>=2.7.0,<3.0.0)
56
- Requires-Dist: python-multipart (>=0.0.5,<0.0.7) ; extra == "asgi" or extra == "debug-server" or extra == "fastapi"
56
+ Requires-Dist: python-multipart (>=0.0.7) ; extra == "asgi" or extra == "debug-server" or extra == "fastapi"
57
57
  Requires-Dist: quart (>=0.19.3) ; extra == "quart"
58
58
  Requires-Dist: rich (>=12.0.0) ; extra == "debug" or extra == "debug-server" or extra == "cli"
59
59
  Requires-Dist: sanic (>=20.12.2) ; extra == "sanic"
@@ -1,7 +1,7 @@
1
1
  [tool.poetry]
2
2
  name = "strawberry-graphql"
3
3
  packages = [ { include = "strawberry" } ]
4
- version = "0.219.1"
4
+ version = "0.220.0.dev.1709543239"
5
5
  description = "A library for creating GraphQL APIs"
6
6
  authors = ["Patrick Arminio <patrick.arminio@gmail.com>"]
7
7
  license = "MIT"
@@ -50,7 +50,7 @@ opentelemetry-api = {version = "<2", optional = true}
50
50
  opentelemetry-sdk = {version = "<2", optional = true}
51
51
  chalice = {version = "^1.22", optional = true}
52
52
  pydantic = {version = ">1.6.1", optional = true}
53
- python-multipart = {version = ">=0.0.5,<0.0.7", optional = true}
53
+ python-multipart = {version = ">=0.0.7", optional = true}
54
54
  sanic = {version = ">=20.12.2", optional = true}
55
55
  aiohttp = {version = "^3.7.4.post0", optional = true}
56
56
  fastapi = {version = ">=0.65.2", optional = true}
@@ -83,7 +83,7 @@ pytest-emoji = "^0.2.0"
83
83
  pytest-mock = "^3.10"
84
84
  pytest-snapshot = "^0.9.0"
85
85
  pytest-xdist = {extras = ["psutil"], version = "^3.1.0"}
86
- python-multipart = ">=0.0.5,<0.0.7"
86
+ python-multipart = ">=0.0.7"
87
87
  rich = {version = ">=12.5.1,<14.0.0", optional = false}
88
88
  sanic-testing = ">=22.9,<24.0"
89
89
  sentry-sdk = "^1.39.2"
@@ -192,8 +192,34 @@ stubPath = ""
192
192
 
193
193
  [tool.ruff]
194
194
  line-length = 88
195
- select = ["ALL"]
196
195
  target-version = "py38"
196
+ fix = true
197
+ exclude = [
198
+ ".bzr",
199
+ ".direnv",
200
+ ".eggs",
201
+ ".git",
202
+ ".hg",
203
+ ".mypy_cache",
204
+ ".nox",
205
+ ".pants.d",
206
+ ".ruff_cache",
207
+ ".svn",
208
+ ".tox",
209
+ ".venv",
210
+ "__pypackages__",
211
+ "_build",
212
+ "buck-out",
213
+ "build",
214
+ "dist",
215
+ "node_modules",
216
+ "venv",
217
+ "tests/codegen/snapshots"
218
+ ]
219
+ src = ["strawberry", "tests"]
220
+
221
+ [tool.ruff.lint]
222
+ select = ["ALL"]
197
223
  ignore = [
198
224
  # https://github.com/astral-sh/ruff/pull/4427
199
225
  # equivalent to keep-runtime-typing
@@ -326,38 +352,14 @@ ignore = [
326
352
  "FIX002",
327
353
  "FA100",
328
354
  ]
329
- fix = true
330
- exclude = [
331
- ".bzr",
332
- ".direnv",
333
- ".eggs",
334
- ".git",
335
- ".hg",
336
- ".mypy_cache",
337
- ".nox",
338
- ".pants.d",
339
- ".ruff_cache",
340
- ".svn",
341
- ".tox",
342
- ".venv",
343
- "__pypackages__",
344
- "_build",
345
- "buck-out",
346
- "build",
347
- "dist",
348
- "node_modules",
349
- "venv",
350
- "tests/codegen/snapshots"
351
- ]
352
- src = ["strawberry", "tests"]
353
355
 
354
- [tool.ruff.per-file-ignores]
356
+ [tool.ruff.lint.per-file-ignores]
355
357
  "strawberry/schema/types/concrete_type.py" = ["TCH002"]
356
358
  "tests/*" = ["RSE102", "SLF001", "TCH001", "TCH002", "TCH003", "ANN001", "ANN201", "PLW0603", "PLC1901", "S603", "S607", "B018"]
357
359
  "strawberry/extensions/tracing/__init__.py" = ["TCH004"]
358
360
  "tests/http/clients/__init__.py" = ["F401"]
359
361
 
360
- [tool.ruff.isort]
362
+ [tool.ruff.lint.isort]
361
363
  known-first-party = ["strawberry"]
362
364
  known-third-party = ["django", "graphql"]
363
365
  extra-standard-library = ["typing_extensions"]
@@ -6,7 +6,6 @@ from typing import (
6
6
  Any,
7
7
  List,
8
8
  NamedTuple,
9
- NoReturn,
10
9
  Set,
11
10
  Tuple,
12
11
  Type,
@@ -126,7 +125,7 @@ def get_default_factory_for_field(
126
125
 
127
126
  def ensure_all_auto_fields_in_pydantic(
128
127
  model: Type[BaseModel], auto_fields: Set[str], cls_name: str
129
- ) -> Union[NoReturn, None]:
128
+ ) -> None:
130
129
  # Raise error if user defined a strawberry.auto field not present in the model
131
130
  non_existing_fields = list(auto_fields - get_model_fields(model).keys())
132
131
 
@@ -135,4 +134,4 @@ def ensure_all_auto_fields_in_pydantic(
135
134
  fields=non_existing_fields, cls_name=cls_name, model=model
136
135
  )
137
136
  else:
138
- return None
137
+ return
@@ -65,7 +65,7 @@ def create_validator(max_alias_count: int) -> Type[ValidationRule]:
65
65
 
66
66
 
67
67
  def count_fields_with_alias(
68
- selection_set_owner: Union[ExecutableDefinitionNode, FieldNode, InlineFragmentNode]
68
+ selection_set_owner: Union[ExecutableDefinitionNode, FieldNode, InlineFragmentNode],
69
69
  ) -> int:
70
70
  if selection_set_owner.selection_set is None:
71
71
  return 0
@@ -0,0 +1,274 @@
1
+ from __future__ import annotations
2
+
3
+ from asyncio import ensure_future
4
+ from inspect import isawaitable
5
+ from typing import (
6
+ TYPE_CHECKING,
7
+ Awaitable,
8
+ Callable,
9
+ Iterable,
10
+ List,
11
+ Optional,
12
+ Sequence,
13
+ Tuple,
14
+ Type,
15
+ TypedDict,
16
+ Union,
17
+ cast,
18
+ )
19
+
20
+ from graphql import GraphQLError, parse
21
+ from graphql import execute as original_execute
22
+ from graphql.validation import validate
23
+
24
+ from strawberry.exceptions import MissingQueryError
25
+ from strawberry.extensions.runner import SchemaExtensionsRunner
26
+ from strawberry.types import ExecutionResult
27
+
28
+ from .exceptions import InvalidOperationTypeError
29
+
30
+ if TYPE_CHECKING:
31
+ from typing_extensions import NotRequired, Unpack
32
+
33
+ from graphql import ExecutionContext as GraphQLExecutionContext
34
+ from graphql import ExecutionResult as GraphQLExecutionResult
35
+ from graphql import GraphQLSchema
36
+ from graphql.language import DocumentNode
37
+ from graphql.validation import ASTValidationRule
38
+
39
+ from strawberry.extensions import SchemaExtension
40
+ from strawberry.types import ExecutionContext
41
+ from strawberry.types.graphql import OperationType
42
+
43
+
44
+ # duplicated because of https://github.com/mkdocstrings/griffe-typingdoc/issues/7
45
+ class ParseOptions(TypedDict):
46
+ max_tokens: NotRequired[int]
47
+
48
+
49
+ def parse_document(query: str, **kwargs: Unpack[ParseOptions]) -> DocumentNode:
50
+ return parse(query, **kwargs)
51
+
52
+
53
+ def validate_document(
54
+ schema: GraphQLSchema,
55
+ document: DocumentNode,
56
+ validation_rules: Tuple[Type[ASTValidationRule], ...],
57
+ ) -> List[GraphQLError]:
58
+ return validate(
59
+ schema,
60
+ document,
61
+ validation_rules,
62
+ )
63
+
64
+
65
+ def _run_validation(execution_context: ExecutionContext) -> None:
66
+ # Check if there are any validation rules or if validation has
67
+ # already been run by an extension
68
+ if len(execution_context.validation_rules) > 0 and execution_context.errors is None:
69
+ assert execution_context.graphql_document
70
+ execution_context.errors = validate_document(
71
+ execution_context.schema._schema,
72
+ execution_context.graphql_document,
73
+ execution_context.validation_rules,
74
+ )
75
+
76
+
77
+ async def execute(
78
+ schema: GraphQLSchema,
79
+ *,
80
+ allowed_operation_types: Iterable[OperationType],
81
+ extensions: Sequence[Union[Type[SchemaExtension], SchemaExtension]],
82
+ execution_context: ExecutionContext,
83
+ execution_context_class: Optional[Type[GraphQLExecutionContext]] = None,
84
+ process_errors: Callable[[List[GraphQLError], Optional[ExecutionContext]], None],
85
+ ) -> ExecutionResult:
86
+ extensions_runner = SchemaExtensionsRunner(
87
+ execution_context=execution_context,
88
+ extensions=list(extensions),
89
+ )
90
+
91
+ try:
92
+ async with extensions_runner.operation():
93
+ # Note: In graphql-core the schema would be validated here but in
94
+ # Strawberry we are validating it at initialisation time instead
95
+ if not execution_context.query:
96
+ raise MissingQueryError()
97
+
98
+ async with extensions_runner.parsing():
99
+ try:
100
+ if not execution_context.graphql_document:
101
+ execution_context.graphql_document = parse_document(
102
+ execution_context.query, **execution_context.parse_options
103
+ )
104
+
105
+ except GraphQLError as exc:
106
+ execution_context.errors = [exc]
107
+ process_errors([exc], execution_context)
108
+ return ExecutionResult(
109
+ data=None,
110
+ errors=[exc],
111
+ extensions=await extensions_runner.get_extensions_results(),
112
+ )
113
+
114
+ if execution_context.operation_type not in allowed_operation_types:
115
+ raise InvalidOperationTypeError(execution_context.operation_type)
116
+
117
+ async with extensions_runner.validation():
118
+ _run_validation(execution_context)
119
+ if execution_context.errors:
120
+ process_errors(execution_context.errors, execution_context)
121
+ return ExecutionResult(data=None, errors=execution_context.errors)
122
+
123
+ async with extensions_runner.executing():
124
+ if not execution_context.result:
125
+ result = original_execute(
126
+ schema,
127
+ execution_context.graphql_document,
128
+ root_value=execution_context.root_value,
129
+ middleware=extensions_runner.as_middleware_manager(),
130
+ variable_values=execution_context.variables,
131
+ operation_name=execution_context.operation_name,
132
+ context_value=execution_context.context,
133
+ execution_context_class=execution_context_class,
134
+ )
135
+
136
+ if isawaitable(result):
137
+ result = await cast(Awaitable["GraphQLExecutionResult"], result)
138
+
139
+ result = cast("GraphQLExecutionResult", result)
140
+ execution_context.result = result
141
+ # Also set errors on the execution_context so that it's easier
142
+ # to access in extensions
143
+ if result.errors:
144
+ execution_context.errors = result.errors
145
+
146
+ # Run the `Schema.process_errors` function here before
147
+ # extensions have a chance to modify them (see the MaskErrors
148
+ # extension). That way we can log the original errors but
149
+ # only return a sanitised version to the client.
150
+ process_errors(result.errors, execution_context)
151
+
152
+ except (MissingQueryError, InvalidOperationTypeError) as e:
153
+ raise e
154
+ except Exception as exc:
155
+ error = (
156
+ exc
157
+ if isinstance(exc, GraphQLError)
158
+ else GraphQLError(str(exc), original_error=exc)
159
+ )
160
+ execution_context.errors = [error]
161
+ process_errors([error], execution_context)
162
+ return ExecutionResult(
163
+ data=None,
164
+ errors=[error],
165
+ extensions=await extensions_runner.get_extensions_results(),
166
+ )
167
+
168
+ return ExecutionResult(
169
+ data=execution_context.result.data,
170
+ errors=execution_context.result.errors,
171
+ extensions=await extensions_runner.get_extensions_results(),
172
+ )
173
+
174
+
175
+ def execute_sync(
176
+ schema: GraphQLSchema,
177
+ *,
178
+ allowed_operation_types: Iterable[OperationType],
179
+ extensions: Sequence[Union[Type[SchemaExtension], SchemaExtension]],
180
+ execution_context: ExecutionContext,
181
+ execution_context_class: Optional[Type[GraphQLExecutionContext]] = None,
182
+ process_errors: Callable[[List[GraphQLError], Optional[ExecutionContext]], None],
183
+ ) -> ExecutionResult:
184
+ extensions_runner = SchemaExtensionsRunner(
185
+ execution_context=execution_context,
186
+ extensions=list(extensions),
187
+ )
188
+
189
+ try:
190
+ with extensions_runner.operation():
191
+ # Note: In graphql-core the schema would be validated here but in
192
+ # Strawberry we are validating it at initialisation time instead
193
+ if not execution_context.query:
194
+ raise MissingQueryError()
195
+
196
+ with extensions_runner.parsing():
197
+ try:
198
+ if not execution_context.graphql_document:
199
+ execution_context.graphql_document = parse_document(
200
+ execution_context.query, **execution_context.parse_options
201
+ )
202
+
203
+ except GraphQLError as exc:
204
+ execution_context.errors = [exc]
205
+ process_errors([exc], execution_context)
206
+ return ExecutionResult(
207
+ data=None,
208
+ errors=[exc],
209
+ extensions=extensions_runner.get_extensions_results_sync(),
210
+ )
211
+
212
+ if execution_context.operation_type not in allowed_operation_types:
213
+ raise InvalidOperationTypeError(execution_context.operation_type)
214
+
215
+ with extensions_runner.validation():
216
+ _run_validation(execution_context)
217
+ if execution_context.errors:
218
+ process_errors(execution_context.errors, execution_context)
219
+ return ExecutionResult(data=None, errors=execution_context.errors)
220
+
221
+ with extensions_runner.executing():
222
+ if not execution_context.result:
223
+ result = original_execute(
224
+ schema,
225
+ execution_context.graphql_document,
226
+ root_value=execution_context.root_value,
227
+ middleware=extensions_runner.as_middleware_manager(),
228
+ variable_values=execution_context.variables,
229
+ operation_name=execution_context.operation_name,
230
+ context_value=execution_context.context,
231
+ execution_context_class=execution_context_class,
232
+ )
233
+
234
+ if isawaitable(result):
235
+ result = cast(Awaitable["GraphQLExecutionResult"], result)
236
+ ensure_future(result).cancel()
237
+ raise RuntimeError(
238
+ "GraphQL execution failed to complete synchronously."
239
+ )
240
+
241
+ result = cast("GraphQLExecutionResult", result)
242
+ execution_context.result = result
243
+ # Also set errors on the execution_context so that it's easier
244
+ # to access in extensions
245
+ if result.errors:
246
+ execution_context.errors = result.errors
247
+
248
+ # Run the `Schema.process_errors` function here before
249
+ # extensions have a chance to modify them (see the MaskErrors
250
+ # extension). That way we can log the original errors but
251
+ # only return a sanitised version to the client.
252
+ process_errors(result.errors, execution_context)
253
+
254
+ except (MissingQueryError, InvalidOperationTypeError) as e:
255
+ raise e
256
+ except Exception as exc:
257
+ error = (
258
+ exc
259
+ if isinstance(exc, GraphQLError)
260
+ else GraphQLError(str(exc), original_error=exc)
261
+ )
262
+ execution_context.errors = [error]
263
+ process_errors([error], execution_context)
264
+ return ExecutionResult(
265
+ data=None,
266
+ errors=[error],
267
+ extensions=extensions_runner.get_extensions_results_sync(),
268
+ )
269
+
270
+ return ExecutionResult(
271
+ data=execution_context.result.data,
272
+ errors=execution_context.result.errors,
273
+ extensions=extensions_runner.get_extensions_results_sync(),
274
+ )
@@ -24,7 +24,7 @@ async def aenumerate(
24
24
  i = 0
25
25
  async for element in iterable:
26
26
  yield i, element
27
- i += 1
27
+ i += 1 # noqa: SIM113
28
28
 
29
29
 
30
30
  async def aislice(
@@ -214,7 +214,7 @@ def _ast_replace_union_operation(expr: ast.Expr) -> ast.Expr:
214
214
 
215
215
 
216
216
  def _ast_replace_union_operation(
217
- expr: Union[ast.Expr, ast.expr]
217
+ expr: Union[ast.Expr, ast.expr],
218
218
  ) -> Union[ast.Expr, ast.expr]:
219
219
  if isinstance(expr, ast.Expr) and isinstance(
220
220
  expr.value, (ast.BinOp, ast.Subscript)