strawberry-graphql 0.289.8__tar.gz → 0.290.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 (246) hide show
  1. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/pyproject.toml +1 -1
  3. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema_codegen/__init__.py +141 -6
  4. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/LICENSE +0 -0
  5. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/README.md +0 -0
  6. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/__init__.py +0 -0
  7. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/__main__.py +0 -0
  8. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/aiohttp/__init__.py +0 -0
  9. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/aiohttp/test/__init__.py +0 -0
  10. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/aiohttp/test/client.py +0 -0
  11. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/aiohttp/views.py +0 -0
  12. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/annotation.py +0 -0
  13. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/asgi/__init__.py +0 -0
  14. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/asgi/test/__init__.py +0 -0
  15. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/asgi/test/client.py +0 -0
  16. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/chalice/__init__.py +0 -0
  17. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/chalice/views.py +0 -0
  18. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/__init__.py +0 -0
  19. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/handlers/__init__.py +0 -0
  20. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/handlers/base.py +0 -0
  21. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/handlers/http_handler.py +0 -0
  22. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/handlers/ws_handler.py +0 -0
  23. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/router.py +0 -0
  24. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/channels/testing.py +0 -0
  25. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/__init__.py +0 -0
  26. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/app.py +0 -0
  27. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/__init__.py +0 -0
  28. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/codegen.py +0 -0
  29. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/dev.py +0 -0
  30. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/export_schema.py +0 -0
  31. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/locate_definition.py +0 -0
  32. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/schema_codegen.py +0 -0
  33. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/server.py +0 -0
  34. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  35. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  36. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  37. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/constants.py +0 -0
  38. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/dev_server.py +0 -0
  39. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/utils/__init__.py +0 -0
  40. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/cli/utils/load_schema.py +0 -0
  41. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/__init__.py +0 -0
  42. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/exceptions.py +0 -0
  43. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/plugins/__init__.py +0 -0
  44. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/plugins/print_operation.py +0 -0
  45. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/plugins/python.py +0 -0
  46. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/plugins/typescript.py +0 -0
  47. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/query_codegen.py +0 -0
  48. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codegen/types.py +0 -0
  49. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codemods/__init__.py +0 -0
  50. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codemods/annotated_unions.py +0 -0
  51. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codemods/maybe_optional.py +0 -0
  52. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codemods/replace_scalar_wrappers.py +0 -0
  53. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/codemods/update_imports.py +0 -0
  54. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/dataloader.py +0 -0
  55. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/directive.py +0 -0
  56. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/django/__init__.py +0 -0
  57. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/django/apps.py +0 -0
  58. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/django/context.py +0 -0
  59. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/django/test/__init__.py +0 -0
  60. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/django/test/client.py +0 -0
  61. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/django/views.py +0 -0
  62. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/__init__.py +0 -0
  63. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/conflicting_arguments.py +0 -0
  64. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
  65. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/exception.py +0 -0
  66. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/exception_source.py +0 -0
  67. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/handler.py +0 -0
  68. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
  69. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/invalid_superclass_interface.py +0 -0
  70. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/invalid_union_type.py +0 -0
  71. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  72. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/missing_dependencies.py +0 -0
  73. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
  74. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
  75. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  76. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  77. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  78. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
  79. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
  80. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/syntax.py +0 -0
  81. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
  82. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/utils/__init__.py +0 -0
  83. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/exceptions/utils/source_finder.py +0 -0
  84. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/execution/__init__.py +0 -0
  85. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/execution/is_awaitable.py +0 -0
  86. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/__init__.py +0 -0
  87. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/__init__.py +0 -0
  88. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/_compat.py +0 -0
  89. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/conversion.py +0 -0
  90. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  91. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/error_type.py +0 -0
  92. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
  93. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/fields.py +0 -0
  94. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/object_type.py +0 -0
  95. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/experimental/pydantic/utils.py +0 -0
  96. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/LICENSE +0 -0
  97. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/__init__.py +0 -0
  98. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/dataclasses/LICENSE +0 -0
  99. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/dataclasses/README.md +0 -0
  100. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/dataclasses/__init__.py +0 -0
  101. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  102. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/ext/mypy_plugin.py +0 -0
  103. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/__init__.py +0 -0
  104. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/add_validation_rules.py +0 -0
  105. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/base_extension.py +0 -0
  106. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/context.py +0 -0
  107. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/directives.py +0 -0
  108. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/disable_introspection.py +0 -0
  109. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/disable_validation.py +0 -0
  110. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/field_extension.py +0 -0
  111. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/mask_errors.py +0 -0
  112. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/max_aliases.py +0 -0
  113. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/max_tokens.py +0 -0
  114. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/parser_cache.py +0 -0
  115. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/pyinstrument.py +0 -0
  116. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/query_depth_limiter.py +0 -0
  117. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/runner.py +0 -0
  118. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/tracing/__init__.py +0 -0
  119. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/tracing/apollo.py +0 -0
  120. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/tracing/datadog.py +0 -0
  121. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  122. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/tracing/utils.py +0 -0
  123. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/utils.py +0 -0
  124. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/extensions/validation_cache.py +0 -0
  125. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/fastapi/__init__.py +0 -0
  126. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/fastapi/context.py +0 -0
  127. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/fastapi/router.py +0 -0
  128. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/__init__.py +0 -0
  129. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/argument.py +0 -0
  130. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/enum.py +0 -0
  131. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/field.py +0 -0
  132. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/mutation.py +0 -0
  133. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/object_type.py +0 -0
  134. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/scalar.py +0 -0
  135. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/schema.py +0 -0
  136. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/schema_directive.py +0 -0
  137. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/schema_directives.py +0 -0
  138. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/types.py +0 -0
  139. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/union.py +0 -0
  140. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/federation/versions.py +0 -0
  141. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/field_extensions/__init__.py +0 -0
  142. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/field_extensions/input_mutation.py +0 -0
  143. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/file_uploads/__init__.py +0 -0
  144. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/file_uploads/scalars.py +0 -0
  145. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/file_uploads/utils.py +0 -0
  146. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/flask/__init__.py +0 -0
  147. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/flask/views.py +0 -0
  148. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/__init__.py +0 -0
  149. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/async_base_view.py +0 -0
  150. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/base.py +0 -0
  151. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/exceptions.py +0 -0
  152. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/ides.py +0 -0
  153. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/parse_content_type.py +0 -0
  154. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/sync_base_view.py +0 -0
  155. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/temporal_response.py +0 -0
  156. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/types.py +0 -0
  157. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/http/typevars.py +0 -0
  158. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/litestar/__init__.py +0 -0
  159. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/litestar/controller.py +0 -0
  160. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/parent.py +0 -0
  161. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/permission.py +0 -0
  162. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/printer/__init__.py +0 -0
  163. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/printer/ast_from_value.py +0 -0
  164. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/printer/printer.py +0 -0
  165. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/py.typed +0 -0
  166. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/quart/__init__.py +0 -0
  167. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/quart/views.py +0 -0
  168. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/relay/__init__.py +0 -0
  169. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/relay/exceptions.py +0 -0
  170. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/relay/fields.py +0 -0
  171. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/relay/types.py +0 -0
  172. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/relay/utils.py +0 -0
  173. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/resolvers.py +0 -0
  174. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/sanic/__init__.py +0 -0
  175. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/sanic/context.py +0 -0
  176. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/sanic/utils.py +0 -0
  177. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/sanic/views.py +0 -0
  178. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/scalars.py +0 -0
  179. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/__init__.py +0 -0
  180. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/_graphql_core.py +0 -0
  181. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/base.py +0 -0
  182. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/compat.py +0 -0
  183. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/config.py +0 -0
  184. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/exceptions.py +0 -0
  185. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/name_converter.py +0 -0
  186. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/schema.py +0 -0
  187. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/schema_converter.py +0 -0
  188. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/types/__init__.py +0 -0
  189. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/types/base_scalars.py +0 -0
  190. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/types/concrete_type.py +0 -0
  191. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/types/scalar.py +0 -0
  192. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/validation_rules/__init__.py +0 -0
  193. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/validation_rules/maybe_null.py +0 -0
  194. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema/validation_rules/one_of.py +0 -0
  195. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema_directive.py +0 -0
  196. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/schema_directives.py +0 -0
  197. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/static/apollo-sandbox.html +0 -0
  198. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/static/graphiql.html +0 -0
  199. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/static/pathfinder.html +0 -0
  200. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/streamable.py +0 -0
  201. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/__init__.py +0 -0
  202. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
  203. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  204. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  205. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  206. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  207. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  208. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  209. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/test/__init__.py +0 -0
  210. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/test/client.py +0 -0
  211. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/tools/__init__.py +0 -0
  212. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/tools/create_type.py +0 -0
  213. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/tools/merge_types.py +0 -0
  214. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/__init__.py +0 -0
  215. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/arguments.py +0 -0
  216. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/auto.py +0 -0
  217. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/base.py +0 -0
  218. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/cast.py +0 -0
  219. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/enum.py +0 -0
  220. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/execution.py +0 -0
  221. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/field.py +0 -0
  222. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/fields/__init__.py +0 -0
  223. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/fields/resolver.py +0 -0
  224. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/graphql.py +0 -0
  225. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/info.py +0 -0
  226. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/lazy_type.py +0 -0
  227. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/maybe.py +0 -0
  228. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/mutation.py +0 -0
  229. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/nodes.py +0 -0
  230. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/object_type.py +0 -0
  231. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/private.py +0 -0
  232. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/scalar.py +0 -0
  233. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/type_resolver.py +0 -0
  234. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/union.py +0 -0
  235. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/types/unset.py +0 -0
  236. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/__init__.py +0 -0
  237. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/aio.py +0 -0
  238. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/await_maybe.py +0 -0
  239. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/deprecations.py +0 -0
  240. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/importer.py +0 -0
  241. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/inspect.py +0 -0
  242. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/locate_definition.py +0 -0
  243. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/logging.py +0 -0
  244. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/operation.py +0 -0
  245. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/str_converters.py +0 -0
  246. {strawberry_graphql-0.289.8 → strawberry_graphql-0.290.0}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strawberry-graphql
