strawberry-graphql 0.281.0__tar.gz → 0.283.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.

Potentially problematic release.


This version of strawberry-graphql might be problematic. Click here for more details.

Files changed (246) hide show
  1. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/PKG-INFO +12 -7
  2. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/README.md +5 -5
  3. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/pyproject.toml +76 -67
  4. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/__init__.py +1 -0
  5. strawberry_graphql-0.283.0/strawberry/cli/commands/dev.py +72 -0
  6. strawberry_graphql-0.283.0/strawberry/cli/commands/server.py +41 -0
  7. strawberry_graphql-0.283.0/strawberry/cli/constants.py +1 -0
  8. strawberry_graphql-0.281.0/strawberry/cli/debug_server.py → strawberry_graphql-0.283.0/strawberry/cli/dev_server.py +2 -2
  9. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/mask_errors.py +5 -7
  10. strawberry_graphql-0.281.0/strawberry/cli/commands/server.py +0 -72
  11. strawberry_graphql-0.281.0/strawberry/cli/constants.py +0 -1
  12. strawberry_graphql-0.281.0/strawberry/utils/graphql_lexer.py +0 -35
  13. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/LICENSE +0 -0
  14. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/__init__.py +0 -0
  15. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/__main__.py +0 -0
  16. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/aiohttp/__init__.py +0 -0
  17. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/aiohttp/test/__init__.py +0 -0
  18. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/aiohttp/test/client.py +0 -0
  19. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/aiohttp/views.py +0 -0
  20. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/annotation.py +0 -0
  21. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/asgi/__init__.py +0 -0
  22. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/asgi/test/__init__.py +0 -0
  23. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/asgi/test/client.py +0 -0
  24. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/chalice/__init__.py +0 -0
  25. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/chalice/views.py +0 -0
  26. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/__init__.py +0 -0
  27. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/handlers/__init__.py +0 -0
  28. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/handlers/base.py +0 -0
  29. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/handlers/http_handler.py +0 -0
  30. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/handlers/ws_handler.py +0 -0
  31. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/router.py +0 -0
  32. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/channels/testing.py +0 -0
  33. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/app.py +0 -0
  34. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/__init__.py +0 -0
  35. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/codegen.py +0 -0
  36. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/export_schema.py +0 -0
  37. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/locate_definition.py +0 -0
  38. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/schema_codegen.py +0 -0
  39. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  40. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  41. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  42. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/utils/__init__.py +0 -0
  43. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/cli/utils/load_schema.py +0 -0
  44. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/__init__.py +0 -0
  45. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/exceptions.py +0 -0
  46. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/plugins/__init__.py +0 -0
  47. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/plugins/print_operation.py +0 -0
  48. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/plugins/python.py +0 -0
  49. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/plugins/typescript.py +0 -0
  50. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/query_codegen.py +0 -0
  51. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codegen/types.py +0 -0
  52. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codemods/__init__.py +0 -0
  53. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codemods/annotated_unions.py +0 -0
  54. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codemods/maybe_optional.py +0 -0
  55. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/codemods/update_imports.py +0 -0
  56. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/dataloader.py +0 -0
  57. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/directive.py +0 -0
  58. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/django/__init__.py +0 -0
  59. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/django/apps.py +0 -0
  60. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/django/context.py +0 -0
  61. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/django/test/__init__.py +0 -0
  62. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/django/test/client.py +0 -0
  63. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/django/views.py +0 -0
  64. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/__init__.py +0 -0
  65. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/conflicting_arguments.py +0 -0
  66. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
  67. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/exception.py +0 -0
  68. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/exception_source.py +0 -0
  69. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/handler.py +0 -0
  70. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
  71. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/invalid_superclass_interface.py +0 -0
  72. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/invalid_union_type.py +0 -0
  73. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  74. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/missing_dependencies.py +0 -0
  75. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
  76. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
  77. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  78. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  79. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  80. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
  81. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
  82. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/syntax.py +0 -0
  83. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
  84. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/utils/__init__.py +0 -0
  85. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/exceptions/utils/source_finder.py +0 -0
  86. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/__init__.py +0 -0
  87. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/__init__.py +0 -0
  88. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/_compat.py +0 -0
  89. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/conversion.py +0 -0
  90. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  91. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/error_type.py +0 -0
  92. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
  93. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/fields.py +0 -0
  94. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/object_type.py +0 -0
  95. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/experimental/pydantic/utils.py +0 -0
  96. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/LICENSE +0 -0
  97. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/__init__.py +0 -0
  98. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/dataclasses/LICENSE +0 -0
  99. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/dataclasses/README.md +0 -0
  100. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/dataclasses/__init__.py +0 -0
  101. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  102. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/ext/mypy_plugin.py +0 -0
  103. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/__init__.py +0 -0
  104. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/add_validation_rules.py +0 -0
  105. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/base_extension.py +0 -0
  106. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/context.py +0 -0
  107. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/directives.py +0 -0
  108. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/disable_introspection.py +0 -0
  109. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/disable_validation.py +0 -0
  110. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/field_extension.py +0 -0
  111. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/max_aliases.py +0 -0
  112. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/max_tokens.py +0 -0
  113. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/parser_cache.py +0 -0
  114. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/pyinstrument.py +0 -0
  115. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/query_depth_limiter.py +0 -0
  116. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/runner.py +0 -0
  117. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/tracing/__init__.py +0 -0
  118. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/tracing/apollo.py +0 -0
  119. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/tracing/datadog.py +0 -0
  120. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  121. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/tracing/utils.py +0 -0
  122. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/utils.py +0 -0
  123. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/extensions/validation_cache.py +0 -0
  124. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/fastapi/__init__.py +0 -0
  125. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/fastapi/context.py +0 -0
  126. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/fastapi/router.py +0 -0
  127. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/__init__.py +0 -0
  128. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/argument.py +0 -0
  129. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/enum.py +0 -0
  130. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/field.py +0 -0
  131. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/mutation.py +0 -0
  132. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/object_type.py +0 -0
  133. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/scalar.py +0 -0
  134. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/schema.py +0 -0
  135. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/schema_directive.py +0 -0
  136. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/schema_directives.py +0 -0
  137. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/types.py +0 -0
  138. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/federation/union.py +0 -0
  139. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/field_extensions/__init__.py +0 -0
  140. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/field_extensions/input_mutation.py +0 -0
  141. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/file_uploads/__init__.py +0 -0
  142. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/file_uploads/scalars.py +0 -0
  143. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/file_uploads/utils.py +0 -0
  144. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/flask/__init__.py +0 -0
  145. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/flask/views.py +0 -0
  146. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/__init__.py +0 -0
  147. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/async_base_view.py +0 -0
  148. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/base.py +0 -0
  149. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/exceptions.py +0 -0
  150. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/ides.py +0 -0
  151. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/parse_content_type.py +0 -0
  152. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/sync_base_view.py +0 -0
  153. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/temporal_response.py +0 -0
  154. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/types.py +0 -0
  155. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/http/typevars.py +0 -0
  156. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/litestar/__init__.py +0 -0
  157. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/litestar/controller.py +0 -0
  158. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/parent.py +0 -0
  159. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/permission.py +0 -0
  160. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/printer/__init__.py +0 -0
  161. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/printer/ast_from_value.py +0 -0
  162. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/printer/printer.py +0 -0
  163. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/py.typed +0 -0
  164. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/quart/__init__.py +0 -0
  165. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/quart/views.py +0 -0
  166. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/relay/__init__.py +0 -0
  167. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/relay/exceptions.py +0 -0
  168. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/relay/fields.py +0 -0
  169. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/relay/types.py +0 -0
  170. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/relay/utils.py +0 -0
  171. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/resolvers.py +0 -0
  172. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/sanic/__init__.py +0 -0
  173. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/sanic/context.py +0 -0
  174. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/sanic/utils.py +0 -0
  175. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/sanic/views.py +0 -0
  176. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/scalars.py +0 -0
  177. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/__init__.py +0 -0
  178. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/_graphql_core.py +0 -0
  179. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/base.py +0 -0
  180. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/compat.py +0 -0
  181. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/config.py +0 -0
  182. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/exceptions.py +0 -0
  183. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/name_converter.py +0 -0
  184. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/schema.py +0 -0
  185. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/schema_converter.py +0 -0
  186. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/types/__init__.py +0 -0
  187. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/types/base_scalars.py +0 -0
  188. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/types/concrete_type.py +0 -0
  189. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/types/scalar.py +0 -0
  190. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/validation_rules/__init__.py +0 -0
  191. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/validation_rules/maybe_null.py +0 -0
  192. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema/validation_rules/one_of.py +0 -0
  193. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema_codegen/__init__.py +0 -0
  194. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema_directive.py +0 -0
  195. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/schema_directives.py +0 -0
  196. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/static/apollo-sandbox.html +0 -0
  197. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/static/graphiql.html +0 -0
  198. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/static/pathfinder.html +0 -0
  199. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/streamable.py +0 -0
  200. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/__init__.py +0 -0
  201. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
  202. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  203. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  204. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  205. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  206. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  207. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  208. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/test/__init__.py +0 -0
  209. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/test/client.py +0 -0
  210. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/tools/__init__.py +0 -0
  211. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/tools/create_type.py +0 -0
  212. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/tools/merge_types.py +0 -0
  213. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/__init__.py +0 -0
  214. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/arguments.py +0 -0
  215. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/auto.py +0 -0
  216. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/base.py +0 -0
  217. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/cast.py +0 -0
  218. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/enum.py +0 -0
  219. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/execution.py +0 -0
  220. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/field.py +0 -0
  221. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/fields/__init__.py +0 -0
  222. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/fields/resolver.py +0 -0
  223. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/graphql.py +0 -0
  224. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/info.py +0 -0
  225. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/lazy_type.py +0 -0
  226. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/maybe.py +0 -0
  227. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/mutation.py +0 -0
  228. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/nodes.py +0 -0
  229. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/object_type.py +0 -0
  230. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/private.py +0 -0
  231. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/scalar.py +0 -0
  232. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/type_resolver.py +0 -0
  233. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/union.py +0 -0
  234. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/types/unset.py +0 -0
  235. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/__init__.py +0 -0
  236. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/aio.py +0 -0
  237. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/await_maybe.py +0 -0
  238. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/dataclasses.py +0 -0
  239. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/deprecations.py +0 -0
  240. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/importer.py +0 -0
  241. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/inspect.py +0 -0
  242. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/locate_definition.py +0 -0
  243. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/logging.py +0 -0
  244. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/operation.py +0 -0
  245. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/str_converters.py +0 -0
  246. {strawberry_graphql-0.281.0 → strawberry_graphql-0.283.0}/strawberry/utils/typing.py +0 -0
