strawberry-graphql 0.268.1__tar.gz → 0.269.0.dev1747164009__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 (235) hide show
  1. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/pyproject.toml +1 -1
  3. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/__init__.py +1 -0
  4. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/async_base_view.py +3 -0
  5. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/base.py +6 -0
  6. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/sync_base_view.py +2 -0
  7. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/base.py +3 -0
  8. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/schema.py +90 -4
  9. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/info.py +5 -0
  10. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/LICENSE +0 -0
  11. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/README.md +0 -0
  12. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/__init__.py +0 -0
  13. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/__main__.py +0 -0
  14. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/aiohttp/__init__.py +0 -0
  15. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/aiohttp/test/__init__.py +0 -0
  16. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/aiohttp/test/client.py +0 -0
  17. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/aiohttp/views.py +0 -0
  18. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/annotation.py +0 -0
  19. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/asgi/__init__.py +0 -0
  20. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/asgi/test/__init__.py +0 -0
  21. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/asgi/test/client.py +0 -0
  22. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/chalice/__init__.py +0 -0
  23. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/chalice/views.py +0 -0
  24. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/__init__.py +0 -0
  25. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/handlers/__init__.py +0 -0
  26. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/handlers/base.py +0 -0
  27. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/handlers/http_handler.py +0 -0
  28. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/handlers/ws_handler.py +0 -0
  29. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/router.py +0 -0
  30. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/channels/testing.py +0 -0
  31. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/__init__.py +0 -0
  32. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/app.py +0 -0
  33. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/__init__.py +0 -0
  34. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/codegen.py +0 -0
  35. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/export_schema.py +0 -0
  36. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/schema_codegen.py +0 -0
  37. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/server.py +0 -0
  38. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  39. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  40. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  41. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/constants.py +0 -0
  42. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/debug_server.py +0 -0
  43. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/utils/__init__.py +0 -0
  44. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/cli/utils/load_schema.py +0 -0
  45. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/__init__.py +0 -0
  46. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/exceptions.py +0 -0
  47. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/plugins/__init__.py +0 -0
  48. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/plugins/print_operation.py +0 -0
  49. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/plugins/python.py +0 -0
  50. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/plugins/typescript.py +0 -0
  51. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/query_codegen.py +0 -0
  52. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codegen/types.py +0 -0
  53. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codemods/__init__.py +0 -0
  54. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codemods/annotated_unions.py +0 -0
  55. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/codemods/update_imports.py +0 -0
  56. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/dataloader.py +0 -0
  57. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/directive.py +0 -0
  58. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/django/__init__.py +0 -0
  59. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/django/apps.py +0 -0
  60. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/django/context.py +0 -0
  61. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/django/test/__init__.py +0 -0
  62. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/django/test/client.py +0 -0
  63. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/django/views.py +0 -0
  64. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/__init__.py +0 -0
  65. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/conflicting_arguments.py +0 -0
  66. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/duplicated_type_name.py +0 -0
  67. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/exception.py +0 -0
  68. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/exception_source.py +0 -0
  69. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/handler.py +0 -0
  70. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/invalid_argument_type.py +0 -0
  71. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/invalid_union_type.py +0 -0
  72. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  73. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/missing_dependencies.py +0 -0
  74. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/missing_field_annotation.py +0 -0
  75. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/missing_return_annotation.py +0 -0
  76. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  77. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  78. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  79. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/private_strawberry_field.py +0 -0
  80. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/scalar_already_registered.py +0 -0
  81. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/syntax.py +0 -0
  82. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/unresolved_field_type.py +0 -0
  83. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/utils/__init__.py +0 -0
  84. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/exceptions/utils/source_finder.py +0 -0
  85. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/__init__.py +0 -0
  86. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/__init__.py +0 -0
  87. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/_compat.py +0 -0
  88. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/conversion.py +0 -0
  89. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  90. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/error_type.py +0 -0
  91. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/exceptions.py +0 -0
  92. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/fields.py +0 -0
  93. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/object_type.py +0 -0
  94. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/experimental/pydantic/utils.py +0 -0
  95. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/ext/LICENSE +0 -0
  96. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/ext/__init__.py +0 -0
  97. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/ext/dataclasses/LICENSE +0 -0
  98. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/ext/dataclasses/__init__.py +0 -0
  99. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  100. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/ext/mypy_plugin.py +0 -0
  101. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/__init__.py +0 -0
  102. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/add_validation_rules.py +0 -0
  103. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/base_extension.py +0 -0
  104. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/context.py +0 -0
  105. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/directives.py +0 -0
  106. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/disable_validation.py +0 -0
  107. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/field_extension.py +0 -0
  108. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/mask_errors.py +0 -0
  109. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/max_aliases.py +0 -0
  110. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/max_tokens.py +0 -0
  111. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/parser_cache.py +0 -0
  112. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/pyinstrument.py +0 -0
  113. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/query_depth_limiter.py +0 -0
  114. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/runner.py +0 -0
  115. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/tracing/__init__.py +0 -0
  116. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/tracing/apollo.py +0 -0
  117. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/tracing/datadog.py +0 -0
  118. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  119. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/tracing/utils.py +0 -0
  120. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/utils.py +0 -0
  121. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/extensions/validation_cache.py +0 -0
  122. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/fastapi/__init__.py +0 -0
  123. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/fastapi/context.py +0 -0
  124. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/fastapi/router.py +0 -0
  125. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/__init__.py +0 -0
  126. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/argument.py +0 -0
  127. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/enum.py +0 -0
  128. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/field.py +0 -0
  129. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/mutation.py +0 -0
  130. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/object_type.py +0 -0
  131. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/scalar.py +0 -0
  132. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/schema.py +0 -0
  133. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/schema_directive.py +0 -0
  134. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/schema_directives.py +0 -0
  135. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/types.py +0 -0
  136. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/federation/union.py +0 -0
  137. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/field_extensions/__init__.py +0 -0
  138. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/field_extensions/input_mutation.py +0 -0
  139. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/file_uploads/__init__.py +0 -0
  140. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/file_uploads/scalars.py +0 -0
  141. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/file_uploads/utils.py +0 -0
  142. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/flask/__init__.py +0 -0
  143. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/flask/views.py +0 -0
  144. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/exceptions.py +0 -0
  145. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/ides.py +0 -0
  146. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/parse_content_type.py +0 -0
  147. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/temporal_response.py +0 -0
  148. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/types.py +0 -0
  149. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/http/typevars.py +0 -0
  150. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/litestar/__init__.py +0 -0
  151. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/litestar/controller.py +0 -0
  152. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/parent.py +0 -0
  153. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/permission.py +0 -0
  154. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/printer/__init__.py +0 -0
  155. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/printer/ast_from_value.py +0 -0
  156. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/printer/printer.py +0 -0
  157. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/py.typed +0 -0
  158. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/quart/__init__.py +0 -0
  159. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/quart/views.py +0 -0
  160. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/relay/__init__.py +0 -0
  161. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/relay/exceptions.py +0 -0
  162. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/relay/fields.py +0 -0
  163. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/relay/types.py +0 -0
  164. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/relay/utils.py +0 -0
  165. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/resolvers.py +0 -0
  166. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/sanic/__init__.py +0 -0
  167. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/sanic/context.py +0 -0
  168. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/sanic/utils.py +0 -0
  169. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/sanic/views.py +0 -0
  170. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/scalars.py +0 -0
  171. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/__init__.py +0 -0
  172. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/compat.py +0 -0
  173. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/config.py +0 -0
  174. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/exceptions.py +0 -0
  175. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/name_converter.py +0 -0
  176. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/schema_converter.py +0 -0
  177. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/types/__init__.py +0 -0
  178. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/types/base_scalars.py +0 -0
  179. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/types/concrete_type.py +0 -0
  180. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/types/scalar.py +0 -0
  181. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/validation_rules/__init__.py +0 -0
  182. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema/validation_rules/one_of.py +0 -0
  183. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema_codegen/__init__.py +0 -0
  184. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema_directive.py +0 -0
  185. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/schema_directives.py +0 -0
  186. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/static/apollo-sandbox.html +0 -0
  187. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/static/graphiql.html +0 -0
  188. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/static/pathfinder.html +0 -0
  189. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/__init__.py +0 -0
  190. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/__init__.py +0 -0
  191. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  192. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  193. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  194. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  195. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  196. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  197. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/test/__init__.py +0 -0
  198. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/test/client.py +0 -0
  199. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/tools/__init__.py +0 -0
  200. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/tools/create_type.py +0 -0
  201. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/tools/merge_types.py +0 -0
  202. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/__init__.py +0 -0
  203. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/arguments.py +0 -0
  204. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/auto.py +0 -0
  205. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/base.py +0 -0
  206. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/cast.py +0 -0
  207. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/enum.py +0 -0
  208. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/execution.py +0 -0
  209. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/field.py +0 -0
  210. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/fields/__init__.py +0 -0
  211. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/fields/resolver.py +0 -0
  212. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/graphql.py +0 -0
  213. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/lazy_type.py +0 -0
  214. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/maybe.py +0 -0
  215. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/mutation.py +0 -0
  216. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/nodes.py +0 -0
  217. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/object_type.py +0 -0
  218. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/private.py +0 -0
  219. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/scalar.py +0 -0
  220. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/type_resolver.py +0 -0
  221. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/union.py +0 -0
  222. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/types/unset.py +0 -0
  223. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/__init__.py +0 -0
  224. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/aio.py +0 -0
  225. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/await_maybe.py +0 -0
  226. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/dataclasses.py +0 -0
  227. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/debug.py +0 -0
  228. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/deprecations.py +0 -0
  229. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/graphql_lexer.py +0 -0
  230. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/importer.py +0 -0
  231. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/inspect.py +0 -0
  232. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/logging.py +0 -0
  233. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/operation.py +0 -0
  234. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/str_converters.py +0 -0
  235. {strawberry_graphql-0.268.1 → strawberry_graphql-0.269.0.dev1747164009}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: strawberry-graphql