3
- Version: 0.289.8
3
+ Version: 0.290.0
4
4
  Summary: A library for creating GraphQL APIs
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "strawberry-graphql"
3
- version = "0.289.8"
3
+ version = "0.290.0"
4
4
  description = "A library for creating GraphQL APIs"
5
5
  authors = [{ name = "Patrick Arminio", email = "patrick.arminio@gmail.com" }]
6
6
  license = { text = "MIT" }
@@ -32,7 +32,11 @@ from graphql import (
32
32
  from graphql.language.ast import (
33
33
  BooleanValueNode,
34
34
  ConstValueNode,
35
+ EnumValueNode,
36
+ FloatValueNode,
37
+ IntValueNode,
35
38
  ListValueNode,
39
+ NullValueNode,
36
40
  )
37
41
 
38
42
  from strawberry.utils.str_converters import to_snake_case
@@ -108,13 +112,23 @@ def _is_federation_link_directive(directive: ConstDirectiveNode) -> bool:
108
112
  ).startswith("https://specs.apollo.dev/federation")
109
113
 
110
114
 
115
+ def _is_nullable(field_type: TypeNode) -> bool:
116
+ """Check if a field type is nullable (not wrapped in NonNullTypeNode)."""
117
+ return not isinstance(field_type, NonNullTypeNode)
118
+
119
+
111
120
  def _get_field_type(
112
- field_type: TypeNode, was_non_nullable: bool = False
121
+ field_type: TypeNode,
122
+ was_non_nullable: bool = False,
123
+ *,
124
+ wrap_in_maybe: bool = False,
113
125
  ) -> cst.BaseExpression:
