strawberry-graphql 0.183.3__tar.gz → 0.183.4__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 (229) hide show
  1. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/pyproject.toml +1 -1
  3. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/typing.py +73 -40
  4. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/LICENSE +0 -0
  5. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/README.md +0 -0
  6. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/__init__.py +0 -0
  7. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/__main__.py +0 -0
  8. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/__init__.py +0 -0
  9. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/handlers/__init__.py +0 -0
  10. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +0 -0
  11. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/handlers/graphql_ws_handler.py +0 -0
  12. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/test/__init__.py +0 -0
  13. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/test/client.py +0 -0
  14. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/aiohttp/views.py +0 -0
  15. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/annotation.py +0 -0
  16. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/arguments.py +0 -0
  17. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/asgi/__init__.py +0 -0
  18. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/asgi/handlers/__init__.py +0 -0
  19. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/asgi/handlers/graphql_transport_ws_handler.py +0 -0
  20. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/asgi/handlers/graphql_ws_handler.py +0 -0
  21. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/asgi/test/__init__.py +0 -0
  22. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/asgi/test/client.py +0 -0
  23. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/auto.py +0 -0
  24. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/chalice/__init__.py +0 -0
  25. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/chalice/views.py +0 -0
  26. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/__init__.py +0 -0
  27. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/handlers/base.py +0 -0
  28. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/handlers/graphql_transport_ws_handler.py +0 -0
  29. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/handlers/graphql_ws_handler.py +0 -0
  30. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/handlers/http_handler.py +0 -0
  31. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/handlers/ws_handler.py +0 -0
  32. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/router.py +0 -0
  33. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/channels/testing.py +0 -0
  34. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/__init__.py +0 -0
  35. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/commands/__init__.py +0 -0
  36. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/commands/codegen.py +0 -0
  37. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/commands/export_schema.py +0 -0
  38. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/commands/server.py +0 -0
  39. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/constants.py +0 -0
  40. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/debug_server.py +0 -0
  41. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/utils/__init__.py +0 -0
  42. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/cli/utils/load_schema.py +0 -0
  43. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/__init__.py +0 -0
  44. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/exceptions.py +0 -0
  45. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/plugins/__init__.py +0 -0
  46. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/plugins/print_operation.py +0 -0
  47. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/plugins/python.py +0 -0
  48. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/plugins/typescript.py +0 -0
  49. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/query_codegen.py +0 -0
  50. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/codegen/types.py +0 -0
  51. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/custom_scalar.py +0 -0
  52. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/dataloader.py +0 -0
  53. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/directive.py +0 -0
  54. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/django/__init__.py +0 -0
  55. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/django/apps.py +0 -0
  56. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/django/context.py +0 -0
  57. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/django/test/__init__.py +0 -0
  58. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/django/test/client.py +0 -0
  59. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/django/views.py +0 -0
  60. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/enum.py +0 -0
  61. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/__init__.py +0 -0
  62. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/duplicated_type_name.py +0 -0
  63. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/exception.py +0 -0
  64. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/exception_source.py +0 -0
  65. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/handler.py +0 -0
  66. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/invalid_argument_type.py +0 -0
  67. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/invalid_union_type.py +0 -0
  68. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  69. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/missing_field_annotation.py +0 -0
  70. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/missing_return_annotation.py +0 -0
  71. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/not_a_strawberry_enum.py +0 -0
  72. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  73. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  74. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/private_strawberry_field.py +0 -0
  75. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/scalar_already_registered.py +0 -0
  76. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/syntax.py +0 -0
  77. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/unresolved_field_type.py +0 -0
  78. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/utils/__init__.py +0 -0
  79. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/exceptions/utils/source_finder.py +0 -0
  80. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/__init__.py +0 -0
  81. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/__init__.py +0 -0
  82. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/conversion.py +0 -0
  83. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  84. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/error_type.py +0 -0
  85. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/exceptions.py +0 -0
  86. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/fields.py +0 -0
  87. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/object_type.py +0 -0
  88. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/experimental/pydantic/utils.py +0 -0
  89. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/ext/LICENSE +0 -0
  90. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/ext/__init__.py +0 -0
  91. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/ext/dataclasses/LICENSE +0 -0
  92. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/ext/dataclasses/__init__.py +0 -0
  93. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  94. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/ext/mypy_plugin.py +0 -0
  95. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/__init__.py +0 -0
  96. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/add_validation_rules.py +0 -0
  97. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/base_extension.py +0 -0
  98. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/context.py +0 -0
  99. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/directives.py +0 -0
  100. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/disable_validation.py +0 -0
  101. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/field_extension.py +0 -0
  102. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/mask_errors.py +0 -0
  103. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/max_aliases.py +0 -0
  104. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/max_tokens.py +0 -0
  105. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/parser_cache.py +0 -0
  106. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/pyinstrument.py +0 -0
  107. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/query_depth_limiter.py +0 -0
  108. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/runner.py +0 -0
  109. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/tracing/__init__.py +0 -0
  110. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/tracing/apollo.py +0 -0
  111. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/tracing/datadog.py +0 -0
  112. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  113. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/tracing/sentry.py +0 -0
  114. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/tracing/utils.py +0 -0
  115. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/utils.py +0 -0
  116. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/extensions/validation_cache.py +0 -0
  117. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/fastapi/__init__.py +0 -0
  118. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/fastapi/context.py +0 -0
  119. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/fastapi/handlers/__init__.py +0 -0
  120. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/fastapi/handlers/graphql_transport_ws_handler.py +0 -0
  121. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/fastapi/handlers/graphql_ws_handler.py +0 -0
  122. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/fastapi/router.py +0 -0
  123. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/__init__.py +0 -0
  124. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/argument.py +0 -0
  125. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/enum.py +0 -0
  126. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/field.py +0 -0
  127. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/mutation.py +0 -0
  128. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/object_type.py +0 -0
  129. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/scalar.py +0 -0
  130. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/schema.py +0 -0
  131. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/schema_directive.py +0 -0
  132. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/schema_directives.py +0 -0
  133. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/types.py +0 -0
  134. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/federation/union.py +0 -0
  135. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/field.py +0 -0
  136. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/field_extensions/__init__.py +0 -0
  137. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/field_extensions/input_mutation.py +0 -0
  138. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/file_uploads/__init__.py +0 -0
  139. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/file_uploads/scalars.py +0 -0
  140. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/file_uploads/utils.py +0 -0
  141. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/flask/__init__.py +0 -0
  142. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/flask/graphiql.py +0 -0
  143. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/flask/views.py +0 -0
  144. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/__init__.py +0 -0
  145. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/async_base_view.py +0 -0
  146. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/base.py +0 -0
  147. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/exceptions.py +0 -0
  148. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/sync_base_view.py +0 -0
  149. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/temporal_response.py +0 -0
  150. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/types.py +0 -0
  151. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/http/typevars.py +0 -0
  152. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/lazy_type.py +0 -0
  153. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/mutation.py +0 -0
  154. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/object_type.py +0 -0
  155. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/permission.py +0 -0
  156. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/printer/__init__.py +0 -0
  157. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/printer/ast_from_value.py +0 -0
  158. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/printer/printer.py +0 -0
  159. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/private.py +0 -0
  160. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/py.typed +0 -0
  161. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/relay/__init__.py +0 -0
  162. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/relay/exceptions.py +0 -0
  163. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/relay/fields.py +0 -0
  164. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/relay/types.py +0 -0
  165. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/relay/utils.py +0 -0
  166. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/resolvers.py +0 -0
  167. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/sanic/__init__.py +0 -0
  168. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/sanic/context.py +0 -0
  169. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/sanic/graphiql.py +0 -0
  170. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/sanic/utils.py +0 -0
  171. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/sanic/views.py +0 -0
  172. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/scalars.py +0 -0
  173. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/__init__.py +0 -0
  174. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/base.py +0 -0
  175. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/compat.py +0 -0
  176. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/config.py +0 -0
  177. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/exceptions.py +0 -0
  178. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/execute.py +0 -0
  179. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/name_converter.py +0 -0
  180. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/schema.py +0 -0
  181. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/schema_converter.py +0 -0
  182. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/types/__init__.py +0 -0
  183. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/types/base_scalars.py +0 -0
  184. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/types/concrete_type.py +0 -0
  185. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema/types/scalar.py +0 -0
  186. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/schema_directive.py +0 -0
  187. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/starlite/__init__.py +0 -0
  188. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/starlite/controller.py +0 -0
  189. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/starlite/handlers/graphql_transport_ws_handler.py +0 -0
  190. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/starlite/handlers/graphql_ws_handler.py +0 -0
  191. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/static/graphiql.html +0 -0
  192. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/__init__.py +0 -0
  193. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/__init__.py +0 -0
  194. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  195. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  196. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  197. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  198. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  199. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  200. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/test/__init__.py +0 -0
  201. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/test/client.py +0 -0
  202. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/tools/__init__.py +0 -0
  203. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/tools/create_type.py +0 -0
  204. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/tools/merge_types.py +0 -0
  205. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/type.py +0 -0
  206. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/__init__.py +0 -0
  207. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/execution.py +0 -0
  208. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/fields/__init__.py +0 -0
  209. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/fields/resolver.py +0 -0
  210. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/graphql.py +0 -0
  211. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/info.py +0 -0
  212. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/nodes.py +0 -0
  213. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/type_resolver.py +0 -0
  214. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/types/types.py +0 -0
  215. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/union.py +0 -0
  216. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/unset.py +0 -0
  217. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/__init__.py +0 -0
  218. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/aio.py +0 -0
  219. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/await_maybe.py +0 -0
  220. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/cached_property.py +0 -0
  221. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/dataclasses.py +0 -0
  222. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/debug.py +0 -0
  223. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/graphiql.py +0 -0
  224. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/graphql_lexer.py +0 -0
  225. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/importer.py +0 -0
  226. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/inspect.py +0 -0
  227. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/logging.py +0 -0
  228. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/operation.py +0 -0
  229. {strawberry_graphql-0.183.3 → strawberry_graphql-0.183.4}/strawberry/utils/str_converters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.183.3