3
- Version: 0.268.1
3
+ Version: 0.269.0.dev1747164009
4
4
  Summary: A library for creating GraphQL APIs
5
5
  License: MIT
6
6
  Keywords: graphql,api,rest,starlette,async
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "strawberry-graphql"
3
- version = "0.268.1"
3
+ version = "0.269.0.dev.1747164009"
4
4
  packages = [{ include = "strawberry" }]
5
5
  description = "A library for creating GraphQL APIs"
6
6
  authors = ["Patrick Arminio <patrick.arminio@gmail.com>"]
@@ -32,6 +32,7 @@ class GraphQLRequestData:
32
32
  query: Optional[str]
33
33
  variables: Optional[dict[str, Any]]
34
34
  operation_name: Optional[str]
35
+ extensions: Optional[dict[str, Any]]
35
36
  protocol: Literal["http", "multipart-subscription"] = "http"
36
37
 
37
38
 
@@ -204,6 +204,7 @@ class AsyncBaseHTTPView(
204
204
  context_value=context,
205
205
  root_value=root_value,
206
206
  operation_name=request_data.operation_name,
207
+ operation_extensions=request_data.extensions,
207
208
  )
208
209
 
209
210
  return await self.schema.execute(
@@ -213,6 +214,7 @@ class AsyncBaseHTTPView(
213
214
  context_value=context,
214
215
  operation_name=request_data.operation_name,
215
216
  allowed_operation_types=allowed_operation_types,
217
+ operation_extensions=request_data.extensions,
216
218
  )
217
219
 
218
220
  async def parse_multipart(self, request: AsyncHTTPRequestAdapter) -> dict[str, str]:
@@ -472,6 +474,7 @@ class AsyncBaseHTTPView(
472
474
  query=data.get("query"),
473
475
  variables=data.get("variables"),
474
476
  operation_name=data.get("operationName"),
477
+ extensions=data.get("extensions"),
475
478
  protocol=protocol,
476
479
  )
477
480
 
@@ -59,6 +59,12 @@ class BaseView(Generic[Request]):
59
59
  if variables:
60
60
  params["variables"] = self.parse_json(variables)
61
61
 
62
+ if "extensions" in params:
63
+ extensions = params["extensions"]
64
+
65
+ if extensions:
66
+ params["extensions"] = self.parse_json(extensions)
67
+
62
68
  return params
63
69
 
64
70
  @property
@@ -122,6 +122,7 @@ class SyncBaseHTTPView(
122
122
  context_value=context,
123
123
  operation_name=request_data.operation_name,
124
124
  allowed_operation_types=allowed_operation_types,
125
+ operation_extensions=request_data.extensions,
125
126
  )
126
127
 
127
128
  def parse_multipart(self, request: SyncHTTPRequestAdapter) -> dict[str, str]:
@@ -154,6 +155,7 @@ class SyncBaseHTTPView(
154
155
  query=data.get("query"),
155
156
  variables=data.get("variables"),
156
157
  operation_name=data.get("operationName"),
158
+ extensions=data.get("extensions"),
157
159
  )
158
160
 
159
161
  def _handle_errors(
@@ -47,6 +47,7 @@ class BaseSchema(Protocol):
47
47
  root_value: Optional[Any] = None,
48
48
  operation_name: Optional[str] = None,
49
49
  allowed_operation_types: Optional[Iterable[OperationType]] = None,
50
+ operation_extensions: Optional[dict[str, Any]] = None,
50
51
  ) -> ExecutionResult:
51
52
  raise NotImplementedError
52
53
 
@@ -59,6 +60,7 @@ class BaseSchema(Protocol):
59
60
  root_value: Optional[Any] = None,
60
61
  operation_name: Optional[str] = None,
61
62
  allowed_operation_types: Optional[Iterable[OperationType]] = None,
63
+ operation_extensions: Optional[dict[str, Any]] = None,
62
64
  ) -> ExecutionResult:
