strawberry-graphql 0.173.0__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.0 → strawberry_graphql-0.174.0}/PKG-INFO +2 -2
  2. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/pyproject.toml +4 -3
  3. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/__init__.py +2 -0
  4. {strawberry_graphql-0.173.0 → 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.0 → strawberry_graphql-0.174.0}/strawberry/schema/execute.py +7 -4
  7. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/execution.py +19 -1
  8. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/LICENSE +0 -0
  9. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/README.md +0 -0
  10. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/__init__.py +0 -0
  11. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/__main__.py +0 -0
  12. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/__init__.py +0 -0
  13. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/handlers/__init__.py +0 -0
  14. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +0 -0
  15. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/handlers/graphql_ws_handler.py +0 -0
  16. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/test/__init__.py +0 -0
  17. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/test/client.py +0 -0
  18. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/aiohttp/views.py +0 -0
  19. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/annotation.py +0 -0
  20. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/arguments.py +0 -0
  21. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/asgi/__init__.py +0 -0
  22. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/asgi/handlers/__init__.py +0 -0
  23. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/asgi/handlers/graphql_transport_ws_handler.py +0 -0
  24. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/asgi/handlers/graphql_ws_handler.py +0 -0
  25. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/asgi/test/__init__.py +0 -0
  26. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/asgi/test/client.py +0 -0
  27. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/auto.py +0 -0
  28. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/chalice/__init__.py +0 -0
  29. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/chalice/views.py +0 -0
  30. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/__init__.py +0 -0
  31. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/context.py +0 -0
  32. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/base.py +0 -0
  33. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/graphql_transport_ws_handler.py +0 -0
  34. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/graphql_ws_handler.py +0 -0
  35. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/http_handler.py +0 -0
  36. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/handlers/ws_handler.py +0 -0
  37. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/router.py +0 -0
  38. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/channels/testing.py +0 -0
  39. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/__init__.py +0 -0
  40. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/commands/__init__.py +0 -0
  41. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/commands/codegen.py +0 -0
  42. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/commands/export_schema.py +0 -0
  43. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/commands/server.py +0 -0
  44. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/constants.py +0 -0
  45. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/debug_server.py +0 -0
  46. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/utils/__init__.py +0 -0
  47. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/cli/utils/load_schema.py +0 -0
  48. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/__init__.py +0 -0
  49. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/exceptions.py +0 -0
  50. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/__init__.py +0 -0
  51. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/print_operation.py +0 -0
  52. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/python.py +0 -0
  53. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/plugins/typescript.py +0 -0
  54. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/query_codegen.py +0 -0
  55. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/codegen/types.py +0 -0
  56. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/custom_scalar.py +0 -0
  57. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/dataloader.py +0 -0
  58. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/directive.py +0 -0
  59. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/django/__init__.py +0 -0
  60. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/django/apps.py +0 -0
  61. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/django/context.py +0 -0
  62. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/django/test/__init__.py +0 -0
  63. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/django/test/client.py +0 -0
  64. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/django/views.py +0 -0
  65. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/enum.py +0 -0
  66. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/__init__.py +0 -0
  67. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
  68. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/exception.py +0 -0
  69. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/exception_source.py +0 -0
  70. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/handler.py +0 -0
  71. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
  72. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/invalid_union_type.py +0 -0
  73. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  74. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
  75. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
  76. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/not_a_strawberry_enum.py +0 -0
  77. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  78. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  79. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
  80. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
  81. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/syntax.py +0 -0
  82. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
  83. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/utils/__init__.py +0 -0
  84. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/exceptions/utils/source_finder.py +0 -0
  85. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/__init__.py +0 -0
  86. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/__init__.py +0 -0
  87. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/conversion.py +0 -0
  88. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  89. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/error_type.py +0 -0
  90. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
  91. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/fields.py +0 -0
  92. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/object_type.py +0 -0
  93. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/experimental/pydantic/utils.py +0 -0
  94. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/ext/LICENSE +0 -0
  95. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/ext/__init__.py +0 -0
  96. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/ext/dataclasses/LICENSE +0 -0
  97. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/ext/dataclasses/__init__.py +0 -0
  98. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  99. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/ext/mypy_plugin.py +0 -0
  100. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/add_validation_rules.py +0 -0
  101. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/base_extension.py +0 -0
  102. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/context.py +0 -0
  103. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/directives.py +0 -0
  104. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/disable_validation.py +0 -0
  105. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/field_extension.py +0 -0
  106. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/mask_errors.py +0 -0
  107. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/parser_cache.py +0 -0
  108. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/pyinstrument.py +0 -0
  109. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/query_depth_limiter.py +0 -0
  110. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/runner.py +0 -0
  111. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/__init__.py +0 -0
  112. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/apollo.py +0 -0
  113. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/datadog.py +0 -0
  114. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  115. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/tracing/utils.py +0 -0
  116. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/utils.py +0 -0
  117. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/extensions/validation_cache.py +0 -0
  118. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/fastapi/__init__.py +0 -0
  119. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/fastapi/context.py +0 -0
  120. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/fastapi/handlers/__init__.py +0 -0
  121. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/fastapi/handlers/graphql_transport_ws_handler.py +0 -0
  122. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/fastapi/handlers/graphql_ws_handler.py +0 -0
  123. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/fastapi/router.py +0 -0
  124. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/__init__.py +0 -0
  125. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/argument.py +0 -0
  126. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/enum.py +0 -0
  127. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/field.py +0 -0
  128. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/mutation.py +0 -0
  129. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/object_type.py +0 -0
  130. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/scalar.py +0 -0
  131. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/schema.py +0 -0
  132. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/schema_directive.py +0 -0
  133. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/schema_directives.py +0 -0
  134. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/types.py +0 -0
  135. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/federation/union.py +0 -0
  136. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/field.py +0 -0
  137. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/file_uploads/__init__.py +0 -0
  138. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/file_uploads/scalars.py +0 -0
  139. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/file_uploads/utils.py +0 -0
  140. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/flask/__init__.py +0 -0
  141. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/flask/graphiql.py +0 -0
  142. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/flask/views.py +0 -0
  143. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/__init__.py +0 -0
  144. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/async_base_view.py +0 -0
  145. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/base.py +0 -0
  146. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/exceptions.py +0 -0
  147. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/sync_base_view.py +0 -0
  148. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/temporal_response.py +0 -0
  149. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/types.py +0 -0
  150. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/http/typevars.py +0 -0
  151. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/lazy_type.py +0 -0
  152. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/mutation.py +0 -0
  153. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/object_type.py +0 -0
  154. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/permission.py +0 -0
  155. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/printer/__init__.py +0 -0
  156. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/printer/ast_from_value.py +0 -0
  157. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/printer/printer.py +0 -0
  158. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/private.py +0 -0
  159. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/py.typed +0 -0
  160. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/resolvers.py +0 -0
  161. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/sanic/__init__.py +0 -0
  162. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/sanic/context.py +0 -0
  163. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/sanic/graphiql.py +0 -0
  164. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/sanic/utils.py +0 -0
  165. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/sanic/views.py +0 -0
  166. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/scalars.py +0 -0
  167. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/__init__.py +0 -0
  168. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/base.py +0 -0
  169. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/compat.py +0 -0
  170. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/config.py +0 -0
  171. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/exceptions.py +0 -0
  172. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/name_converter.py +0 -0
  173. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/schema.py +0 -0
  174. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/schema_converter.py +0 -0
  175. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/types/__init__.py +0 -0
  176. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/types/base_scalars.py +0 -0
  177. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/types/concrete_type.py +0 -0
  178. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema/types/scalar.py +0 -0
  179. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/schema_directive.py +0 -0
  180. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/starlite/__init__.py +0 -0
  181. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/starlite/controller.py +0 -0
  182. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/starlite/handlers/graphql_transport_ws_handler.py +0 -0
  183. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/starlite/handlers/graphql_ws_handler.py +0 -0
  184. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/static/graphiql.html +0 -0
  185. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/__init__.py +0 -0
  186. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
  187. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  188. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  189. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  190. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  191. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  192. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  193. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/test/__init__.py +0 -0
  194. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/test/client.py +0 -0
  195. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/tools/__init__.py +0 -0
  196. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/tools/create_type.py +0 -0
  197. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/tools/merge_types.py +0 -0
  198. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/type.py +0 -0
  199. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/__init__.py +0 -0
  200. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/fields/__init__.py +0 -0
  201. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/fields/resolver.py +0 -0
  202. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/graphql.py +0 -0
  203. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/info.py +0 -0
  204. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/nodes.py +0 -0
  205. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/type_resolver.py +0 -0
  206. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/types/types.py +0 -0
  207. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/union.py +0 -0
  208. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/unset.py +0 -0
  209. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/__init__.py +0 -0
  210. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/await_maybe.py +0 -0
  211. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/cached_property.py +0 -0
  212. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/dataclasses.py +0 -0
  213. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/debug.py +0 -0
  214. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/graphiql.py +0 -0
  215. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/graphql_lexer.py +0 -0
  216. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/importer.py +0 -0
  217. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/inspect.py +0 -0
  218. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/logging.py +0 -0
  219. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/operation.py +0 -0
  220. {strawberry_graphql-0.173.0 → strawberry_graphql-0.174.0}/strawberry/utils/str_converters.py +0 -0
  221. {strawberry_graphql-0.173.0 → 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.0
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
@@ -57,7 +57,7 @@ Requires-Dist: rich (>=12.0.0) ; extra == "debug" or extra == "debug-server" or
57
57
  Requires-Dist: sanic (>=20.12.2) ; extra == "sanic"
58
58
  Requires-Dist: starlette (>=0.18.0) ; extra == "asgi" or extra == "debug-server"
59
59
  Requires-Dist: starlite (>=1.48.0) ; (python_version >= "3.8") and (extra == "starlite")
60
- Requires-Dist: typing_extensions (>=3.7.4,<5.0.0)
60
+ Requires-Dist: typing_extensions (>=4.0.0,<5.0.0)
61
61
  Requires-Dist: uvicorn (>=0.11.6,<0.22.0) ; extra == "debug-server"
62
62
  Project-URL: Changelog, https://strawberry.rocks/changelog
63
63
  Project-URL: Documentation, https://strawberry.rocks/
@@ -1,7 +1,7 @@
1
1
  [tool.poetry]
2
2
  name = "strawberry-graphql"
3
3
  packages = [ { include = "strawberry" } ]
4
- version = "0.173.0"
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"
@@ -37,7 +37,7 @@ build-backend = "poetry.masonry.api"
37
37
  python = "^3.7"
38
38
 
39
39
  graphql-core = "~3.2.0"
40
- typing_extensions = ">=3.7.4,<5.0.0"
40
+ typing_extensions = ">=4.0.0,<5.0.0"
41
41
  python-dateutil = "^2.7.0"
42
42
 
43
43
  starlette = {version = ">=0.18.0", optional = true}
@@ -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]