strawberry-graphql 0.259.1__tar.gz → 0.260.1__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.259.1 → strawberry_graphql-0.260.1}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/pyproject.toml +1 -1
  3. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/schema.py +5 -6
  4. strawberry_graphql-0.260.1/strawberry/utils/inspect.py +135 -0
  5. strawberry_graphql-0.259.1/strawberry/utils/inspect.py +0 -123
  6. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/LICENSE +0 -0
  7. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/README.md +0 -0
  8. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/__init__.py +0 -0
  9. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/__main__.py +0 -0
  10. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/aiohttp/__init__.py +0 -0
  11. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/aiohttp/test/__init__.py +0 -0
  12. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/aiohttp/test/client.py +0 -0
  13. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/aiohttp/views.py +0 -0
  14. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/annotation.py +0 -0
  15. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/asgi/__init__.py +0 -0
  16. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/asgi/test/__init__.py +0 -0
  17. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/asgi/test/client.py +0 -0
  18. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/chalice/__init__.py +0 -0
  19. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/chalice/views.py +0 -0
  20. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/__init__.py +0 -0
  21. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/handlers/__init__.py +0 -0
  22. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/handlers/base.py +0 -0
  23. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/handlers/http_handler.py +0 -0
  24. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/handlers/ws_handler.py +0 -0
  25. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/router.py +0 -0
  26. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/channels/testing.py +0 -0
  27. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/__init__.py +0 -0
  28. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/app.py +0 -0
  29. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/__init__.py +0 -0
  30. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/codegen.py +0 -0
  31. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/export_schema.py +0 -0
  32. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/schema_codegen.py +0 -0
  33. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/server.py +0 -0
  34. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  35. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  36. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  37. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/constants.py +0 -0
  38. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/debug_server.py +0 -0
  39. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/utils/__init__.py +0 -0
  40. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/cli/utils/load_schema.py +0 -0
  41. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/__init__.py +0 -0
  42. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/exceptions.py +0 -0
  43. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/plugins/__init__.py +0 -0
  44. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/plugins/print_operation.py +0 -0
  45. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/plugins/python.py +0 -0
  46. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/plugins/typescript.py +0 -0
  47. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/query_codegen.py +0 -0
  48. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codegen/types.py +0 -0
  49. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codemods/__init__.py +0 -0
  50. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codemods/annotated_unions.py +0 -0
  51. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/codemods/update_imports.py +0 -0
  52. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/dataloader.py +0 -0
  53. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/directive.py +0 -0
  54. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/django/__init__.py +0 -0
  55. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/django/apps.py +0 -0
  56. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/django/context.py +0 -0
  57. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/django/test/__init__.py +0 -0
  58. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/django/test/client.py +0 -0
  59. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/django/views.py +0 -0
  60. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/__init__.py +0 -0
  61. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/conflicting_arguments.py +0 -0
  62. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/duplicated_type_name.py +0 -0
  63. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/exception.py +0 -0
  64. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/exception_source.py +0 -0
  65. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/handler.py +0 -0
  66. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/invalid_argument_type.py +0 -0
  67. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/invalid_union_type.py +0 -0
  68. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  69. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/missing_dependencies.py +0 -0
  70. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/missing_field_annotation.py +0 -0
  71. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/missing_return_annotation.py +0 -0
  72. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  73. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  74. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  75. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/private_strawberry_field.py +0 -0
  76. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/scalar_already_registered.py +0 -0
  77. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/syntax.py +0 -0
  78. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/unresolved_field_type.py +0 -0
  79. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/utils/__init__.py +0 -0
  80. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/exceptions/utils/source_finder.py +0 -0
  81. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/__init__.py +0 -0
  82. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/__init__.py +0 -0
  83. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/_compat.py +0 -0
  84. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/conversion.py +0 -0
  85. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  86. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/error_type.py +0 -0
  87. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/exceptions.py +0 -0
  88. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/fields.py +0 -0
  89. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/object_type.py +0 -0
  90. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/experimental/pydantic/utils.py +0 -0
  91. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/ext/LICENSE +0 -0
  92. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/ext/__init__.py +0 -0
  93. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/ext/dataclasses/LICENSE +0 -0
  94. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/ext/dataclasses/__init__.py +0 -0
  95. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  96. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/ext/mypy_plugin.py +0 -0
  97. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/__init__.py +0 -0
  98. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/add_validation_rules.py +0 -0
  99. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/base_extension.py +0 -0
  100. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/context.py +0 -0
  101. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/directives.py +0 -0
  102. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/disable_validation.py +0 -0
  103. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/field_extension.py +0 -0
  104. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/mask_errors.py +0 -0
  105. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/max_aliases.py +0 -0
  106. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/max_tokens.py +0 -0
  107. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/parser_cache.py +0 -0
  108. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/pyinstrument.py +0 -0
  109. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/query_depth_limiter.py +0 -0
  110. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/runner.py +0 -0
  111. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/tracing/__init__.py +0 -0
  112. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/tracing/apollo.py +0 -0
  113. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/tracing/datadog.py +0 -0
  114. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  115. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/tracing/utils.py +0 -0
  116. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/utils.py +0 -0
  117. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/extensions/validation_cache.py +0 -0
  118. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/fastapi/__init__.py +0 -0
  119. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/fastapi/context.py +0 -0
  120. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/fastapi/router.py +0 -0
  121. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/__init__.py +0 -0
  122. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/argument.py +0 -0
  123. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/enum.py +0 -0
  124. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/field.py +0 -0
  125. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/mutation.py +0 -0
  126. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/object_type.py +0 -0
  127. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/scalar.py +0 -0
  128. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/schema.py +0 -0
  129. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/schema_directive.py +0 -0
  130. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/schema_directives.py +0 -0
  131. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/types.py +0 -0
  132. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/federation/union.py +0 -0
  133. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/field_extensions/__init__.py +0 -0
  134. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/field_extensions/input_mutation.py +0 -0
  135. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/file_uploads/__init__.py +0 -0
  136. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/file_uploads/scalars.py +0 -0
  137. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/file_uploads/utils.py +0 -0
  138. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/flask/__init__.py +0 -0
  139. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/flask/views.py +0 -0
  140. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/__init__.py +0 -0
  141. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/async_base_view.py +0 -0
  142. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/base.py +0 -0
  143. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/exceptions.py +0 -0
  144. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/ides.py +0 -0
  145. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/parse_content_type.py +0 -0
  146. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/sync_base_view.py +0 -0
  147. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/temporal_response.py +0 -0
  148. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/types.py +0 -0
  149. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/http/typevars.py +0 -0
  150. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/litestar/__init__.py +0 -0
  151. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/litestar/controller.py +0 -0
  152. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/parent.py +0 -0
  153. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/permission.py +0 -0
  154. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/printer/__init__.py +0 -0
  155. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/printer/ast_from_value.py +0 -0
  156. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/printer/printer.py +0 -0
  157. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/py.typed +0 -0
  158. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/quart/__init__.py +0 -0
  159. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/quart/views.py +0 -0
  160. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/relay/__init__.py +0 -0
  161. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/relay/exceptions.py +0 -0
  162. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/relay/fields.py +0 -0
  163. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/relay/types.py +0 -0
  164. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/relay/utils.py +0 -0
  165. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/resolvers.py +0 -0
  166. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/sanic/__init__.py +0 -0
  167. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/sanic/context.py +0 -0
  168. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/sanic/utils.py +0 -0
  169. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/sanic/views.py +0 -0
  170. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/scalars.py +0 -0
  171. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/__init__.py +0 -0
  172. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/base.py +0 -0
  173. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/compat.py +0 -0
  174. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/config.py +0 -0
  175. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/exceptions.py +0 -0
  176. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/name_converter.py +0 -0
  177. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/schema_converter.py +0 -0
  178. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/types/__init__.py +0 -0
  179. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/types/base_scalars.py +0 -0
  180. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/types/concrete_type.py +0 -0
  181. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/types/scalar.py +0 -0
  182. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/validation_rules/__init__.py +0 -0
  183. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema/validation_rules/one_of.py +0 -0
  184. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema_codegen/__init__.py +0 -0
  185. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema_directive.py +0 -0
  186. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/schema_directives.py +0 -0
  187. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/static/apollo-sandbox.html +0 -0
  188. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/static/graphiql.html +0 -0
  189. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/static/pathfinder.html +0 -0
  190. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/__init__.py +0 -0
  191. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/__init__.py +0 -0
  192. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  193. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  194. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  195. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  196. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  197. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  198. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/test/__init__.py +0 -0
  199. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/test/client.py +0 -0
  200. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/tools/__init__.py +0 -0
  201. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/tools/create_type.py +0 -0
  202. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/tools/merge_types.py +0 -0
  203. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/__init__.py +0 -0
  204. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/arguments.py +0 -0
  205. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/auto.py +0 -0
  206. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/base.py +0 -0
  207. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/cast.py +0 -0
  208. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/enum.py +0 -0
  209. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/execution.py +0 -0
  210. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/field.py +0 -0
  211. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/fields/__init__.py +0 -0
  212. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/fields/resolver.py +0 -0
  213. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/graphql.py +0 -0
  214. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/info.py +0 -0
  215. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/lazy_type.py +0 -0
  216. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/mutation.py +0 -0
  217. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/nodes.py +0 -0
  218. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/object_type.py +0 -0
  219. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/private.py +0 -0
  220. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/scalar.py +0 -0
  221. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/type_resolver.py +0 -0
  222. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/union.py +0 -0
  223. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/types/unset.py +0 -0
  224. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/__init__.py +0 -0
  225. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/aio.py +0 -0
  226. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/await_maybe.py +0 -0
  227. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/dataclasses.py +0 -0
  228. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/debug.py +0 -0
  229. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/deprecations.py +0 -0
  230. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/graphql_lexer.py +0 -0
  231. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/importer.py +0 -0
  232. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/logging.py +0 -0
  233. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/operation.py +0 -0
  234. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/str_converters.py +0 -0
  235. {strawberry_graphql-0.259.1 → strawberry_graphql-0.260.1}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: strawberry-graphql
