strawberry-graphql 0.173.1__tar.gz → 0.174.0__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 (221) hide show
  1. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/pyproject.toml +3 -2
  3. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/__init__.py +2 -0
  4. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/max_aliases.py +1 -1
  5. strawberry_graphql-0.174.0/strawberry/extensions/max_tokens.py +44 -0
  6. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/execute.py +7 -4
  7. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/execution.py +19 -1
  8. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/LICENSE +0 -0
  9. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/README.md +0 -0
  10. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/__init__.py +0 -0
  11. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/__main__.py +0 -0
  12. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/__init__.py +0 -0
  13. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/handlers/__init__.py +0 -0
  14. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +0 -0
  15. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/handlers/graphql_ws_handler.py +0 -0
  16. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/test/__init__.py +0 -0
  17. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/test/client.py +0 -0
  18. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/aiohttp/views.py +0 -0
  19. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/annotation.py +0 -0
  20. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/arguments.py +0 -0
  21. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/asgi/__init__.py +0 -0
  22. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/asgi/handlers/__init__.py +0 -0
  23. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/asgi/handlers/graphql_transport_ws_handler.py +0 -0
  24. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/asgi/handlers/graphql_ws_handler.py +0 -0
  25. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/asgi/test/__init__.py +0 -0
  26. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/asgi/test/client.py +0 -0
  27. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/auto.py +0 -0
  28. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/chalice/__init__.py +0 -0
  29. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/chalice/views.py +0 -0
  30. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/__init__.py +0 -0
  31. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/context.py +0 -0
  32. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/base.py +0 -0
  33. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/graphql_transport_ws_handler.py +0 -0
  34. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/graphql_ws_handler.py +0 -0
  35. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/http_handler.py +0 -0
  36. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/ws_handler.py +0 -0
  37. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/router.py +0 -0
  38. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/channels/testing.py +0 -0
  39. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/__init__.py +0 -0
  40. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/commands/__init__.py +0 -0
  41. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/commands/codegen.py +0 -0
  42. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/commands/export_schema.py +0 -0
  43. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/commands/server.py +0 -0
  44. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/constants.py +0 -0
  45. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/debug_server.py +0 -0
  46. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/utils/__init__.py +0 -0
  47. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/cli/utils/load_schema.py +0 -0
  48. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/__init__.py +0 -0
  49. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/exceptions.py +0 -0
  50. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/__init__.py +0 -0
  51. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/print_operation.py +0 -0
  52. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/python.py +0 -0
  53. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/typescript.py +0 -0
  54. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/query_codegen.py +0 -0
  55. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/codegen/types.py +0 -0
  56. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/custom_scalar.py +0 -0
  57. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/dataloader.py +0 -0
  58. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/directive.py +0 -0
  59. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/django/__init__.py +0 -0
  60. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/django/apps.py +0 -0
  61. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/django/context.py +0 -0
  62. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/django/test/__init__.py +0 -0
  63. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/django/test/client.py +0 -0
  64. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/django/views.py +0 -0
  65. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/enum.py +0 -0
  66. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/__init__.py +0 -0
  67. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
  68. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/exception.py +0 -0
  69. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/exception_source.py +0 -0
  70. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/handler.py +0 -0
  71. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
  72. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/invalid_union_type.py +0 -0
  73. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  74. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
  75. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
  76. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/not_a_strawberry_enum.py +0 -0
  77. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  78. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  79. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
  80. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
  81. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/syntax.py +0 -0
  82. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
  83. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/utils/__init__.py +0 -0
  84. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/exceptions/utils/source_finder.py +0 -0
  85. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/__init__.py +0 -0
  86. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/__init__.py +0 -0
  87. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/conversion.py +0 -0
  88. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  89. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/error_type.py +0 -0
  90. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
  91. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/fields.py +0 -0
  92. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/object_type.py +0 -0
  93. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/utils.py +0 -0
  94. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/ext/LICENSE +0 -0
  95. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/ext/__init__.py +0 -0
  96. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/ext/dataclasses/LICENSE +0 -0
  97. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/ext/dataclasses/__init__.py +0 -0
  98. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  99. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/ext/mypy_plugin.py +0 -0
  100. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/add_validation_rules.py +0 -0
  101. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/base_extension.py +0 -0
  102. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/context.py +0 -0
  103. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/directives.py +0 -0
  104. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/disable_validation.py +0 -0
  105. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/field_extension.py +0 -0
  106. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/mask_errors.py +0 -0
  107. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/parser_cache.py +0 -0
  108. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/pyinstrument.py +0 -0
  109. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/query_depth_limiter.py +0 -0
  110. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/runner.py +0 -0
  111. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/__init__.py +0 -0
  112. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/apollo.py +0 -0
  113. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/datadog.py +0 -0
  114. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  115. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/utils.py +0 -0
  116. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/utils.py +0 -0
  117. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/extensions/validation_cache.py +0 -0
  118. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/fastapi/__init__.py +0 -0
  119. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/fastapi/context.py +0 -0
  120. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/fastapi/handlers/__init__.py +0 -0
  121. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/fastapi/handlers/graphql_transport_ws_handler.py +0 -0
  122. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/fastapi/handlers/graphql_ws_handler.py +0 -0
  123. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/fastapi/router.py +0 -0
  124. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/__init__.py +0 -0
  125. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/argument.py +0 -0
  126. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/enum.py +0 -0
  127. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/field.py +0 -0
  128. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/mutation.py +0 -0
  129. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/object_type.py +0 -0
  130. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/scalar.py +0 -0
  131. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/schema.py +0 -0
  132. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/schema_directive.py +0 -0
  133. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/schema_directives.py +0 -0
  134. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/types.py +0 -0
  135. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/federation/union.py +0 -0
  136. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/field.py +0 -0
  137. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/file_uploads/__init__.py +0 -0
  138. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/file_uploads/scalars.py +0 -0
  139. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/file_uploads/utils.py +0 -0
  140. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/flask/__init__.py +0 -0
  141. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/flask/graphiql.py +0 -0
  142. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/flask/views.py +0 -0
  143. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/__init__.py +0 -0
  144. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/async_base_view.py +0 -0
  145. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/base.py +0 -0
  146. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/exceptions.py +0 -0
  147. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/sync_base_view.py +0 -0
  148. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/temporal_response.py +0 -0
  149. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/types.py +0 -0
  150. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/http/typevars.py +0 -0
  151. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/lazy_type.py +0 -0
  152. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/mutation.py +0 -0
  153. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/object_type.py +0 -0
  154. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/permission.py +0 -0
  155. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/printer/__init__.py +0 -0
  156. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/printer/ast_from_value.py +0 -0
  157. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/printer/printer.py +0 -0
  158. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/private.py +0 -0
  159. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/py.typed +0 -0
  160. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/resolvers.py +0 -0
  161. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/sanic/__init__.py +0 -0
  162. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/sanic/context.py +0 -0
  163. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/sanic/graphiql.py +0 -0
  164. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/sanic/utils.py +0 -0
  165. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/sanic/views.py +0 -0
  166. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/scalars.py +0 -0
  167. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/__init__.py +0 -0
  168. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/base.py +0 -0
  169. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/compat.py +0 -0
  170. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/config.py +0 -0
  171. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/exceptions.py +0 -0
  172. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/name_converter.py +0 -0
  173. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/schema.py +0 -0
  174. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/schema_converter.py +0 -0
  175. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/types/__init__.py +0 -0
  176. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/types/base_scalars.py +0 -0
  177. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/types/concrete_type.py +0 -0
  178. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema/types/scalar.py +0 -0
  179. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/schema_directive.py +0 -0
  180. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/starlite/__init__.py +0 -0
  181. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/starlite/controller.py +0 -0
  182. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/starlite/handlers/graphql_transport_ws_handler.py +0 -0
  183. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/starlite/handlers/graphql_ws_handler.py +0 -0
  184. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/static/graphiql.html +0 -0
  185. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/__init__.py +0 -0
  186. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
  187. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  188. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  189. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  190. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  191. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  192. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  193. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/test/__init__.py +0 -0
  194. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/test/client.py +0 -0
  195. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/tools/__init__.py +0 -0
  196. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/tools/create_type.py +0 -0
  197. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/tools/merge_types.py +0 -0
  198. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/type.py +0 -0
  199. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/__init__.py +0 -0
  200. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/fields/__init__.py +0 -0
  201. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/fields/resolver.py +0 -0
  202. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/graphql.py +0 -0
  203. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/info.py +0 -0
  204. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/nodes.py +0 -0
  205. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/type_resolver.py +0 -0
  206. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/types/types.py +0 -0
  207. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/union.py +0 -0
  208. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/unset.py +0 -0
  209. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/__init__.py +0 -0
  210. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/await_maybe.py +0 -0
  211. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/cached_property.py +0 -0
  212. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/dataclasses.py +0 -0
  213. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/debug.py +0 -0
  214. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/graphiql.py +0 -0
  215. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/graphql_lexer.py +0 -0
  216. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/importer.py +0 -0
  217. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/inspect.py +0 -0
  218. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/logging.py +0 -0
  219. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/operation.py +0 -0
  220. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/str_converters.py +0 -0
  221. {strawberry_graphql-0.173.1 → strawberry_graphql-0.174.0}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.173.1