63
65
  raise NotImplementedError
64
66
 
@@ -70,6 +72,7 @@ class BaseSchema(Protocol):
70
72
  context_value: Optional[Any] = None,
71
73
  root_value: Optional[Any] = None,
72
74
  operation_name: Optional[str] = None,
75
+ operation_extensions: Optional[dict[str, Any]] = None,
73
76
  ) -> SubscriptionResult:
74
77
  raise NotImplementedError
75
78
 
@@ -9,27 +9,33 @@ from typing import (
9
9
  TYPE_CHECKING,
10
10
  Any,
11
11
  Callable,
12
+ NamedTuple,
12
13
  Optional,
13
14
  Union,
14
15
  cast,
15
16
  )
16
17
 
18
+ from graphql import ExecutionContext as GraphQLExecutionContext
17
19
  from graphql import ExecutionResult as GraphQLExecutionResult
18
20
  from graphql import (
19
21
  ExecutionResult as OriginalExecutionResult,
20
22
  )
21
23
  from graphql import (
24
+ FieldNode,
25
+ FragmentDefinitionNode,
22
26
  GraphQLBoolean,
23
27
  GraphQLError,
24
28
  GraphQLField,
25
29
  GraphQLNamedType,
26
30
  GraphQLNonNull,
31
+ GraphQLObjectType,
32
+ GraphQLOutputType,
27
33
  GraphQLSchema,
34
+ OperationDefinitionNode,
28
35
  get_introspection_query,
29
36
  parse,
30
37
  validate_schema,
31
38
  )