@@ -1,8 +1,9 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: strawberry-graphql
3
- Version: 0.281.0
3
+ Version: 0.283.0
4
4
  Summary: A library for creating GraphQL APIs
5
5
  License: MIT
6
+ License-File: LICENSE
6
7
  Keywords: graphql,api,rest,starlette,async
7
8
  Author: Patrick Arminio
8
9
  Author-email: patrick.arminio@gmail.com
@@ -51,6 +52,7 @@ Requires-Dist: pygments (>=2.3,<3.0) ; extra == "debug-server"
51
52
  Requires-Dist: pyinstrument (>=4.0.0) ; extra == "pyinstrument"
52
53
  Requires-Dist: python-dateutil (>=2.7,<3.0)
53
54
  Requires-Dist: python-multipart (>=0.0.7) ; extra == "asgi"
55
+ Requires-Dist: python-multipart (>=0.0.7) ; extra == "cli"
54
56
  Requires-Dist: python-multipart (>=0.0.7) ; extra == "debug-server"
55
57
  Requires-Dist: python-multipart (>=0.0.7) ; extra == "fastapi"
56
58
  Requires-Dist: quart (>=0.19.3) ; extra == "quart"
@@ -59,11 +61,14 @@ Requires-Dist: rich (>=12.0.0) ; extra == "debug"
59
61
  Requires-Dist: rich (>=12.0.0) ; extra == "debug-server"