3
+ Version: 0.183.4
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.183.3"
4
+ version = "0.183.4"
5
5
  description = "A library for creating GraphQL APIs"
6
6
  authors = ["Patrick Arminio <patrick.arminio@gmail.com>"]
7
7
  license = "MIT"
@@ -1,5 +1,4 @@
1
1
  import ast
2
- import re
3
2
  import sys
4
3
  import typing
5
4
  from functools import lru_cache
@@ -12,6 +11,7 @@ from typing import ( # type: ignore
12
11
  Dict,
13
12
  ForwardRef,
14
13
  Generic,
14
+ List,
15
15
  Optional,
16
16
  Tuple,
17
17
  Type,
@@ -222,9 +222,66 @@ def _ast_replace_union_operation(
222
222
  return expr
223
223
 
224
224
 
225
- _annotated_re = re.compile(
226
- r"(Annotated\[)(?P<type>\w*),(?P<args>.*)(\])",
227
- )
225
+ def _get_namespace_from_ast(
226
+ expr: Union[ast.Expr, ast.expr],
227
+ globalns: Optional[Dict] = None,
228
+ localns: Optional[Dict] = None,
229
+ ) -> Dict[str, Type]:
230
+ from strawberry.lazy_type import StrawberryLazyReference
231
+
232
+ extra = {}
233
+
234
+ if isinstance(expr, ast.Expr) and isinstance(
235
+ expr.value, (ast.BinOp, ast.Subscript)
236
+ ):
237
+ extra.update(_get_namespace_from_ast(expr.value, globalns, localns))
238
+ elif isinstance(expr, ast.BinOp):
239
+ for elt in (expr.left, expr.right):
240
+ extra.update(_get_namespace_from_ast(elt, globalns, localns))
241
+ elif (
242
+ isinstance(expr, ast.Subscript)
243
+ and isinstance(expr.value, ast.Name)
244
+ and expr.value.id == "Union"
245
+ ):
246
+ if hasattr(ast, "Index") and isinstance(expr.slice, ast.Index):
247
+ # The cast is required for mypy on python 3.7 and 3.8
248
+ expr_slice = cast(Any, expr.slice).value
249
+ else:
250
+ expr_slice = expr.slice
251
+
252
+ for elt in cast(ast.Tuple, expr_slice).elts:
253
+ extra.update(_get_namespace_from_ast(elt, globalns, localns))
254
+ elif (
255
+ isinstance(expr, ast.Subscript)
256
+ and isinstance(expr.value, ast.Name)
257
+ and expr.value.id == "Annotated"
258
+ ):
259
+ assert ast_unparse
260
+
261
+ if hasattr(ast, "Index") and isinstance(expr.slice, ast.Index):
262
+ # The cast is required for mypy on python 3.7 and 3.8
263
+ expr_slice = cast(Any, expr.slice).value
264
+ else:
265
+ expr_slice = expr.slice
266
+
267
+ args: List[str] = []
268
+ for elt in cast(ast.Tuple, expr_slice).elts:
269
+ extra.update(_get_namespace_from_ast(elt, globalns, localns))
270
+ args.append(ast_unparse(elt))
271
+
272
+ # When using forward refs, the whole
273
+ # Annotated[SomeType, strawberry.lazy("type.module")] is a forward ref,
274
+ # and trying to _eval_type on it will fail. Take a different approach
275
+ # here to resolve lazy types by execing the annotated args, resolving the
276
+ # type directly and then adding it to extra namespace, so that _eval_type
277
+ # can properly resolve it later
278
+ type_name = args[0]
279
+ for arg in args[1:]:
280
+ evaled_arg = eval(arg, globalns, localns) # noqa: PGH001
281
+ if isinstance(evaled_arg, StrawberryLazyReference):
282
+ extra[type_name] = evaled_arg.resolve_forward_ref(ForwardRef(type_name))
283
+
284
+ return extra
228
285
 
229
286
 
230
287
  def eval_type(
@@ -240,51 +297,22 @@ def eval_type(
240
297
  globalns = globalns or {}
241
298
  # If this is not a string, maybe its args are (e.g. List["Foo"])
242
299
  if isinstance(type_, ForwardRef):
300
+ ast_obj = cast(ast.Expr, ast.parse(type_.__forward_arg__).body[0])
301
+
243
302
  # For Python 3.10+, we can use the built-in _eval_type function directly.
244
303
  # It will handle "|" notations properly
245
304
  if sys.version_info < (3, 10):
246
- parsed = _ast_replace_union_operation(
247
- cast(ast.Expr, ast.parse(type_.__forward_arg__).body[0])
248
- )
305
+ ast_obj = _ast_replace_union_operation(ast_obj)
249
306
 
250
307
  # We replaced "a | b" with "Union[a, b], so make sure Union can be resolved
251
308
  # at globalns because it may not be there
252
309
  if "Union" not in globalns:
253
310
  globalns["Union"] = Union
254
311
 
255
- assert ast_unparse
256
- type_ = ForwardRef(ast_unparse(parsed))
257
-
258
- # When using forward refs, the whole
259
- # Annotated[SomeType, strabwerry.lazy("type.module")] is a forward ref,
260
- # and trying to _eval_type on it will fail. Take a different approach
261
- # here to resolve lazy types by execing the annotated args and resolving
262
- # the type directly.
263
- annotated_match = _annotated_re.search(type_.__forward_arg__)
264
- if annotated_match:
265
- gdict = annotated_match.groupdict()
266
- # FIXME: Eval the remaining annotated args to get their real values
267
- # We might want to refactor how we import lazy modules to avoid having
268
- # to eval the code in here
269
- args = eval(f'({gdict["args"]}, )', globalns, localns) # noqa: PGH001
270
- lazy_ref = next(
271
- (arg for arg in args if isinstance(arg, StrawberryLazyReference)),
272
- None,
273
- )
274
- if lazy_ref is not None:
275
- remaining = [
276
- a for a in args if not isinstance(a, StrawberryLazyReference)
277
- ]
278
- type_ = lazy_ref.resolve_forward_ref(ForwardRef(gdict["type"]))
279
- # If we only had a StrawberryLazyReference, we can return the type
280
- # directly. It already did its job!
281
- if not remaining:
282
- return type_
312
+ globalns.update(_get_namespace_from_ast(ast_obj, globalns, localns))
283
313
 
284
- # Otherwise return the type annotated with the remaining annotations
285
- return Annotated.__class_getitem__( # type: ignore
286
- (type_, *remaining),
287
- )
314
+ assert ast_unparse
315
+ type_ = ForwardRef(ast_unparse(ast_obj))
288
316
 
289
317
  return _eval_type(type_, globalns, localns)
290
318
 
@@ -302,7 +330,12 @@ def eval_type(
302
330
  for a in args[1:]
303
331
  if not isinstance(arg, StrawberryLazyReference)
304
332
  ]
305
- args = (arg.resolve_forward_ref(args[0]), *remaining_args)
333
+ type_arg = (
334
+ arg.resolve_forward_ref(args[0])
335
+ if isinstance(args[0], ForwardRef)
336
+ else args[0]
337
+ )
338
+ args = (type_arg, *remaining_args)
306
339
  break
307
340
  if isinstance(arg, StrawberryAuto):
308
341
  remaining_args = [