32
- from graphql.execution import ExecutionContext as GraphQLExecutionContext
33
39
  from graphql.execution import execute, subscribe
34
40
  from graphql.execution.middleware import MiddlewareManager
35
41
  from graphql.type.directives import specified_directives
@@ -58,7 +64,7 @@ from strawberry.types.execution import (
58
64
  PreExecutionError,
59
65
  )
60
66
  from strawberry.types.graphql import OperationType
61
- from strawberry.utils import IS_GQL_32
67
+ from strawberry.utils import IS_GQL_32, IS_GQL_33
62
68
  from strawberry.utils.aio import aclosing
63
69
  from strawberry.utils.await_maybe import await_maybe
64
70
 
@@ -71,8 +77,10 @@ if TYPE_CHECKING:
71
77
  from collections.abc import Iterable, Mapping
72
78
  from typing_extensions import TypeAlias
73
79
 
74
- from graphql import ExecutionContext as GraphQLExecutionContext
80
+ from graphql.execution.collect_fields import FieldGroup # type: ignore
75
81
  from graphql.language import DocumentNode
82
+ from graphql.pyutils import Path
83
+ from graphql.type import GraphQLResolveInfo
76
84
  from graphql.validation import ASTValidationRule
77
85
 
78
86
  from strawberry.directive import StrawberryDirective
