graphql-core 3.3.0b1__tar.gz → 3.3.0b2__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 (382) hide show
  1. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/.bumpversion.cfg +1 -1
  2. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/PKG-INFO +3 -3
  3. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/README.md +2 -2
  4. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/conf.py +2 -2
  5. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/execution.rst +2 -0
  6. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/utilities.rst +1 -0
  7. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/pyproject.toml +1 -1
  8. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/__init__.py +12 -0
  9. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/error/graphql_error.py +49 -12
  10. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/__init__.py +7 -1
  11. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/__init__.py +2 -0
  12. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/find_schema_changes.py +1 -0
  13. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/version.py +2 -2
  14. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/error/test_graphql_error.py +81 -0
  15. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/.editorconfig +0 -0
  16. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/.readthedocs.yaml +0 -0
  17. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/CODEOWNERS +0 -0
  18. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/LICENSE +0 -0
  19. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/SECURITY.md +0 -0
  20. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/Makefile +0 -0
  21. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/diffs.rst +0 -0
  22. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/index.rst +0 -0
  23. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/intro.rst +0 -0
  24. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/make.bat +0 -0
  25. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/error.rst +0 -0
  26. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/graphql.rst +0 -0
  27. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/language.rst +0 -0
  28. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/pyutils.rst +0 -0
  29. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/type.rst +0 -0
  30. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/modules/validation.rst +0 -0
  31. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/extension.rst +0 -0
  32. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/index.rst +0 -0
  33. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/introspection.rst +0 -0
  34. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/methods.rst +0 -0
  35. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/other.rst +0 -0
  36. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/parser.rst +0 -0
  37. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/queries.rst +0 -0
  38. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/resolvers.rst +0 -0
  39. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/schema.rst +0 -0
  40. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/sdl.rst +0 -0
  41. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/docs/usage/validator.rst +0 -0
  42. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/error/__init__.py +0 -0
  43. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/error/located_error.py +0 -0
  44. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/error/syntax_error.py +0 -0
  45. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/aborted_graphql_execution_error.py +0 -0
  46. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/async_iterables.py +0 -0
  47. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/build_execution_plan.py +0 -0
  48. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/collect_fields.py +0 -0
  49. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/execute.py +0 -0
  50. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/get_variable_signature.py +0 -0
  51. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/incremental_graph.py +0 -0
  52. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/incremental_publisher.py +0 -0
  53. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/middleware.py +0 -0
  54. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/types.py +0 -0
  55. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/execution/values.py +0 -0
  56. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/graphql.py +0 -0
  57. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/harness.py +0 -0
  58. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/__init__.py +0 -0
  59. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/ast.py +0 -0
  60. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/block_string.py +0 -0
  61. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/character_classes.py +0 -0
  62. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/directive_locations.py +0 -0
  63. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/lexer.py +0 -0
  64. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/location.py +0 -0
  65. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/parser.py +0 -0
  66. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/predicates.py +0 -0
  67. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/print_location.py +0 -0
  68. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/print_string.py +0 -0
  69. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/printer.py +0 -0
  70. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/schema_coordinate_lexer.py +0 -0
  71. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/source.py +0 -0
  72. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/token_kind.py +0 -0
  73. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/language/visitor.py +0 -0
  74. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/py.typed +0 -0
  75. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/__init__.py +0 -0
  76. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/abort_signal.py +0 -0
  77. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/async_reduce.py +0 -0
  78. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/awaitable_or_value.py +0 -0
  79. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/boxed_awaitable_or_value.py +0 -0
  80. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/cached_property.py +0 -0
  81. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/convert_case.py +0 -0
  82. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/description.py +0 -0
  83. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/did_you_mean.py +0 -0
  84. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/format_list.py +0 -0
  85. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/frozen_error.py +0 -0
  86. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/gather_with_cancel.py +0 -0
  87. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/group_by.py +0 -0
  88. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/identity_func.py +0 -0
  89. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/inspect.py +0 -0
  90. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/is_awaitable.py +0 -0
  91. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/is_iterable.py +0 -0
  92. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/merge_kwargs.py +0 -0
  93. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/natural_compare.py +0 -0
  94. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/path.py +0 -0
  95. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/print_path_list.py +0 -0
  96. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/ref_map.py +0 -0
  97. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/ref_set.py +0 -0
  98. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/simple_pub_sub.py +0 -0
  99. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/suggestion_list.py +0 -0
  100. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/pyutils/undefined.py +0 -0
  101. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/__init__.py +0 -0
  102. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/assert_name.py +0 -0
  103. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/definition.py +0 -0
  104. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/directives.py +0 -0
  105. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/introspection.py +0 -0
  106. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/scalars.py +0 -0
  107. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/schema.py +0 -0
  108. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/type/validate.py +0 -0
  109. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/ast_from_value.py +0 -0
  110. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/ast_to_dict.py +0 -0
  111. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/build_ast_schema.py +0 -0
  112. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/build_client_schema.py +0 -0
  113. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/coerce_input_value.py +0 -0
  114. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/concat_ast.py +0 -0
  115. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/extend_schema.py +0 -0
  116. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/get_default_value_ast.py +0 -0
  117. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/get_introspection_query.py +0 -0
  118. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/get_operation_ast.py +0 -0
  119. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/introspection_from_schema.py +0 -0
  120. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/lexicographic_sort_schema.py +0 -0
  121. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/map_schema_config.py +0 -0
  122. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/print_schema.py +0 -0
  123. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/replace_variables.py +0 -0
  124. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/resolve_schema_coordinate.py +0 -0
  125. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/separate_operations.py +0 -0
  126. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/sort_value_node.py +0 -0
  127. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/strip_ignored_characters.py +0 -0
  128. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/type_comparators.py +0 -0
  129. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/type_from_ast.py +0 -0
  130. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/type_info.py +0 -0
  131. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/validate_input_value.py +0 -0
  132. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/value_from_ast.py +0 -0
  133. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/value_from_ast_untyped.py +0 -0
  134. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/utilities/value_to_literal.py +0 -0
  135. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/__init__.py +0 -0
  136. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/__init__.py +0 -0
  137. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/custom/__init__.py +0 -0
  138. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/custom/no_deprecated.py +0 -0
  139. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/custom/no_schema_introspection.py +0 -0
  140. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/defer_stream_directive_label.py +0 -0
  141. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/defer_stream_directive_on_root_field.py +0 -0
  142. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/defer_stream_directive_on_valid_operations_rule.py +0 -0
  143. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/executable_definitions.py +0 -0
  144. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/fields_on_correct_type.py +0 -0
  145. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/fragments_on_composite_types.py +0 -0
  146. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/known_argument_names.py +0 -0
  147. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/known_directives.py +0 -0
  148. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/known_fragment_names.py +0 -0
  149. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/known_operation_types.py +0 -0
  150. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/known_type_names.py +0 -0
  151. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/lone_anonymous_operation.py +0 -0
  152. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/lone_schema_definition.py +0 -0
  153. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/max_introspection_depth_rule.py +0 -0
  154. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/no_fragment_cycles.py +0 -0
  155. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/no_undefined_variables.py +0 -0
  156. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/no_unused_fragments.py +0 -0
  157. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/no_unused_variables.py +0 -0
  158. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/overlapping_fields_can_be_merged.py +0 -0
  159. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/possible_fragment_spreads.py +0 -0
  160. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/possible_type_extensions.py +0 -0
  161. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/provided_required_arguments.py +0 -0
  162. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/scalar_leafs.py +0 -0
  163. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/single_field_subscriptions.py +0 -0
  164. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/stream_directive_on_list_field.py +0 -0
  165. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_argument_definition_names.py +0 -0
  166. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_argument_names.py +0 -0
  167. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_directive_names.py +0 -0
  168. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_directives_per_location.py +0 -0
  169. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_enum_value_names.py +0 -0
  170. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_field_definition_names.py +0 -0
  171. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_fragment_names.py +0 -0
  172. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_input_field_names.py +0 -0
  173. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_operation_names.py +0 -0
  174. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_operation_types.py +0 -0
  175. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_type_names.py +0 -0
  176. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/unique_variable_names.py +0 -0
  177. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/values_of_correct_type.py +0 -0
  178. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/variables_are_input_types.py +0 -0
  179. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/rules/variables_in_allowed_position.py +0 -0
  180. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/specified_rules.py +0 -0
  181. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/validate.py +0 -0
  182. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/src/graphql/validation/validation_context.py +0 -0
  183. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/__init__.py +0 -0
  184. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/__init__.py +0 -0
  185. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_async_iterable.py +0 -0
  186. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_build_ast_schema.py +0 -0
  187. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_build_client_schema.py +0 -0
  188. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_execution_async.py +0 -0
  189. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_execution_sync.py +0 -0
  190. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_graphql_schema.py +0 -0
  191. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_introspection_from_schema.py +0 -0
  192. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_parser.py +0 -0
  193. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_print.py +0 -0
  194. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_repeated_fields.py +0 -0
  195. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_serialization.py +0 -0
  196. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_validate_gql.py +0 -0
  197. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_validate_invalid_gql.py +0 -0
  198. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_validate_sdl.py +0 -0
  199. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/benchmarks/test_visit.py +0 -0
  200. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/conftest.py +0 -0
  201. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/error/__init__.py +0 -0
  202. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/error/test_located_error.py +0 -0
  203. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/error/test_print_location.py +0 -0
  204. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/__init__.py +0 -0
  205. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_aborted_graphql_execution_error.py +0 -0
  206. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_abstract.py +0 -0
  207. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_cancellation.py +0 -0
  208. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_collect_fields.py +0 -0
  209. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_customize.py +0 -0
  210. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_defer.py +0 -0
  211. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_directives.py +0 -0
  212. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_error_propagation.py +0 -0
  213. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_execution_result.py +0 -0
  214. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_executor.py +0 -0
  215. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_hooks.py +0 -0
  216. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_lists.py +0 -0
  217. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_map_async_iterable.py +0 -0
  218. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_middleware.py +0 -0
  219. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_mutations.py +0 -0
  220. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_nonnull.py +0 -0
  221. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_oneof.py +0 -0
  222. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_parallel.py +0 -0
  223. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_resolve.py +0 -0
  224. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_schema.py +0 -0
  225. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_stream.py +0 -0
  226. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_subscribe.py +0 -0
  227. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_sync.py +0 -0
  228. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_union_interface.py +0 -0
  229. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/execution/test_variables.py +0 -0
  230. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/fixtures/__init__.py +0 -0
  231. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/fixtures/github_schema.graphql +0 -0
  232. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/fixtures/github_schema.json +0 -0
  233. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/fixtures/kitchen_sink.graphql +0 -0
  234. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/fixtures/large_query.graphql +0 -0
  235. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/fixtures/schema_kitchen_sink.graphql +0 -0
  236. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/__init__.py +0 -0
  237. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_ast.py +0 -0
  238. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_block_string.py +0 -0
  239. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_block_string_fuzz.py +0 -0
  240. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_character_classes.py +0 -0
  241. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_lexer.py +0 -0
  242. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_location.py +0 -0
  243. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_parser.py +0 -0
  244. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_predicates.py +0 -0
  245. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_print_string.py +0 -0
  246. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_printer.py +0 -0
  247. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_schema_coordinate_lexer.py +0 -0
  248. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_schema_parser.py +0 -0
  249. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_schema_printer.py +0 -0
  250. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_source.py +0 -0
  251. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/language/test_visitor.py +0 -0
  252. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/__init__.py +0 -0
  253. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_async_reduce.py +0 -0
  254. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_boxed_awaitabe_or_value.py +0 -0
  255. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_cached_property.py +0 -0
  256. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_convert_case.py +0 -0
  257. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_description.py +0 -0
  258. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_did_you_mean.py +0 -0
  259. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_format_list.py +0 -0
  260. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_frozen_error.py +0 -0
  261. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_gather_with_cancel.py +0 -0
  262. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_group_by.py +0 -0
  263. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_identity_func.py +0 -0
  264. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_inspect.py +0 -0
  265. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_is_awaitable.py +0 -0
  266. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_is_iterable.py +0 -0
  267. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_merge_kwargs.py +0 -0
  268. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_natural_compare.py +0 -0
  269. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_path.py +0 -0
  270. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_print_path_list.py +0 -0
  271. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_ref_map.py +0 -0
  272. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_ref_set.py +0 -0
  273. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_simple_pub_sub.py +0 -0
  274. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_suggestion_list.py +0 -0
  275. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/pyutils/test_undefined.py +0 -0
  276. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/star_wars_data.py +0 -0
  277. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/star_wars_schema.py +0 -0
  278. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_docs.py +0 -0
  279. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_graphql.py +0 -0
  280. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_star_wars_introspection.py +0 -0
  281. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_star_wars_query.py +0 -0
  282. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_star_wars_validation.py +0 -0
  283. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_user_registry.py +0 -0
  284. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/test_version.py +0 -0
  285. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/__init__.py +0 -0
  286. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_assert_name.py +0 -0
  287. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_custom_scalars.py +0 -0
  288. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_definition.py +0 -0
  289. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_directives.py +0 -0
  290. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_enum.py +0 -0
  291. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_extensions.py +0 -0
  292. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_introspection.py +0 -0
  293. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_predicate.py +0 -0
  294. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_scalars.py +0 -0
  295. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_schema.py +0 -0
  296. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/type/test_validation.py +0 -0
  297. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/__init__.py +0 -0
  298. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_ast_from_value.py +0 -0
  299. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_ast_to_dict.py +0 -0
  300. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_build_ast_schema.py +0 -0
  301. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_build_client_schema.py +0 -0
  302. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_coerce_input_value.py +0 -0
  303. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_concat_ast.py +0 -0
  304. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_extend_schema.py +0 -0
  305. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_find_breaking_changes.py +0 -0
  306. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_find_schema_changes.py +0 -0
  307. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_get_introspection_query.py +0 -0
  308. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_get_operation_ast.py +0 -0
  309. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_introspection_from_schema.py +0 -0
  310. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_lexicographic_sort_schema.py +0 -0
  311. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_map_schema_config.py +0 -0
  312. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_print_schema.py +0 -0
  313. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_replace_variables.py +0 -0
  314. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_resolve_schema_coordinate.py +0 -0
  315. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_separate_operations.py +0 -0
  316. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_sort_value_node.py +0 -0
  317. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_strip_ignored_characters.py +0 -0
  318. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_strip_ignored_characters_fuzz.py +0 -0
  319. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_type_comparators.py +0 -0
  320. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_type_from_ast.py +0 -0
  321. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_type_info.py +0 -0
  322. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_validate_input_value.py +0 -0
  323. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_value_from_ast.py +0 -0
  324. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_value_from_ast_untyped.py +0 -0
  325. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utilities/test_value_to_literal.py +0 -0
  326. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/__init__.py +0 -0
  327. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/assert_equal_awaitables_or_values.py +0 -0
  328. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/assert_matching_values.py +0 -0
  329. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/dedent.py +0 -0
  330. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/gen_fuzz_strings.py +0 -0
  331. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/test_assert_equal_awaitables_or_values.py +0 -0
  332. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/test_assert_matching_values.py +0 -0
  333. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/test_dedent.py +0 -0
  334. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/test_gen_fuzz_strings.py +0 -0
  335. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/viral_schema.py +0 -0
  336. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/utils/viral_sdl.py +0 -0
  337. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/__init__.py +0 -0
  338. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/harness.py +0 -0
  339. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_defer_stream_directive_label.py +0 -0
  340. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_defer_stream_directive_on_root_field.py +0 -0
  341. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_defer_stream_directive_on_valid_operations.py +0 -0
  342. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_executable_definitions.py +0 -0
  343. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_fields_on_correct_type.py +0 -0
  344. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_fragments_on_composite_types.py +0 -0
  345. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_known_argument_names.py +0 -0
  346. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_known_directives.py +0 -0
  347. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_known_fragment_names.py +0 -0
  348. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_known_operation_types.py +0 -0
  349. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_known_type_names.py +0 -0
  350. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_lone_anonymous_operation.py +0 -0
  351. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_lone_schema_definition.py +0 -0
  352. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_max_introspection_depth_rule.py +0 -0
  353. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_no_deprecated.py +0 -0
  354. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_no_fragment_cycles.py +0 -0
  355. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_no_schema_introspection.py +0 -0
  356. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_no_undefined_variables.py +0 -0
  357. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_no_unused_fragments.py +0 -0
  358. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_no_unused_variables.py +0 -0
  359. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_overlapping_fields_can_be_merged.py +0 -0
  360. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_possible_fragment_spreads.py +0 -0
  361. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_possible_type_extensions.py +0 -0
  362. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_provided_required_arguments.py +0 -0
  363. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_scalar_leafs.py +0 -0
  364. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_single_field_subscriptions.py +0 -0
  365. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_stream_directive_on_list_field.py +0 -0
  366. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_argument_definition_names.py +0 -0
  367. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_argument_names.py +0 -0
  368. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_directive_names.py +0 -0
  369. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_directives_per_location.py +0 -0
  370. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_enum_value_names.py +0 -0
  371. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_field_definition_names.py +0 -0
  372. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_fragment_names.py +0 -0
  373. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_input_field_names.py +0 -0
  374. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_operation_names.py +0 -0
  375. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_operation_types.py +0 -0
  376. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_type_names.py +0 -0
  377. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_unique_variable_names.py +0 -0
  378. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_validation.py +0 -0
  379. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_values_of_correct_type.py +0 -0
  380. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_variables_are_input_types.py +0 -0
  381. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tests/validation/test_variables_in_allowed_position.py +0 -0
  382. {graphql_core-3.3.0b1 → graphql_core-3.3.0b2}/tox.ini +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 3.3.0b1