60
62
  Requires-Dist: sanic (>=20.12.2) ; extra == "sanic"
61
63
  Requires-Dist: starlette (>=0.18.0) ; extra == "asgi"
64
+ Requires-Dist: starlette (>=0.18.0) ; extra == "cli"
62
65
  Requires-Dist: starlette (>=0.18.0) ; extra == "debug-server"
63
66
  Requires-Dist: typer (>=0.7.0) ; extra == "cli"
64
67
  Requires-Dist: typer (>=0.7.0) ; extra == "debug-server"
65
68
  Requires-Dist: typing-extensions (>=4.5.0)
69
+ Requires-Dist: uvicorn (>=0.11.6) ; extra == "cli"
66
70
  Requires-Dist: uvicorn (>=0.11.6) ; extra == "debug-server"
71
+ Requires-Dist: websockets (>=15.0.1,<16) ; extra == "cli"
67
72
  Requires-Dist: websockets (>=15.0.1,<16) ; extra == "debug-server"
68
73
  Project-URL: Changelog, https://strawberry.rocks/changelog
69
74
  Project-URL: Documentation, https://strawberry.rocks/
@@ -92,7 +97,7 @@ The quick start method provides a server and CLI to get going quickly. Install
92
97
  with:
93
98
 
94
99
  ```shell
95
- pip install "strawberry-graphql[debug-server]"
100
+ pip install "strawberry-graphql[cli]"
96
101
  ```