@@ -136,6 +144,62 @@ def _coerce_error(error: Union[GraphQLError, Exception]) -> GraphQLError:
136
144
  return GraphQLError(str(error), original_error=error)
137
145
 
138
146
 
147
+ class _OperationContextAwareGraphQLResolveInfo(NamedTuple): # pyright: ignore
148
+ field_name: str
149
+ field_nodes: list[FieldNode]
150
+ return_type: GraphQLOutputType
151
+ parent_type: GraphQLObjectType
152
+ path: Path
153
+ schema: GraphQLSchema
154
+ fragments: dict[str, FragmentDefinitionNode]
155
+ root_value: Any
156
+ operation: OperationDefinitionNode
157
+ variable_values: dict[str, Any]
158
+ context: Any
159
+ is_awaitable: Callable[[Any], bool]
160
+ operation_extensions: dict[str, Any]
161
+
162
+
163
+ class StrawberryGraphQLCoreExecutionContext(GraphQLExecutionContext):
164
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
165
+ operation_extensions = kwargs.pop("operation_extensions", None)
166
+
167
+ super().__init__(*args, **kwargs)
168
+
169
+ self.operation_extensions = operation_extensions
170
+
171
+ def build_resolve_info(
172
+ self,
173
+ field_def: GraphQLField,
174
+ field_group: FieldGroup,
175
+ parent_type: GraphQLObjectType,
176
+ path: Path,
177
+ ) -> GraphQLResolveInfo:
178
+ if IS_GQL_33:
179
+ return _OperationContextAwareGraphQLResolveInfo( # type: ignore
180
+ field_group.fields[0].node.name.value,
181
+ field_group.to_nodes(),
182
+ field_def.type,
183
+ parent_type,
184
+ path,
185
+ self.schema,
186
+ self.fragments,
187
+ self.root_value,
188
+ self.operation,
189
+ self.variable_values,
190
+ self.context_value,
191
+ self.is_awaitable,
192
+ self.operation_extensions,
193
+ )
194
+
195
+ return super().build_resolve_info(
196
+ field_def,
197
+ field_group,
198
+ parent_type,
199
+ path,
200
+ )
201
+
202
+
139
203
  class Schema(BaseSchema):
140
204
  def __init__(
141
205
  self,
@@ -195,7 +259,9 @@ class Schema(BaseSchema):
195
259
 
196
260
  self.extensions = extensions
197
261
  self._cached_middleware_manager: MiddlewareManager | None = None
198
- self.execution_context_class = execution_context_class
262
+ self.execution_context_class = (
263
+ execution_context_class or StrawberryGraphQLCoreExecutionContext
264
+ )
199
265
  self.config = config or StrawberryConfig()
200
266
 
201
267
  self.schema_converter = GraphQLCoreConverter(
@@ -320,6 +386,14 @@ class Schema(BaseSchema):
320
386
  extensions=extensions,
321
387
  )
322
388
 
389
+ def _get_custom_context_kwargs(
390
+ self, operation_extensions: Optional[dict[str, Any]] = None
391
+ ) -> dict[str, Any]:
392
+ if not IS_GQL_33:
393
+ return {}
394
+
395
+ return {"operation_extensions": operation_extensions}
396
+
323
397
  def _get_middleware_manager(
324
398
  self, extensions: list[SchemaExtension]
325
399
  ) -> MiddlewareManager:
@@ -463,6 +537,7 @@ class Schema(BaseSchema):
463
537
  root_value: Optional[Any] = None,
464
538
  operation_name: Optional[str] = None,
465
539
  allowed_operation_types: Optional[Iterable[OperationType]] = None,
540
+ operation_extensions: Optional[dict[str, Any]] = None,
466
541
  ) -> ExecutionResult:
467
542
  if allowed_operation_types is None:
468
543
  allowed_operation_types = DEFAULT_ALLOWED_OPERATION_TYPES
@@ -483,6 +558,8 @@ class Schema(BaseSchema):
483
558
  extensions_runner = self.create_extensions_runner(execution_context, extensions)