2
+ current_version = 3.3.0b2
3
3
  commit = False
4
4
  tag = False
5
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphql-core
3
- Version: 3.3.0b1
3
+ Version: 3.3.0b2
4
4
  Summary: GraphQL-core is a Python port of GraphQL.js, the JavaScript reference implementation for GraphQL.
5
5
  Keywords: graphql
6
6
  Author: Christoph Zwerschke
@@ -42,8 +42,8 @@ with GraphQL.js.
42
42
  The current stable version 3.2.11 of GraphQL-core is up-to-date with GraphQL.js
43
43
  version 16.14.1 and supports Python versions 3.7 to 3.14.
44
44
 
45
- You can also try out the latest beta version 3.3.0b1 of GraphQL-core,
46
- which is up-to-date with GraphQL.js version 17.0.0b1.
45
+ You can also try out the latest beta version 3.3.0b2 of GraphQL-core,
46
+ which is up-to-date with GraphQL.js version 17.0.0b2.
47
47
  This new minor version of GraphQL-core also supports Python versions 3.10 to 3.14.
48
48
 
49
49
  Note that for various reasons, GraphQL-core does not use SemVer like GraphQL.js.
@@ -18,8 +18,8 @@ with GraphQL.js.
18
18
  The current stable version 3.2.11 of GraphQL-core is up-to-date with GraphQL.js