97
102
 
98
103
  ## Getting Started
@@ -122,13 +127,13 @@ schema = strawberry.Schema(query=Query)
122
127
  This will create a GraphQL schema defining a `User` type and a single query
123
128
  field `user` that will return a hardcoded user.
124
129
 
125
- To run the debug server run the following command:
130
+ To serve the schema using the dev server run the following command:
126
131
 
127
132
  ```shell
128
- strawberry server app
133
+ strawberry dev app
129
134
  ```
130
135
 
131
- Open the debug server by clicking on the following link:
136
+ Open the dev server by clicking on the following link:
132
137
  [http://0.0.0.0:8000/graphql](http://0.0.0.0:8000/graphql)
133
138
 
134
139
  This will open GraphiQL where you can test the API.
@@ -185,7 +190,7 @@ get started follow these steps:
185
190
  ```shell
186
191
  git clone https://github.com/strawberry-graphql/strawberry
187
192
  cd strawberry
188
- poetry install --with integrations
193
+ poetry install
189
194
  poetry run pytest
190
195
  ```
191
196
 
@@ -14,7 +14,7 @@ The quick start method provides a server and CLI to get going quickly. Install
14
14
  with:
15
15
 
16
16
  ```shell
17
- pip install "strawberry-graphql[debug-server]"
17
+ pip install "strawberry-graphql[cli]"
18
18
  ```
19
19
 
20
20
  ## Getting Started
@@ -44,13 +44,13 @@ schema = strawberry.Schema(query=Query)
44
44
  This will create a GraphQL schema defining a `User` type and a single query
45
45
  field `user` that will return a hardcoded user.
46
46
 
47
- To run the debug server run the following command:
47
+ To serve the schema using the dev server run the following command:
48
48
 
49
49
  ```shell
50
- strawberry server app
50
+ strawberry dev app
51
51
  ```
52
52
 
53
- Open the debug server by clicking on the following link:
53
+ Open the dev server by clicking on the following link:
54
54
  [http://0.0.0.0:8000/graphql](http://0.0.0.0:8000/graphql)
55
55
 
56
56
  This will open GraphiQL where you can test the API.
@@ -107,7 +107,7 @@ get started follow these steps:
107
107
  ```shell
108
108
  git clone https://github.com/strawberry-graphql/strawberry
109
109
  cd strawberry
110
- poetry install --with integrations
110
+ poetry install
111
111
  poetry run pytest
112
112
  ```
113
113
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "strawberry-graphql"
3
- version = "0.281.0"
3
+ version = "0.283.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" }
@@ -59,79 +59,88 @@ pydantic = ["pydantic>1.6.1"]
59
59
  sanic = ["sanic>=20.12.2"]
60
60
  fastapi = ["fastapi>=0.65.2", "python-multipart>=0.0.7"]
61
61
  chalice = ["chalice~=1.22"]
62
- cli = ["typer>=0.7.0", "pygments~=2.3", "rich>=12.0.0", "libcst"]
62
+ cli = [
63
+ "typer>=0.7.0",
64
+ "pygments~=2.3",
65
+ "rich>=12.0.0",
66
+ "libcst",
67
+ "starlette>=0.18.0",
68
+ "uvicorn>=0.11.6",
69
+ "websockets>=15.0.1,<16",
70
+ "python-multipart>=0.0.7",
71
+ ]
63
72
  litestar = ["litestar>=2; python_version~='3.10'"]
64
73
  pyinstrument = ["pyinstrument>=4.0.0"]
65
74
 
75
+ [dependency-groups]
76
+ dev = [
77
+ "ruff (>=0.12.3,<0.13.0)",
78
+ "asgiref (>=3.2,<4.0)",
79
+ "email-validator (>=1.1.3,<3.0.0)",
80
+ "freezegun (>=1.2.1,<2.0.0)",
81
+ "libcst (>=1.8.2,<2.0.0)",
82
+ "markupsafe (==2.1.3)",
83
+ "nox (>=2024.4.15,<2025.0.0)",
84
+ "nox-poetry (>=1.0.3,<2.0.0)",
85
+ "opentelemetry-api (<2)",
86
+ "opentelemetry-sdk (<2)",
87
+ "pygments (>=2.3,<3.0)",
88
+ "pyinstrument (>=4.0.0)",
89
+ "pytest (>=7.2,<8.0)",
90
+ "pytest-asyncio (>=0.20.3)",
91
+ "pytest-codspeed (>=3.0.0) ; python_version >= \"3.9\"",
92
+ "pytest-cov (>=4.0.0,<5.0.0)",
93
+ "pytest-emoji (>=0.2.0,<0.3.0)",
94
+ "pytest-mock (>=3.10,<4.0)",
95
+ "pytest-snapshot (>=0.9.0,<0.10.0)",
96
+ "pytest-xdist[psutil] (>=3.1.0,<4.0.0)",
97
+ "python-multipart (>=0.0.7)",
98
+ "rich (>=12.5.1)",
99
+ "sanic-testing (>=22.9,<24.0)",
100
+ "typer (>=0.7.0)",
101
+ "types-aiofiles (>=24.1.0.20250326,<25.0.0.0)",
102
+ "types-certifi (>=2021.10.8,<2022.0.0)",
103
+ "types-chardet (>=5.0.4,<6.0.0)",
104
+ "types-freezegun (>=1.1.9,<2.0.0)",
105
+ "types-python-dateutil (>=2.8.19,<3.0.0)",
106
+ "types-toml (>=0.10.8,<0.11.0)",
107
+ "types-typed-ast (>=1.5.8,<2.0.0)",
108
+ "types-ujson (>=5.10.0.20250326,<6.0.0.0)",
109
+ "types-protobuf (>=5.29.1.20250403,<6.0.0.0)",
110
+ "poetry-plugin-export (>=1.6.0,<2.0.0)",
111
+ # another bug in poetry
112
+ "urllib3 (<2)",
113
+ "inline-snapshot (>=0.10.1,<0.11.0)",
114
+ "types-deprecated (>=1.2.15.20241117,<2.0.0.0)",
115
+ "types-six (>=1.17.0.20250403,<2.0.0.0)",
116
+ "types-pyyaml (>=6.0.12.20240917,<7.0.0.0)",
117
+ "mypy (>=1.15.0,<2.0.0)",
118
+ "pyright (==1.1.401)",
119
+ "codeflash (>=0.9.2)",
120
+ "pre-commit (>=4.3.0,<5.0.0)",
121
+ ]
122
+ integrations = [
123
+ "aiohttp (>=3.7.4.post0,<4.0.0)",
124
+ "chalice (>=1.22,<2.0)",
125
+ "channels (>=3.0.5,<5.0.0)",
126
+ "django (>=3.2)",
127
+ "fastapi (>=0.65.0)",
128
+ "flask (>=1.1)",
129
+ "quart (>=0.19.3)",
130
+ "pydantic (>=2.0)",
131
+ "pytest-aiohttp (>=1.0.3,<2.0.0)",
132
+ "pytest-django (>=4.5,<5.0)",
133
+ "sanic (>=20.12.2)",
134
+ "starlette (>=0.13.6)",
135
+ "litestar (>=2) ; python_version >= \"3.10\"",
136
+ "uvicorn (>=0.11.6)",
137
+ "daphne (>=4.0.0,<5.0.0)",
138
+ ]
139
+
66
140
  [tool.poetry]
67
141
  packages = [{ include = "strawberry" }]
68
142
  include = ["strawberry/py.typed"]
69
143
 
70
- [tool.poetry.group.dev.dependencies]
71
- ruff = "^0.12.3"
72
- asgiref = "^3.2"
73
- email-validator = { version = ">=1.1.3,<3.0.0", optional = false }
74
- freezegun = "^1.2.1"
75
- libcst = { version = "^1.8.2", optional = false }
76
- MarkupSafe = "2.1.3"
77
- nox = "^2024.4.15"
78
- nox-poetry = "^1.0.3"
79
- opentelemetry-api = "<2"
80
- opentelemetry-sdk = "<2"
81
- pygments = "^2.3"
82
- pyinstrument = { version = ">=4.0.0", optional = false }
83
- pytest = "^7.2"
84
- pytest-asyncio = ">=0.20.3"
85
- pytest-codspeed = { version = ">=3.0.0", python = ">=3.9" }
86
- pytest-cov = "^4.0.0"
87
- pytest-emoji = "^0.2.0"
88
- pytest-mock = "^3.10"
89
- pytest-snapshot = "^0.9.0"
90
- pytest-xdist = { extras = ["psutil"], version = "^3.1.0" }
91
- python-multipart = ">=0.0.7"
92
- rich = { version = ">=12.5.1", optional = false }
93
- sanic-testing = ">=22.9,<24.0"
94
- typer = { version = ">=0.7.0", optional = false }
95
- types-aiofiles = "^24.1.0.20250326"
96
- types-certifi = "^2021.10.8"
97
- types-chardet = "^5.0.4"
98
- types-freezegun = "^1.1.9"
99
- types-python-dateutil = "^2.8.19"
100
- types-toml = "^0.10.8"
101
- types-typed-ast = "^1.5.8"
102
- types-ujson = "^5.10.0.20250326"
103
- types-protobuf = "^5.29.1.20250403"
104
- poetry-plugin-export = { version = "^1.6.0", python = "<4.0", optional = false }
105
- # another bug in poetry
106
- urllib3 = "<2"
107
- inline-snapshot = "^0.10.1"
108
- types-deprecated = "^1.2.15.20241117"
109
- types-six = "^1.17.0.20250403"
110
- types-pyyaml = "^6.0.12.20240917"
111
- mypy = "^1.15.0"
112
- pyright = "1.1.401"
113
- codeflash = ">=0.9.2"
114
-
115
- [tool.poetry.group.integrations]
116
- optional = true
117
-
118
- [tool.poetry.group.integrations.dependencies]
119
- aiohttp = "^3.7.4.post0"
120
- chalice = { version = "^1.22" }
121
- channels = ">=3.0.5,<5.0.0"
122
- Django = ">=3.2"
123
- fastapi = { version = ">=0.65.0", optional = false }
124
- flask = ">=1.1"
125
- quart = ">=0.19.3"
126
- pydantic = { version = ">=2.0", optional = false }
127
- pytest-aiohttp = "^1.0.3"
128
- pytest-django = { version = "^4.5" }
129
- sanic = ">=20.12.2"
130
- starlette = ">=0.13.6"
131
- litestar = { version = ">=2", python = ">=3.10,<4.0", optional = false }
132
- uvicorn = ">=0.11.6"
133
- daphne = "^4.0.0"
134
-
135
144
  [tool.pytest.ini_options]
136
145
  addopts = "--emoji"
137
146
  DJANGO_SETTINGS_MODULE = "tests.django.django_settings"
@@ -1,6 +1,7 @@
1
1
  try:
2
2
  from .app import app
3
3
  from .commands.codegen import codegen as codegen
4
+ from .commands.dev import dev as dev
4
5
  from .commands.export_schema import export_schema as export_schema
5
6
  from .commands.locate_definition import (
6
7
  locate_definition as locate_definition,
@@ -0,0 +1,72 @@
1
+ import os
2
+ import sys
3
+ from enum import Enum
4
+ from typing import Annotated
5
+
6
+ import rich
7
+ import typer
8
+
9
+ from strawberry.cli.app import app
10
+ from strawberry.cli.constants import DEV_SERVER_SCHEMA_ENV_VAR_KEY
11
+ from strawberry.cli.utils import load_schema
12
+
13
+
14
+ class LogLevel(str, Enum):
15
+ critical = "critical"
16
+ error = "error"
17
+ warning = "warning"
18
+ info = "info"
19
+ debug = "debug"
20
+ trace = "trace"
21
+
22
+
23
+ @app.command(help="Starts the dev server")
24
+ def dev(
25
+ schema: str,
26
+ host: Annotated[
27
+ str, typer.Option("-h", "--host", help="Host to bind the server to.")
28
+ ] = "0.0.0.0", # noqa: S104
29
+ port: Annotated[
30
+ int, typer.Option("-p", "--port", help="Port to bind the server to.")
31
+ ] = 8000,
32
+ log_level: Annotated[
33
+ LogLevel,
34
+ typer.Option(
35
+ "--log-level", help="Passed to uvicorn to determine the server log level."
36
+ ),
37
+ ] = LogLevel.error,
38
+ app_dir: Annotated[
39
+ str,
40
+ typer.Option(
41
+ "--app-dir",
42
+ help="Look for the schema module in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.",
43
+ ),
44
+ ] = ".",
45
+ ) -> None:
46
+ try:
47
+ import starlette # noqa: F401
48
+ import uvicorn
49
+ except ImportError:
50
+ rich.print(
51
+ "[red]Error: The dev server requires additional packages, install them by running:\n"
52
+ r"pip install 'strawberry-graphql\[cli]'"
53
+ )
54
+ raise typer.Exit(1) from None
55
+
56
+ sys.path.insert(0, app_dir)
57
+ load_schema(schema, app_dir=app_dir)
58
+
59
+ os.environ[DEV_SERVER_SCHEMA_ENV_VAR_KEY] = schema
60
+ asgi_app = "strawberry.cli.dev_server:app"
61
+
62
+ end = " 🍓\n" if sys.platform != "win32" else "\n"
63
+ rich.print(f"Running strawberry on http://{host}:{port}/graphql", end=end)
64
+
65
+ uvicorn.run(
66
+ asgi_app,
67
+ host=host,
68
+ port=port,
69
+ log_level=log_level,
70
+ reload=True,
71
+ reload_dirs=[app_dir],
72
+ )
@@ -0,0 +1,41 @@
1
+ from enum import Enum
2
+
3
+ import typer
4
+
5
+ from strawberry.cli.app import app
6
+
7
+
8
+ class LogLevel(str, Enum):
9
+ debug = "debug"
10
+ info = "info"
11
+ warning = "warning"
12
+ error = "error"
13
+
14
+ __slots__ = ()
15
+
16
+
17
+ @app.command(help="Starts debug server")
18
+ def server(
19
+ schema: str,
20
+ host: str = typer.Option("0.0.0.0", "-h", "--host", show_default=True), # noqa: S104
21
+ port: int = typer.Option(8000, "-p", "--port", show_default=True),
22
+ log_level: LogLevel = typer.Option(
23
+ "error",
24
+ "--log-level",
25
+ help="passed to uvicorn to determine the log level",
26
+ ),
27
+ app_dir: str = typer.Option(
28
+ ".",
29
+ "--app-dir",
30
+ show_default=True,
31
+ help=(
32
+ "Look for the module in the specified directory, by adding this to the "
33
+ "PYTHONPATH. Defaults to the current working directory. "
34
+ "Works the same as `--app-dir` in uvicorn."
35
+ ),
36
+ ),
37
+ ) -> None:
38
+ typer.echo(
39
+ "The `strawberry server` command is deprecated, use `strawberry dev` instead."
40
+ )
41
+ raise typer.Exit(1)
@@ -0,0 +1 @@
1
+ DEV_SERVER_SCHEMA_ENV_VAR_KEY = "STRAWBERRY_DEV_SERVER_SCHEMA"
@@ -6,7 +6,7 @@ from starlette.middleware.cors import CORSMiddleware
6
6
 
7
7
  from strawberry import Schema
8
8
  from strawberry.asgi import GraphQL
9
- from strawberry.cli.constants import DEBUG_SERVER_SCHEMA_ENV_VAR_KEY
9
+ from strawberry.cli.constants import DEV_SERVER_SCHEMA_ENV_VAR_KEY
10
10
  from strawberry.utils.importer import import_module_symbol
11
11
 
12
12
  app = Starlette(debug=True)
@@ -14,7 +14,7 @@ app.add_middleware(
14
14
  CORSMiddleware, allow_headers=["*"], allow_origins=["*"], allow_methods=["*"]
15
15
  )
16
16
 
17
- schema_import_string = os.environ[DEBUG_SERVER_SCHEMA_ENV_VAR_KEY]
17
+ schema_import_string = os.environ[DEV_SERVER_SCHEMA_ENV_VAR_KEY]
18
18
  schema_symbol = import_module_symbol(schema_import_string, default_symbol_name="schema")
19
19
 
20
20
  assert isinstance(schema_symbol, Schema)
@@ -1,10 +1,11 @@
1
- from collections.abc import Iterator
2
- from typing import Any, Callable
1
+ from collections.abc import Callable, Iterator
2
+ from typing import Any
3
3
 
4
4
  from graphql.error import GraphQLError
5
- from graphql.execution import ExecutionResult
5
+ from graphql.execution.execute import ExecutionResult as GraphQLExecutionResult
6
6
 
7
7
  from strawberry.extensions.base_extension import SchemaExtension
8
+ from strawberry.types.execution import ExecutionResult as StrawberryExecutionResult
8
9
 
9
10
 
10
11
  def default_should_mask_error(_: GraphQLError) -> bool:
@@ -54,10 +55,7 @@ class MaskErrors(SchemaExtension):
54
55
 
55
56
  result = self.execution_context.result
56
57
 
57
- if isinstance(result, ExecutionResult):
58
+ if isinstance(result, (GraphQLExecutionResult, StrawberryExecutionResult)):
58
59
  self._process_result(result)
59
60
  elif result:
60
61
  self._process_result(result.initial_result)
61
-
62
-
63
- __all__ = ["MaskErrors"]
@@ -1,72 +0,0 @@
1
- import os
2
- import sys
3
- from enum import Enum
4
-
5
- import rich
6
- import typer
7
-
8
- from strawberry.cli.app import app
9
- from strawberry.cli.constants import DEBUG_SERVER_SCHEMA_ENV_VAR_KEY
10
- from strawberry.cli.utils import load_schema
11
-
12
-
13
- class LogLevel(str, Enum):
14
- debug = "debug"
15
- info = "info"
16
- warning = "warning"
17
- error = "error"
18
-
19
- __slots__ = ()
20
-
21
-
22
- @app.command(help="Starts debug server")
23
- def server(
24
- schema: str,
25
- host: str = typer.Option("0.0.0.0", "-h", "--host", show_default=True), # noqa: S104
26
- port: int = typer.Option(8000, "-p", "--port", show_default=True),
27
- log_level: LogLevel = typer.Option(
28
- "error",
29
- "--log-level",
30
- help="passed to uvicorn to determine the log level",
31
- ),
32
- app_dir: str = typer.Option(
33
- ".",
34
- "--app-dir",
35
- show_default=True,
36
- help=(
37
- "Look for the module in the specified directory, by adding this to the "
38
- "PYTHONPATH. Defaults to the current working directory. "
39
- "Works the same as `--app-dir` in uvicorn."
40
- ),
41
- ),
42
- ) -> None:
43
- sys.path.insert(0, app_dir)
44
-
45
- try:
46
- import starlette # noqa: F401
47
- import uvicorn
48
- except ImportError:
49
- rich.print(
50
- "[red]Error: The debug server requires additional packages, "
51
- "install them by running:\n"
52
- r"pip install 'strawberry-graphql\[debug-server]'"
53
- )
54
- raise typer.Exit(1) # noqa: B904
55
-
56
- load_schema(schema, app_dir=app_dir)
57
-
58
- os.environ[DEBUG_SERVER_SCHEMA_ENV_VAR_KEY] = schema
59
- app = "strawberry.cli.debug_server:app"
60
-
61
- # Windows doesn't support UTF-8 by default
62
- endl = " 🍓\n" if sys.platform != "win32" else "\n"
63
- print(f"Running strawberry on http://{host}:{port}/graphql", end=endl) # noqa: T201
64
-
65
- uvicorn.run(
66
- app,
67
- host=host,
68
- port=port,
69
- log_level=log_level,
70
- reload=True,
71
- reload_dirs=[app_dir],
72
- )
@@ -1 +0,0 @@
1
- DEBUG_SERVER_SCHEMA_ENV_VAR_KEY = "STRAWBERRY_DEBUG_SERVER_SCHEMA"
@@ -1,35 +0,0 @@
1
- from typing import Any, ClassVar
2
-
3
- from pygments import token
4
- from pygments.lexer import RegexLexer
5
-
6
-
7
- class GraphQLLexer(RegexLexer):
8
- """GraphQL Lexer for Pygments, used by the debug server."""
9
-
10
- name = "GraphQL"
11
- aliases: ClassVar[list[str]] = ["graphql", "gql"]
12
- filenames: ClassVar[list[str]] = ["*.graphql", "*.gql"]
13
- mimetypes: ClassVar[list[str]] = ["application/graphql"]
14
-
15
- tokens: ClassVar[dict[str, list[tuple[str, Any]]]] = {
16
- "root": [
17
- (r"#.*", token.Comment.Singline),
18
- (r"\.\.\.", token.Operator),
19
- (r'"[\u0009\u000A\u000D\u0020-\uFFFF]*"', token.String.Double),
20
- (
21
- r"(-?0|-?[1-9][0-9]*)(\.[0-9]+[eE][+-]?[0-9]+|\.[0-9]+|[eE][+-]?[0-9]+)",
22
- token.Number.Float,
23
- ),
24
- (r"(-?0|-?[1-9][0-9]*)", token.Number.Integer),
25
- (r"\$+[_A-Za-z][_0-9A-Za-z]*", token.Name.Variable),
26
- (r"[_A-Za-z][_0-9A-Za-z]+\s?:", token.Text),
27
- (r"(type|query|mutation|@[a-z]+|on|true|false|null)\b", token.Keyword.Type),
28
- (r"[!$():=@\[\]{|}]+?", token.Punctuation),
29
- (r"[_A-Za-z][_0-9A-Za-z]*", token.Keyword),
30
- (r"(\s|,)", token.Text),
31
- ]
32
- }
33
-
34
-
35
- __all__ = ["GraphQLLexer"]