484
559
  middleware_manager = self._get_middleware_manager(extensions)
485
560
 
561
+ custom_context_kwargs = self._get_custom_context_kwargs(operation_extensions)
562
+
486
563
  try:
487
564
  async with extensions_runner.operation():
488
565
  # Note: In graphql-core the schema would be validated here but in
@@ -510,6 +587,7 @@ class Schema(BaseSchema):
510
587
  operation_name=execution_context.operation_name,
511
588
  context_value=execution_context.context,
512
589
  execution_context_class=self.execution_context_class,
590
+ **custom_context_kwargs,
513
591
  )
514
592
  )
515
593
  execution_context.result = result
@@ -547,6 +625,7 @@ class Schema(BaseSchema):
547
625
  root_value: Optional[Any] = None,
548
626
  operation_name: Optional[str] = None,
549
627
  allowed_operation_types: Optional[Iterable[OperationType]] = None,
628
+ operation_extensions: Optional[dict[str, Any]] = None,
550
629
  ) -> ExecutionResult:
551
630
  if allowed_operation_types is None:
552
631
  allowed_operation_types = DEFAULT_ALLOWED_OPERATION_TYPES
@@ -567,6 +646,8 @@ class Schema(BaseSchema):
567
646
  extensions_runner = self.create_extensions_runner(execution_context, extensions)
568
647
  middleware_manager = self._get_middleware_manager(extensions)
569
648
 
649
+ custom_context_kwargs = self._get_custom_context_kwargs(operation_extensions)
650
+
570
651
  try:
571
652
  with extensions_runner.operation():
572
653
  # Note: In graphql-core the schema would be validated here but in
@@ -617,6 +698,7 @@ class Schema(BaseSchema):
617
698
  operation_name=execution_context.operation_name,
618
699
  context_value=execution_context.context,
619
700
  execution_context_class=self.execution_context_class,
701
+ **custom_context_kwargs,
620
702
  )
621
703
 
622
704
  if isawaitable(result):
@@ -661,6 +743,7 @@ class Schema(BaseSchema):
661
743
  extensions_runner: SchemaExtensionsRunner,
662
744
  middleware_manager: MiddlewareManager,
663
745
  execution_context_class: type[GraphQLExecutionContext] | None = None,
746
+ operation_extensions: Optional[dict[str, Any]] = None,
664
747
  ) -> AsyncGenerator[ExecutionResult, None]:
665
748
  async with extensions_runner.operation():
666
749
  if initial_error := await self._parse_and_validate_async(
@@ -679,6 +762,7 @@ class Schema(BaseSchema):
679
762
  gql_33_kwargs = {
680
763
  "middleware": middleware_manager,
681
764
  "execution_context_class": execution_context_class,
765
+ "operation_extensions": operation_extensions,
682
766
  }
683
767
  try:
684
768
  # Might not be awaitable for pre-execution errors.
@@ -743,6 +827,7 @@ class Schema(BaseSchema):
743
827
  context_value: Optional[Any] = None,
744
828
  root_value: Optional[Any] = None,
745
829
  operation_name: Optional[str] = None,
830
+ operation_extensions: Optional[dict[str, Any]] = None,
746
831
  ) -> SubscriptionResult:
747
832
  execution_context = self._create_execution_context(
748
833
  query=query,
@@ -764,6 +849,7 @@ class Schema(BaseSchema):
764
849
  ),
765
850
  middleware_manager=self._get_middleware_manager(extensions),
766
851
  execution_context_class=self.execution_context_class,
852
+ operation_extensions=operation_extensions,
767
853
  )
768
854
 
769
855
  def _resolve_node_ids(self) -> None:
@@ -113,6 +113,11 @@ class Info(Generic[ContextType, RootValueType]):
113
113
  """The context passed to the query execution."""
114
114
  return self._raw_info.context
115
115
 
116
+ @property
117
+ def input_extensions(self) -> dict[str, Any]:
118
+ """The input extensions passed to the query execution."""
119
+ return self._raw_info.operation_extensions # type: ignore
120
+
116
121
  @property
117
122
  def root_value(self) -> RootValueType:
118
123
  """The root value passed to the query execution."""