19
19
  version 16.14.1 and supports Python versions 3.7 to 3.14.
20
20
 
21
- You can also try out the latest beta version 3.3.0b1 of GraphQL-core,
22
- which is up-to-date with GraphQL.js version 17.0.0b1.
21
+ You can also try out the latest beta version 3.3.0b2 of GraphQL-core,
22
+ which is up-to-date with GraphQL.js version 17.0.0b2.
23
23
  This new minor version of GraphQL-core also supports Python versions 3.10 to 3.14.
24
24
 
25
25
  Note that for various reasons, GraphQL-core does not use SemVer like GraphQL.js.
@@ -52,7 +52,7 @@ author = "Christoph Zwerschke"
52
52
  # The short X.Y version.
53
53
  # version = '3.3'
54
54
  # The full version, including alpha/beta/rc tags.
55
- version = release = "3.3.0b1"
55
+ version = release = "3.3.0b2"
56
56
 
57
57
  # The language for content autogenerated by Sphinx. Refer to documentation
58
58
  # for a list of supported languages.
@@ -100,7 +100,7 @@ graphql_modules = {
100
100
  # be nitpicky
101
101
  nitpicky = True
102
102
  # but not too nitpicky
103
- suppress_warnings = ["ref.class", "ref.obj", "ref.python"]
103
+ suppress_warnings = ["ref.attr", "ref.class", "ref.obj", "ref.python"]
104
104
 
105
105
  # The name of the Pygments (syntax highlighting) style to use.
106
106
  pygments_style = "sphinx"
@@ -76,3 +76,5 @@ Execution
76
76
  .. autofunction:: get_directive_values
77
77
 
78
78
  .. autofunction:: get_variable_values
79
+
80
+ .. autoclass:: VariableValues
@@ -127,6 +127,7 @@ Compare two GraphQLSchemas and detect changes:
127
127
  .. autoclass:: BreakingChangeType
128
128
  .. autoclass:: DangerousChange
129
129
  .. autoclass:: DangerousChangeType
130
+ .. autoclass:: SchemaChange
130
131
 
131
132
  Resolve a schema coordinate to the schema element it refers to:
132
133
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "graphql-core"
3
- version = "3.3.0b1"
3
+ version = "3.3.0b2"
4
4
  description = "GraphQL-core is a Python port of GraphQL.js, the JavaScript reference implementation for GraphQL."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -249,6 +249,7 @@ from .utilities import (
249
249
  DangerousChangeType,
250
250
  SafeChange,
251
251
  SafeChangeType,
252
+ SchemaChange,
252
253
  find_breaking_changes,
253
254
  find_dangerous_changes,
254
255
  find_schema_changes,
@@ -439,6 +440,9 @@ from .validation import (
439
440
  specified_rules,
440
441
  recommended_rules,
441
442
  # Individual validation rules.
443
+ DeferStreamDirectiveLabel,
444
+ DeferStreamDirectiveOnRootField,
445
+ DeferStreamDirectiveOnValidOperationsRule,
442
446
  ExecutableDefinitionsRule,
443
447
  FieldsOnCorrectTypeRule,
444
448
  FragmentsOnCompositeTypesRule,
@@ -457,6 +461,7 @@ from .validation import (
457
461
  ProvidedRequiredArgumentsRule,
458
462
  ScalarLeafsRule,
459
463
  SingleFieldSubscriptionsRule,
464
+ StreamDirectiveOnListField,
460
465
  UniqueArgumentNamesRule,
461
466
  UniqueDirectivesPerLocationRule,
462
467
  UniqueFragmentNamesRule,
@@ -496,6 +501,7 @@ from .execution import (
496
501
  # Types
497
502
  AsyncWorkFinishedInfo,
498
503
  ExecutionHooks,
504
+ VariableValues,
499
505
  Executor,
500
506
  ExecutionResult,
501
507
  ExperimentalIncrementalExecutionResults,
@@ -572,6 +578,9 @@ __all__ = [
572
578
  "ConstValueNode",
573
579
  "DangerousChange",
574
580
  "DangerousChangeType",
581
+ "DeferStreamDirectiveLabel",
582
+ "DeferStreamDirectiveOnRootField",
583
+ "DeferStreamDirectiveOnValidOperationsRule",
575
584
  "DefinitionNode",
576
585
  "DirectiveArgumentCoordinateNode",
577
586
  "DirectiveCoordinateNode",
@@ -751,6 +760,7 @@ __all__ = [
751
760
  "ScalarLeafsRule",
752
761
  "ScalarTypeDefinitionNode",
753
762
  "ScalarTypeExtensionNode",
763
+ "SchemaChange",
754
764
  "SchemaCoordinateNode",
755
765
  "SchemaDefinitionNode",
756
766
  "SchemaExtensionNode",
@@ -760,6 +770,7 @@ __all__ = [
760
770
  "SingleFieldSubscriptionsRule",
761
771
  "Source",
762
772
  "SourceLocation",
773
+ "StreamDirectiveOnListField",
763
774
  "StringValueNode",
764
775
  "SubsequentIncrementalExecutionResult",
765
776
  "Thunk",
@@ -800,6 +811,7 @@ __all__ = [
800
811
  "ValuesOfCorrectTypeRule",
801
812
  "VariableDefinitionNode",
802
813
  "VariableNode",
814
+ "VariableValues",
803
815
  "VariablesAreInputTypesRule",
804
816
  "VariablesInAllowedPositionRule",
805
817
  "Visitor",
@@ -5,6 +5,8 @@ from __future__ import annotations
5
5
  from sys import exc_info
6
6
  from typing import TYPE_CHECKING, Any, TypeAlias, TypedDict
7
7
 
8
+ from ..pyutils import Undefined
9
+
8
10
  if TYPE_CHECKING:
9
11
  from collections.abc import Collection
10
12
 
@@ -108,12 +110,26 @@ class GraphQLError(Exception):
108
110
  """
109
111
 
110
112
  original_error: Exception | None
111
- """The original error thrown from a field resolver during execution"""
113
+ """Original error that caused this GraphQLError, if one exists
114
+
115
+ .. deprecated:: 3.3
116
+ Use :attr:`cause` instead to better align with the standard exception
117
+ :attr:`~BaseException.__cause__`.
118
+ """
119
+
120
+ cause: Any
121
+ """The cause of this error, if one exists
122
+
123
+ The value passed as the ``cause`` when creating this error. Adopts the
124
+ convention of the standard exception cause and is also exposed as the
125
+ :attr:`~BaseException.__cause__` when it is an exception.
126
+ """
112
127
 
113
128
  extensions: GraphQLErrorExtensions | None
114
129
  """Extension fields to add to the formatted error"""
115
130
 
116
131
  __slots__ = (
132
+ "cause",
117
133
  "extensions",
118
134
  "locations",
119
135
  "message",
@@ -135,15 +151,27 @@ class GraphQLError(Exception):
135
151
  path: Collection[str | int] | None = None,
136
152
  original_error: Exception | None = None,
137
153
  extensions: GraphQLErrorExtensions | None = None,
154
+ cause: Any = Undefined,
138
155
  ) -> None:
139
156
  """Initialize a GraphQLError."""
140
157
  super().__init__(message)
141
158
  self.message = message
142
159
 
160
+ # The cause defaults to the (deprecated) original error when not given.
161
+ has_cause = cause is not Undefined
162
+ self.cause = cause if has_cause else original_error
163
+
143
164
  if path and not isinstance(path, list):
144
165
  path = list(path)
145
166
  self.path = path or None # type: ignore
146
- self.original_error = original_error
167
+
168
+ # An Error provided as the cause is also exposed as the original error
169
+ # for backward compatibility.
170
+ cause_value = cause if has_cause else None
171
+ underlying_error = original_error
172
+ if underlying_error is None and isinstance(cause_value, Exception):
173
+ underlying_error = cause_value
174
+ self.original_error = underlying_error
147
175
 
148
176
  # Compute list of blame nodes.
149
177
  if nodes and not isinstance(nodes, list):
@@ -170,16 +198,25 @@ class GraphQLError(Exception):
170
198
  locations = [loc.source.get_location(loc.start) for loc in node_locations]
171
199
  self.locations = locations or None
172
200
 
201
+ # Adopt the cause as the standard exception cause when it is one, so
202
+ # that the cause chain is reported without duplicating the traceback.
203
+ if isinstance(cause_value, BaseException):
204
+ self.__cause__ = cause_value
205
+
206
+ # Preserve the traceback of an explicit original error. The traceback of
207
+ # a cause is not copied over, since Python already reports cause chains.
173
208
  if original_error:
174
209
  self.__traceback__ = original_error.__traceback__
175
- if original_error.__cause__:
176
- self.__cause__ = original_error.__cause__
177
- elif original_error.__context__:
178
- self.__context__ = original_error.__context__
179
- if extensions is None:
180
- original_extensions = getattr(original_error, "extensions", None)
181
- if isinstance(original_extensions, dict):
182
- extensions = original_extensions
210
+ if not self.__cause__:
211
+ if original_error.__cause__:
212
+ self.__cause__ = original_error.__cause__
213
+ elif original_error.__context__:
214
+ self.__context__ = original_error.__context__
215
+
216
+ if extensions is None and underlying_error is not None:
217
+ original_extensions = getattr(underlying_error, "extensions", None)
218
+ if isinstance(original_extensions, dict):
219
+ extensions = original_extensions
183
220
  self.extensions = extensions or {}
184
221
  if not self.__traceback__:
185
222
  self.__traceback__ = exc_info()[2]
@@ -217,7 +254,7 @@ class GraphQLError(Exception):
217
254
  and all(
218
255
  getattr(self, slot) == getattr(other, slot)
219
256
  for slot in self.__slots__
220
- if slot != "original_error"
257
+ if slot not in ("cause", "original_error")
221
258
  )
222
259
  ) or (
223
260
  isinstance(other, dict)
@@ -225,7 +262,7 @@ class GraphQLError(Exception):
225
262
  and all(
226
263
  slot in self.__slots__ and getattr(self, slot) == other.get(slot)
227
264
  for slot in other
228
- if slot != "original_error"
265
+ if slot not in ("cause", "original_error")
229
266
  )
230
267
  )
231
268
 
@@ -30,7 +30,12 @@ from .types import (
30
30
  StreamItemsResult,
31
31
  )
32
32
  from .middleware import MiddlewareManager
33
- from .values import get_argument_values, get_directive_values, get_variable_values
33
+ from .values import (
34
+ get_argument_values,
35
+ get_directive_values,
36
+ get_variable_values,
37
+ VariableValues,
38
+ )
34
39
  from .execute import (
35
40
  create_source_event_stream,
36
41
  execute,
@@ -80,6 +85,7 @@ __all__ = [
80
85
  "StreamItemsResult",
81
86
  "StreamRecord",
82
87
  "SubsequentIncrementalExecutionResult",
88
+ "VariableValues",
83
89
  "create_source_event_stream",
84
90
  "default_field_resolver",
85
91
  "default_type_resolver",
@@ -89,6 +89,7 @@ from .find_schema_changes import (
89
89
  DangerousChangeType,
90
90
  SafeChange,
91
91
  SafeChangeType,
92
+ SchemaChange,
92
93
  find_breaking_changes,
93
94
  find_dangerous_changes,
94
95
  find_schema_changes,
@@ -124,6 +125,7 @@ __all__ = [
124
125
  "ResolvedSchemaElement",
125
126
  "SafeChange",
126
127
  "SafeChangeType",
128
+ "SchemaChange",
127
129
  "TypeInfo",
128
130
  "TypeInfoVisitor",
129
131
  "ast_from_value",
@@ -45,6 +45,7 @@ __all__ = [
45
45
  "DangerousChangeType",
46
46
  "SafeChange",
47
47
  "SafeChangeType",
48
+ "SchemaChange",
48
49
  "find_breaking_changes",
49
50
  "find_dangerous_changes",
50
51
  "find_schema_changes",
@@ -8,9 +8,9 @@ from typing import NamedTuple
8
8
  __all__ = ["version", "version_info", "version_info_js", "version_js"]
9
9
 
10
10
 
11
- version = "3.3.0b1"
11
+ version = "3.3.0b2"
12
12
 
13
- version_js = "17.0.0b1"
13
+ version_js = "17.0.0b2"
14
14
 
15
15
 
16
16
  _re_version = re.compile(r"(\d+)\.(\d+)\.(\d+)(\D*)(\d*)")
@@ -77,6 +77,7 @@ def describe_graphql_error():
77
77
  ["a", "b", "c"],
78
78
  Exception("test"),
79
79
  {"foo": "bar"},
80
+ cause=Exception("test"),
80
81
  )
81
82
  assert set(e.formatted) == {"message", "path", "locations", "extensions"}
82
83
 
@@ -128,6 +129,67 @@ def describe_graphql_error():
128
129
  assert e.original_error is original
129
130
  assert str(e.original_error) == "original"
130
131
 
132
+ def does_not_add_a_cause_without_a_cause():
133
+ e = GraphQLError("msg")
134
+ assert e.cause is None
135
+
136
+ def does_not_copy_over_the_traceback_of_cause():
137
+ try:
138
+ raise RuntimeError("cause")
139
+ except RuntimeError as runtime_error:
140
+ cause = runtime_error
141
+ e = GraphQLError("msg", cause=cause)
142
+ assert e.cause is cause
143
+ assert e.__cause__ is cause
144
+ assert cause.__traceback__ is not None
145
+ assert e.__traceback__ is not cause.__traceback__
146
+
147
+ def uses_an_error_cause_as_the_original_error_for_compatibility():
148
+ class CustomError(Exception):
149
+ def __init__(self, message: str) -> None:
150
+ super().__init__(message)
151
+ self.extensions = {"original": "extensions"}
152
+
153
+ cause = CustomError("cause")
154
+ e = GraphQLError("msg", cause=cause)
155
+ assert e.message == "msg"
156
+ assert e.cause is cause
157
+ assert e.original_error is cause
158
+ assert e.__cause__ is cause
159
+ assert e.extensions == {"original": "extensions"}
160
+
161
+ def preserves_a_non_error_cause_without_setting_original_error():
162
+ e = GraphQLError("msg", cause="cause")
163
+ assert e.cause == "cause"
164
+ assert e.original_error is None
165
+ assert e.__cause__ is None
166
+
167
+ def prefers_cause_and_original_error_separately():
168
+ try:
169
+ raise RuntimeError("original")
170
+ except RuntimeError as runtime_error:
171
+ original_error = runtime_error
172
+ cause = ValueError("cause")
173
+ e = GraphQLError("msg", original_error=original_error, cause=cause)
174
+ assert e.cause is cause
175
+ assert e.original_error is original_error
176
+ assert e.__cause__ is cause
177
+ assert e.__traceback__ is original_error.__traceback__
178
+
179
+ def creates_new_stack_if_cause_has_no_stack():
180
+ try:
181
+ raise RuntimeError
182
+ except RuntimeError as runtime_error:
183
+ current_traceback = runtime_error.__traceback__
184
+ cause = RuntimeError("cause")
185
+ e = GraphQLError("msg", cause=cause)
186
+ assert cause.__traceback__ is None
187
+ assert current_traceback is not None
188
+ assert e.__traceback__ is current_traceback
189
+ assert e.message == "msg"
190
+ assert e.cause is cause
191
+ assert e.original_error is cause
192
+
131
193
  def converts_nodes_to_positions_and_locations():
132
194
  e = GraphQLError("msg", [field_node])
133
195
  assert e.nodes == [field_node]
@@ -188,6 +250,25 @@ def describe_graphql_error():
188
250
  assert own_empty_error.original_error is original_error
189
251
  assert own_empty_error.extensions == {}
190
252
 
253
+ def defaults_to_cause_extension_only_if_arg_is_not_passed():
254
+ original_extensions = {"original": "extensions"}
255
+ cause = GraphQLError("original", extensions=original_extensions)
256
+ inherited_error = GraphQLError("InheritedError", cause=cause)
257
+ assert inherited_error.message == "InheritedError"
258
+ assert inherited_error.cause is cause
259
+ assert inherited_error.extensions is original_extensions
260
+
261
+ own_extensions = {"own": "extensions"}
262
+ own_error = GraphQLError("OwnError", cause=cause, extensions=own_extensions)
263
+ assert own_error.message == "OwnError"
264
+ assert own_error.cause is cause
265
+ assert own_error.extensions is own_extensions
266
+
267
+ own_empty_error = GraphQLError("OwnEmptyError", cause=cause, extensions={})
268
+ assert own_empty_error.message == "OwnEmptyError"
269
+ assert own_empty_error.cause is cause
270
+ assert own_empty_error.extensions == {}
271
+
191
272
  def serializes_to_include_message():
192
273
  e = GraphQLError("msg")
193
274
  assert str(e) == "msg"
File without changes