3
- Version: 0.259.1
3
+ Version: 0.260.1
4
4
  Summary: A library for creating GraphQL APIs
5
5
  License: MIT
6
6
  Keywords: graphql,api,rest,starlette,async
@@ -1,7 +1,7 @@
1
1
  [tool.poetry]
2
2
  name = "strawberry-graphql"
3
3
  packages = [ { include = "strawberry" } ]
4
- version = "0.259.1"
4
+ version = "0.260.1"
5
5
  description = "A library for creating GraphQL APIs"
6
6
  authors = ["Patrick Arminio <patrick.arminio@gmail.com>"]
7
7
  license = "MIT"
@@ -297,13 +297,12 @@ class Schema(BaseSchema):
297
297
  raise ValueError(f"Invalid Schema. Errors:\n\n{formatted_errors}")
298
298
 
299
299
  def get_extensions(self, sync: bool = False) -> list[SchemaExtension]:
300
- extensions = []
301
- if self.directives:
302
- extensions = [
303
- *self.extensions,
304
- DirectivesExtensionSync if sync else DirectivesExtension,
305
- ]
300
+ extensions: list[type[SchemaExtension] | SchemaExtension] = []
306
301
  extensions.extend(self.extensions)
302
+ if self.directives:
303
+ extensions.extend(
304
+ [DirectivesExtensionSync if sync else DirectivesExtension]
305
+ )
307
306
  return [
308
307
  ext if isinstance(ext, SchemaExtension) else ext(execution_context=None)
309
308
  for ext in extensions
@@ -0,0 +1,135 @@
1
+ import asyncio
2
+ import inspect
3
+ from functools import lru_cache
4
+ from typing import (
5
+ Any,
6
+ Callable,
7
+ Generic,
8
+ Optional,
9
+ Protocol,
10
+ TypeVar,
11
+ Union,
12
+ get_args,
13
+ get_origin,
14
+ )
15
+
16
+ import strawberry
17
+
18
+
19
+ def in_async_context() -> bool:
20
+ # Based on the way django checks if there's an event loop in the current thread
21
+ # https://github.com/django/django/blob/main/django/utils/asyncio.py
22
+ try:
23
+ asyncio.get_running_loop()
24
+ except RuntimeError:
25
+ return False
26
+ else:
27
+ return True
28
+
29
+
30
+ @lru_cache(maxsize=250)
31
+ def get_func_args(func: Callable[[Any], Any]) -> list[str]:
32
+ """Returns a list of arguments for the function."""
33
+ sig = inspect.signature(func)
34
+
35
+ return [
36
+ arg_name
37
+ for arg_name, param in sig.parameters.items()
38
+ if param.kind == inspect.Parameter.POSITIONAL_OR_KEYWORD
39
+ ]
40
+
41
+
42
+ def get_specialized_type_var_map(cls: type) -> Optional[dict[str, type]]:
43
+ """Get a type var map for specialized types.
44
+
45
+ Consider the following:
46
+
47
+ ```python
48
+ class Foo(Generic[T]): ...
49
+
50
+
51
+ class Bar(Generic[K]): ...
52
+
53
+
54
+ class IntBar(Bar[int]): ...
55
+
56
+
57
+ class IntBarSubclass(IntBar): ...
58
+
59
+
60
+ class IntBarFoo(IntBar, Foo[str]): ...
61
+ ```
62
+
63
+ This would return:
64
+
65
+ ```python
66
+ get_specialized_type_var_map(object)
67
+ # None
68
+
69
+ get_specialized_type_var_map(Foo)
70
+ # {}
71
+
72
+ get_specialized_type_var_map(Bar)
73
+ # {}
74
+
75
+ get_specialized_type_var_map(IntBar)
76
+ # {~T: int, ~K: int}
77
+
78
+ get_specialized_type_var_map(IntBarSubclass)
79
+ # {~T: int, ~K: int}
80
+
81
+ get_specialized_type_var_map(IntBarFoo)
82
+ # {~T: int, ~K: str}
83
+ ```
84
+ """
85
+ from strawberry.types.base import has_object_definition
86
+
87
+ param_args: dict[TypeVar, Union[TypeVar, type]] = {}
88
+
89
+ types: list[type] = [cls]
90
+ while types:
91
+ tp = types.pop(0)
92
+ if (origin := get_origin(tp)) is None or origin in (Generic, Protocol):
93
+ origin = tp
94
+
95
+ # only get type vars for base generics (i.e. Generic[T]) and for strawberry types
96
+ if not has_object_definition(origin):
97
+ continue
98
+
99
+ if (type_params := getattr(origin, "__parameters__", None)) is not None:
100
+ args = get_args(tp)
101
+ if args:
102
+ for type_param, arg in zip(type_params, args):
103
+ if type_param not in param_args:
104
+ param_args[type_param] = arg
105
+ else:
106
+ for type_param in type_params:
107
+ if type_param not in param_args:
108
+ param_args[type_param] = strawberry.UNSET
109
+
110
+ if orig_bases := getattr(origin, "__orig_bases__", None):
111
+ types.extend(orig_bases)
112
+ if not param_args:
113
+ return None
114
+
115
+ for type_param, arg in list(param_args.items()):
116
+ resolved_arg = arg
117
+ while (
118
+ isinstance(resolved_arg, TypeVar) and resolved_arg is not strawberry.UNSET
119
+ ):
120
+ resolved_arg = (
121
+ param_args.get(resolved_arg, strawberry.UNSET)
122
+ if resolved_arg is not type_param
123
+ else strawberry.UNSET
124
+ )
125
+
126
+ param_args[type_param] = resolved_arg
127
+
128
+ return {
129
+ k.__name__: v
130
+ for k, v in reversed(param_args.items())
131
+ if v is not strawberry.UNSET and not isinstance(v, TypeVar)
132
+ }
133
+
134
+
135
+ __all__ = ["get_func_args", "get_specialized_type_var_map", "in_async_context"]
@@ -1,123 +0,0 @@
1
- import asyncio
2
- import inspect
3
- from functools import lru_cache
4
- from typing import (
5
- Any,
6
- Callable,
7
- Optional,
8
- TypeVar,
9
- get_origin,
10
- )
11
- from typing_extensions import get_args
12
-
13
- from strawberry.utils.typing import is_generic_alias
14
-
15
-
16
- def in_async_context() -> bool:
17
- # Based on the way django checks if there's an event loop in the current thread
18
- # https://github.com/django/django/blob/main/django/utils/asyncio.py
19
- try:
20
- asyncio.get_running_loop()
21
- except RuntimeError:
22
- return False
23
- else:
24
- return True
25
-
26
-
27
- @lru_cache(maxsize=250)
28
- def get_func_args(func: Callable[[Any], Any]) -> list[str]:
29
- """Returns a list of arguments for the function."""
30
- sig = inspect.signature(func)
31
-
32
- return [
33
- arg_name
34
- for arg_name, param in sig.parameters.items()
35
- if param.kind == inspect.Parameter.POSITIONAL_OR_KEYWORD
36
- ]
37
-
38
-
39
- def get_specialized_type_var_map(cls: type) -> Optional[dict[str, type]]:
40
- """Get a type var map for specialized types.
41
-
42
- Consider the following:
43
-
44
- ```python
45
- class Foo(Generic[T]): ...
46
-
47
-
48
- class Bar(Generic[K]): ...
49
-
50
-
51
- class IntBar(Bar[int]): ...
52
-
53
-
54
- class IntBarSubclass(IntBar): ...
55
-
56
-
57
- class IntBarFoo(IntBar, Foo[str]): ...
58
- ```
59
-
60
- This would return:
61
-
62
- ```python
63
- get_specialized_type_var_map(object)
64
- # None
65
-
66
- get_specialized_type_var_map(Foo)
67
- # {}
68
-
69
- get_specialized_type_var_map(Bar)
70
- # {~T: ~T}
71
-
72
- get_specialized_type_var_map(IntBar)
73
- # {~T: int}
74
-
75
- get_specialized_type_var_map(IntBarSubclass)
76
- # {~T: int}
77
-
78
- get_specialized_type_var_map(IntBarFoo)
79
- # {~T: int, ~K: str}
80
- ```
81
- """
82
- from strawberry.types.base import has_object_definition
83
-
84
- orig_bases = getattr(cls, "__orig_bases__", None)
85
- if orig_bases is None:
86
- # Specialized generic aliases will not have __orig_bases__
87
- if get_origin(cls) is not None and is_generic_alias(cls):
88
- orig_bases = (cls,)
89
- else:
90
- # Not a specialized type
91
- return None
92
-
93
- type_var_map = {}
94
-
95
- # only get type vars for base generics (ie. Generic[T]) and for strawberry types
96
-
97
- orig_bases = [b for b in orig_bases if has_object_definition(b)]
98
-
99
- for base in orig_bases:
100
- # Recursively get type var map from base classes
101
- if base is not cls:
102
- base_type_var_map = get_specialized_type_var_map(base)
103
- if base_type_var_map is not None:
104
- type_var_map.update(base_type_var_map)
105
-
106
- args = get_args(base)
107
- origin = getattr(base, "__origin__", None)
108
-
109
- params = origin and getattr(origin, "__parameters__", None)
110
- if params is None:
111
- params = getattr(base, "__parameters__", None)
112
-
113
- if not params:
114
- continue
115
-
116
- type_var_map.update(
117
- {p.__name__: a for p, a in zip(params, args) if not isinstance(a, TypeVar)}
118
- )
119
-
120
- return type_var_map
121
-
122
-
123
- __all__ = ["get_func_args", "get_specialized_type_var_map", "in_async_context"]