114
126
  expr: cst.BaseExpression | None
115
127
 
116
128
  if isinstance(field_type, NonNullTypeNode):
117
- return _get_field_type(field_type.type, was_non_nullable=True)
129
+ return _get_field_type(
130
+ field_type.type, was_non_nullable=True, wrap_in_maybe=wrap_in_maybe
131
+ )
118
132
  if isinstance(field_type, ListTypeNode):
119
133
  expr = cst.Subscript(
120
134
  value=cst.Name("list"),
@@ -138,12 +152,84 @@ def _get_field_type(
138
152
  if was_non_nullable:
139
153
  return expr
140
154
 
141
- return cst.BinaryOperation(
155
+ nullable_expr = cst.BinaryOperation(
142
156
  left=expr,
143
157
  operator=cst.BitOr(),
144
158
  right=cst.Name("None"),
145
159
  )
146
160
 
161
+ if wrap_in_maybe:
162
+ return cst.Subscript(
163
+ value=cst.Attribute(
164
+ value=cst.Name("strawberry"),
165
+ attr=cst.Name("Maybe"),
166
+ ),
167
+ slice=[
168
+ cst.SubscriptElement(
169
+ cst.Index(value=nullable_expr),
170
+ )
171
+ ],
172
+ )
173
+
174
+ return nullable_expr
175
+
176
+
177
+ def _get_base_type_name(type_node: TypeNode) -> str:
178
+ """Extract the base named type from a possibly wrapped type node."""
179
+ if isinstance(type_node, (NonNullTypeNode, ListTypeNode)):
180
+ return _get_base_type_name(type_node.type)
181
+
182
+ if isinstance(type_node, NamedTypeNode):
183
+ return type_node.name.value
184
+
185
+ raise NotImplementedError(f"Unknown type node {type_node}")
186
+
187
+
188
+ def _get_default_value_expr(
189
+ node: ConstValueNode,
190
+ *,
191
+ enum_type_name: str | None = None,
192
+ ) -> cst.BaseExpression:
193
+ """Convert a GraphQL default value AST node to a libcst expression."""
194
+ if isinstance(node, IntValueNode):
195
+ return cst.Integer(node.value)
196
+
197
+ if isinstance(node, FloatValueNode):
198
+ return cst.Float(node.value)
199
+
200
+ if isinstance(node, StringValueNode):
201
+ if '"' in node.value:
202
+ return cst.SimpleString(f"'{node.value}'")
203
+
204
+ return cst.SimpleString(f'"{node.value}"')
205
+
206
+ if isinstance(node, BooleanValueNode):
207
+ return cst.Name("True" if node.value else "False")
208
+
209
+ if isinstance(node, NullValueNode):
210
+ return cst.Name("None")
211
+
212
+ if isinstance(node, EnumValueNode):
213
+ if enum_type_name is None:
214
+ raise ValueError("enum_type_name is required for EnumValueNode")
215
+
216
+ return cst.Attribute(
217
+ value=cst.Name(enum_type_name),
218
+ attr=cst.Name(node.value),
219
+ )
220
+
221
+ if isinstance(node, ListValueNode):
222
+ return cst.List(
223
+ elements=[
224
+ cst.Element(
225
+ value=_get_default_value_expr(v, enum_type_name=enum_type_name)
226
+ )
227
+ for v in node.values
228
+ ]
229
+ )
230
+
231
+ raise NotImplementedError(f"Unknown default value node {node}")
232
+
147
233
 
148
234
  def _sanitize_argument(value: ArgumentValue) -> cst.SimpleString | cst.Name | cst.List:
149
235
  if isinstance(value, bool):
@@ -183,7 +269,9 @@ def _get_field_value(
183
269
  alias: str | None,
184
270
  is_apollo_federation: bool,
185
271
  imports: set[Import],
186
- ) -> cst.Call | None:
272
+ *,
273
+ default_value: cst.BaseExpression | None = None,
274
+ ) -> cst.Call | cst.BaseExpression | None:
187
275
  description = field.description.value if field.description else None
188
276
 
189
277
  args = list(
@@ -200,7 +288,19 @@ def _get_field_value(
200
288
 
201
289
  apollo_federation_args = _get_federation_arguments(directives, imports)
202
290
 
291
+ default_arg = (
292
+ cst.Arg(
293
+ value=default_value,
294
+ keyword=cst.Name("default"),
295
+ equal=cst.AssignEqual(cst.SimpleWhitespace(""), cst.SimpleWhitespace("")),
296
+ )
297
+ if default_value is not None
298
+ else None
299
+ )
300
+
203
301
  if is_apollo_federation and apollo_federation_args:
302
+ if default_arg is not None:
303
+ args.append(default_arg)
204
304
  args.extend(apollo_federation_args)
205
305
 
206
306
  return cst.Call(
@@ -215,6 +315,8 @@ def _get_field_value(
215
315
  )
216
316
 
217
317
  if args:
318
+ if default_arg is not None:
319
+ args.append(default_arg)
218
320
  return cst.Call(
219
321
  func=cst.Attribute(
220
322
  value=cst.Name("strawberry"),
@@ -223,6 +325,9 @@ def _get_field_value(
223
325
  args=args,
224
326
  )
225
327
 
328
+ if default_value is not None:
329
+ return default_value
330
+
226
331
  return None
227
332
 
228
333
 
@@ -230,6 +335,8 @@ def _get_field(
230
335
  field: FieldDefinitionNode | InputValueDefinitionNode,
231
336
  is_apollo_federation: bool,
232
337
  imports: set[Import],
338
+ *,
339
+ is_input_field: bool = False,
233
340
  ) -> cst.SimpleStatementLine:
234
341
  name = to_snake_case(field.name.value)
235
342
  alias: str | None = None
@@ -238,18 +345,35 @@ def _get_field(
238
345
  name = f"{name}_"
239
346
  alias = field.name.value
240
347
 
348
+ # For input types, wrap nullable fields in strawberry.Maybe[...]
349
+ wrap_in_maybe = is_input_field and _is_nullable(field.type)
350
+
351
+ # Extract default value for input fields
352
+ default_value: cst.BaseExpression | None = None
353
+ if isinstance(field, InputValueDefinitionNode) and field.default_value is not None:
354
+ enum_type_name = (
355
+ _get_base_type_name(field.type)
356
+ if isinstance(field.default_value, EnumValueNode)
357
+ else None
358
+ )
359
+
360
+ default_value = _get_default_value_expr(
361
+ field.default_value, enum_type_name=enum_type_name
362
+ )
363
+
241
364
  return cst.SimpleStatementLine(
242
365
  body=[
243
366
  cst.AnnAssign(
244
367
  target=cst.Name(name),
245
368
  annotation=cst.Annotation(
246
- _get_field_type(field.type),
369
+ _get_field_type(field.type, wrap_in_maybe=wrap_in_maybe),
247
370
  ),
248
371
  value=_get_field_value(
249
372
  field,
250
373
  alias=alias,
251
374
  is_apollo_federation=is_apollo_federation,
252
375
  imports=imports,
376
+ default_value=default_value,
253
377
  ),
254
378
  )
255
379
  ]
@@ -262,12 +386,16 @@ ArgumentValue: TypeAlias = str | bool | list["ArgumentValue"]
262
386
  def _get_argument_value(argument_value: ConstValueNode) -> ArgumentValue:
263
387
  if isinstance(argument_value, StringValueNode):
264
388
  return argument_value.value
389
+
265
390
  if isinstance(argument_value, EnumValueDefinitionNode):
266
391
  return argument_value.name.value
392
+
267
393
  if isinstance(argument_value, ListValueNode):
268
394
  return [_get_argument_value(arg) for arg in argument_value.values]
395
+
269
396
  if isinstance(argument_value, BooleanValueNode):
270
397
  return argument_value.value
398
+
271
399
  raise NotImplementedError(f"Unknown argument value {argument_value}")
272
400
 
273
401
 
@@ -440,11 +568,18 @@ def _get_class_definition(
440
568
  else []
441
569
  )
442
570
 
571
+ is_input_type = isinstance(definition, InputObjectTypeDefinitionNode)
572
+
443
573
  class_definition = cst.ClassDef(
444
574
  name=cst.Name(definition.name.value),
445
575
  body=cst.IndentedBlock(
446
576
  body=[
447
- _get_field(field, is_apollo_federation, imports)
577
+ _get_field(
578
+ field,
579
+ is_apollo_federation,
580
+ imports,
581
+ is_input_field=is_input_type,
582
+ )
448
583
  for field in definition.fields
449
584
  ]
450
585
  ),