3
+ Version: 0.174.0
4
4
  Summary: A library for creating GraphQL APIs
5
5
  Home-page: https://strawberry.rocks/
6
6
  License: MIT
@@ -1,7 +1,7 @@
1
1
  [tool.poetry]
2
2
  name = "strawberry-graphql"
3
3
  packages = [ { include = "strawberry" } ]
4
- version = "0.173.1"
4
+ version = "0.174.0"
5
5
  description = "A library for creating GraphQL APIs"
6
6
  authors = ["Patrick Arminio <patrick.arminio@gmail.com>"]
7
7
  license = "MIT"
@@ -154,7 +154,8 @@ markers = [
154
154
  "fastapi",
155
155
  "chalice",
156
156
  "flask",
157
- "starlite"
157
+ "starlite",
158
+ "flaky"
158
159
  ]
159
160
  asyncio_mode = "auto"
160
161
  filterwarnings = [
@@ -6,6 +6,7 @@ from .disable_validation import DisableValidation
6
6
  from .field_extension import FieldExtension
7
7
  from .mask_errors import MaskErrors
8
8
  from .max_aliases import MaxAliasesLimiter
9
+ from .max_tokens import MaxTokensLimiter
9
10
  from .parser_cache import ParserCache
10
11
  from .query_depth_limiter import QueryDepthLimiter
11
12
  from .validation_cache import ValidationCache
@@ -36,4 +37,5 @@ __all__ = [
36
37
  "ValidationCache",
37
38
  "MaskErrors",
38
39
  "MaxAliasesLimiter",
40
+ "MaxTokensLimiter",
39
41
  ]
@@ -19,7 +19,7 @@ class MaxAliasesLimiter(AddValidationRules):
19
19
  Example:
20
20
 
21
21
  >>> import strawberry
22
- >>> from strawberry.extensions import QueryDepthLimiter
22
+ >>> from strawberry.extensions import MaxAliasesLimiter
23
23
  >>>
24
24
  >>> schema = strawberry.Schema(
25
25
  ... Query,
@@ -0,0 +1,44 @@
1
+ from typing import Iterator
2
+
3
+ from strawberry.extensions.base_extension import SchemaExtension
4
+
5
+
6
+ class MaxTokensLimiter(SchemaExtension):
7
+ """
8
+ Add a validator to limit the number of tokens in a GraphQL document.
9
+
10
+ Example:
11
+
12
+ >>> import strawberry
13
+ >>> from strawberry.extensions import MaxTokensLimiter
14
+ >>>
15
+ >>> schema = strawberry.Schema(
16
+ ... Query,
17
+ ... extensions=[
18
+ ... MaxTokensLimiter(max_token_count=1000)
19
+ ... ]
20
+ ... )
21
+
22
+ Arguments:
23
+
24
+ `max_token_count: int`
25
+ The maximum number of tokens allowed in a GraphQL document.
26
+
27
+ The following things are counted as tokens:
28
+ * various brackets: "{", "}", "(", ")"
29
+ * colon :
30
+ * words
31
+
32
+ Not counted:
33
+ * quotes
34
+ """
35
+
36
+ def __init__(
37
+ self,
38
+ max_token_count: int,
39
+ ):
40
+ self.max_token_count = max_token_count
41
+
42
+ def on_operation(self) -> Iterator[None]:
43
+ self.execution_context.parse_options["max_tokens"] = self.max_token_count
44
+ yield
@@ -27,6 +27,8 @@ from strawberry.types import ExecutionResult
27
27
  from .exceptions import InvalidOperationTypeError
28
28
 
29
29
  if TYPE_CHECKING:
30
+ from typing_extensions import Unpack
31
+
30
32
  from graphql import ExecutionContext as GraphQLExecutionContext
31
33
  from graphql import ExecutionResult as GraphQLExecutionResult
32
34
  from graphql import GraphQLSchema
@@ -35,11 +37,12 @@ if TYPE_CHECKING:
35
37
 
36
38
  from strawberry.extensions import SchemaExtension
37
39
  from strawberry.types import ExecutionContext
40
+ from strawberry.types.execution import ParseOptions
38
41
  from strawberry.types.graphql import OperationType
39
42
 
40
43
 
41
- def parse_document(query: str) -> DocumentNode:
42
- return parse(query)
44
+ def parse_document(query: str, **kwargs: Unpack[ParseOptions]) -> DocumentNode:
45
+ return parse(query, **kwargs)
43
46
 
44
47
 
45
48
  def validate_document(
@@ -90,7 +93,7 @@ async def execute(
90
93
  try:
91
94
  if not execution_context.graphql_document:
92
95
  execution_context.graphql_document = parse_document(
93
- execution_context.query
96
+ execution_context.query, **execution_context.parse_options
94
97
  )
95
98
 
96
99
  except GraphQLError as error:
@@ -183,7 +186,7 @@ def execute_sync(
183
186
  try:
184
187
  if not execution_context.graphql_document:
185
188
  execution_context.graphql_document = parse_document(
186
- execution_context.query
189
+ execution_context.query, **execution_context.parse_options
187
190
  )
188
191
 
189
192
  except GraphQLError as error:
@@ -1,13 +1,24 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import dataclasses
4
- from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type
4
+ from typing import (
5
+ TYPE_CHECKING,
6
+ Any,
7
+ Dict,
8
+ List,
9
+ Optional,
10
+ Tuple,
11
+ Type,
12
+ )
13
+ from typing_extensions import TypedDict
5
14
 
6
15
  from graphql import specified_rules
7
16
 
8
17
  from strawberry.utils.operation import get_first_operation, get_operation_type
9
18
 
10
19
  if TYPE_CHECKING:
20
+ from typing_extensions import NotRequired
21
+
11
22
  from graphql import ASTValidationRule
12
23
  from graphql import ExecutionResult as GraphQLExecutionResult
13
24
  from graphql.error.graphql_error import GraphQLError
@@ -24,6 +35,9 @@ class ExecutionContext:
24
35
  schema: Schema
25
36
  context: Any = None
26
37
  variables: Optional[Dict[str, Any]] = None
38
+ parse_options: ParseOptions = dataclasses.field(
39
+ default_factory=lambda: ParseOptions()
40
+ )
27
41
  root_value: Optional[Any] = None
28
42
  validation_rules: Tuple[Type[ASTValidationRule], ...] = dataclasses.field(
29
43
  default_factory=lambda: tuple(specified_rules)
@@ -76,3 +90,7 @@ class ExecutionResult:
76
90
  data: Optional[Dict[str, Any]]
77
91
  errors: Optional[List[GraphQLError]]
78
92
  extensions: Optional[Dict[str, Any]] = None
93
+
94
+
95
+ class ParseOptions(TypedDict):
96
+ max_tokens: NotRequired[int]