graphql-core 3.2.3__tar.gz → 3.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. {graphql-core-3.2.3 → graphql-core-3.2.4}/.bumpversion.cfg +1 -1
  2. {graphql-core-3.2.3 → graphql-core-3.2.4}/.coveragerc +5 -1
  3. {graphql-core-3.2.3 → graphql-core-3.2.4}/.flake8 +1 -1
  4. {graphql-core-3.2.3 → graphql-core-3.2.4}/PKG-INFO +9 -9
  5. {graphql-core-3.2.3 → graphql-core-3.2.4}/README.md +8 -5
  6. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/conf.py +111 -97
  7. graphql-core-3.2.4/poetry.lock +17 -0
  8. {graphql-core-3.2.3 → graphql-core-3.2.4}/pyproject.toml +28 -37
  9. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/execute.py +15 -13
  10. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/map_async_iterator.py +8 -8
  11. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/values.py +3 -3
  12. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/graphql.py +7 -7
  13. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/parser.py +8 -6
  14. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/predicates.py +5 -3
  15. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/print_location.py +5 -3
  16. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/description.py +1 -1
  17. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/frozen_dict.py +3 -3
  18. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/frozen_list.py +2 -2
  19. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/inspect.py +7 -5
  20. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/is_iterable.py +3 -10
  21. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/definition.py +58 -45
  22. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/directives.py +10 -6
  23. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/schema.py +6 -6
  24. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/validate.py +7 -5
  25. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/ast_to_dict.py +4 -10
  26. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/extend_schema.py +5 -3
  27. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/find_breaking_changes.py +7 -5
  28. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/get_introspection_query.py +10 -2
  29. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/type_from_ast.py +9 -11
  30. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/known_type_names.py +5 -3
  31. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/no_undefined_variables.py +6 -4
  32. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/no_unused_variables.py +6 -4
  33. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/overlapping_fields_can_be_merged.py +31 -11
  34. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/validate.py +2 -2
  35. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/version.py +2 -2
  36. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql_core.egg-info/PKG-INFO +9 -9
  37. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql_core.egg-info/SOURCES.txt +1 -0
  38. graphql-core-3.2.4/tests/benchmarks/test_repeated_fields.py +25 -0
  39. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_executor.py +56 -6
  40. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_map_async_iterator.py +8 -3
  41. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_subscribe.py +15 -8
  42. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_variables.py +65 -7
  43. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/fixtures/__init__.py +1 -0
  44. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_description.py +9 -10
  45. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_frozen_dict.py +2 -3
  46. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_is_awaitable.py +7 -3
  47. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/test_user_registry.py +9 -10
  48. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_definition.py +18 -21
  49. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_enum.py +7 -4
  50. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_build_client_schema.py +9 -10
  51. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/harness.py +6 -6
  52. graphql-core-3.2.4/tox.ini +66 -0
  53. graphql-core-3.2.3/poetry.lock +0 -1499
  54. graphql-core-3.2.3/tox.ini +0 -59
  55. {graphql-core-3.2.3 → graphql-core-3.2.4}/.editorconfig +0 -0
  56. {graphql-core-3.2.3 → graphql-core-3.2.4}/.mypy.ini +0 -0
  57. {graphql-core-3.2.3 → graphql-core-3.2.4}/.readthedocs.yaml +0 -0
  58. {graphql-core-3.2.3 → graphql-core-3.2.4}/CODEOWNERS +0 -0
  59. {graphql-core-3.2.3 → graphql-core-3.2.4}/LICENSE +0 -0
  60. {graphql-core-3.2.3 → graphql-core-3.2.4}/MANIFEST.in +0 -0
  61. {graphql-core-3.2.3 → graphql-core-3.2.4}/SECURITY.md +0 -0
  62. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/Makefile +0 -0
  63. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/diffs.rst +0 -0
  64. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/index.rst +0 -0
  65. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/intro.rst +0 -0
  66. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/make.bat +0 -0
  67. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/error.rst +0 -0
  68. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/execution.rst +0 -0
  69. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/graphql.rst +0 -0
  70. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/language.rst +0 -0
  71. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/pyutils.rst +0 -0
  72. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/type.rst +0 -0
  73. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/utilities.rst +0 -0
  74. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/modules/validation.rst +0 -0
  75. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/requirements.txt +0 -0
  76. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/extension.rst +0 -0
  77. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/index.rst +0 -0
  78. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/introspection.rst +0 -0
  79. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/methods.rst +0 -0
  80. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/other.rst +0 -0
  81. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/parser.rst +0 -0
  82. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/queries.rst +0 -0
  83. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/resolvers.rst +0 -0
  84. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/schema.rst +0 -0
  85. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/sdl.rst +0 -0
  86. {graphql-core-3.2.3 → graphql-core-3.2.4}/docs/usage/validator.rst +0 -0
  87. {graphql-core-3.2.3 → graphql-core-3.2.4}/setup.cfg +0 -0
  88. {graphql-core-3.2.3 → graphql-core-3.2.4}/setup.py +0 -0
  89. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/__init__.py +0 -0
  90. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/error/__init__.py +0 -0
  91. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/error/graphql_error.py +0 -0
  92. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/error/located_error.py +0 -0
  93. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/error/syntax_error.py +0 -0
  94. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/__init__.py +0 -0
  95. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/collect_fields.py +0 -0
  96. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/middleware.py +0 -0
  97. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/execution/subscribe.py +0 -0
  98. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/__init__.py +0 -0
  99. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/ast.py +0 -0
  100. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/block_string.py +0 -0
  101. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/character_classes.py +0 -0
  102. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/directive_locations.py +0 -0
  103. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/lexer.py +0 -0
  104. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/location.py +0 -0
  105. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/print_string.py +0 -0
  106. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/printer.py +0 -0
  107. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/source.py +0 -0
  108. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/token_kind.py +0 -0
  109. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/language/visitor.py +0 -0
  110. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/py.typed +0 -0
  111. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/__init__.py +0 -0
  112. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/awaitable_or_value.py +0 -0
  113. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/cached_property.py +0 -0
  114. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/convert_case.py +0 -0
  115. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/did_you_mean.py +0 -0
  116. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/frozen_error.py +0 -0
  117. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/group_by.py +0 -0
  118. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/identity_func.py +0 -0
  119. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/is_awaitable.py +0 -0
  120. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/merge_kwargs.py +0 -0
  121. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/natural_compare.py +0 -0
  122. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/path.py +0 -0
  123. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/print_path_list.py +0 -0
  124. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/simple_pub_sub.py +0 -0
  125. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/suggestion_list.py +0 -0
  126. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/pyutils/undefined.py +0 -0
  127. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/subscription/__init__.py +0 -0
  128. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/__init__.py +0 -0
  129. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/assert_name.py +0 -0
  130. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/introspection.py +0 -0
  131. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/type/scalars.py +0 -0
  132. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/__init__.py +0 -0
  133. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/assert_valid_name.py +0 -0
  134. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/ast_from_value.py +0 -0
  135. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/build_ast_schema.py +0 -0
  136. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/build_client_schema.py +0 -0
  137. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/coerce_input_value.py +0 -0
  138. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/concat_ast.py +0 -0
  139. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/get_operation_ast.py +0 -0
  140. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/get_operation_root_type.py +0 -0
  141. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/introspection_from_schema.py +0 -0
  142. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/lexicographic_sort_schema.py +0 -0
  143. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/print_schema.py +0 -0
  144. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/separate_operations.py +0 -0
  145. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/sort_value_node.py +0 -0
  146. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/strip_ignored_characters.py +0 -0
  147. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/type_comparators.py +0 -0
  148. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/type_info.py +0 -0
  149. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/value_from_ast.py +0 -0
  150. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/utilities/value_from_ast_untyped.py +0 -0
  151. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/__init__.py +0 -0
  152. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/__init__.py +0 -0
  153. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/custom/__init__.py +0 -0
  154. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/custom/no_deprecated.py +0 -0
  155. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/custom/no_schema_introspection.py +0 -0
  156. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/executable_definitions.py +0 -0
  157. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/fields_on_correct_type.py +0 -0
  158. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/fragments_on_composite_types.py +0 -0
  159. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/known_argument_names.py +0 -0
  160. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/known_directives.py +0 -0
  161. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/known_fragment_names.py +0 -0
  162. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/lone_anonymous_operation.py +0 -0
  163. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/lone_schema_definition.py +0 -0
  164. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/no_fragment_cycles.py +0 -0
  165. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/no_unused_fragments.py +0 -0
  166. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/possible_fragment_spreads.py +0 -0
  167. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/possible_type_extensions.py +0 -0
  168. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/provided_required_arguments.py +0 -0
  169. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/scalar_leafs.py +0 -0
  170. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/single_field_subscriptions.py +0 -0
  171. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_argument_definition_names.py +0 -0
  172. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_argument_names.py +0 -0
  173. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_directive_names.py +0 -0
  174. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_directives_per_location.py +0 -0
  175. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_enum_value_names.py +0 -0
  176. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_field_definition_names.py +0 -0
  177. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_fragment_names.py +0 -0
  178. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_input_field_names.py +0 -0
  179. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_operation_names.py +0 -0
  180. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_operation_types.py +0 -0
  181. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_type_names.py +0 -0
  182. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/unique_variable_names.py +0 -0
  183. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/values_of_correct_type.py +0 -0
  184. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/variables_are_input_types.py +0 -0
  185. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/rules/variables_in_allowed_position.py +0 -0
  186. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/specified_rules.py +0 -0
  187. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql/validation/validation_context.py +0 -0
  188. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql_core.egg-info/dependency_links.txt +0 -0
  189. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql_core.egg-info/not-zip-safe +0 -0
  190. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql_core.egg-info/requires.txt +0 -0
  191. {graphql-core-3.2.3 → graphql-core-3.2.4}/src/graphql_core.egg-info/top_level.txt +0 -0
  192. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/__init__.py +0 -0
  193. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/__init__.py +0 -0
  194. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_build_ast_schema.py +0 -0
  195. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_build_client_schema.py +0 -0
  196. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_execution_async.py +0 -0
  197. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_execution_sync.py +0 -0
  198. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_introspection_from_schema.py +0 -0
  199. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_parser.py +0 -0
  200. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_validate_gql.py +0 -0
  201. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_validate_invalid_gql.py +0 -0
  202. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_validate_sdl.py +0 -0
  203. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/benchmarks/test_visit.py +0 -0
  204. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/conftest.py +0 -0
  205. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/error/__init__.py +0 -0
  206. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/error/test_graphql_error.py +0 -0
  207. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/error/test_located_error.py +0 -0
  208. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/error/test_print_location.py +0 -0
  209. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/__init__.py +0 -0
  210. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_abstract.py +0 -0
  211. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_customize.py +0 -0
  212. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_directives.py +0 -0
  213. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_execution_result.py +0 -0
  214. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_lists.py +0 -0
  215. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_middleware.py +0 -0
  216. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_mutations.py +0 -0
  217. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_nonnull.py +0 -0
  218. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_parallel.py +0 -0
  219. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_resolve.py +0 -0
  220. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_schema.py +0 -0
  221. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_sync.py +0 -0
  222. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/execution/test_union_interface.py +0 -0
  223. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/fixtures/github_schema.graphql +0 -0
  224. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/fixtures/github_schema.json +0 -0
  225. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/fixtures/kitchen_sink.graphql +0 -0
  226. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/fixtures/schema_kitchen_sink.graphql +0 -0
  227. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/__init__.py +0 -0
  228. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_ast.py +0 -0
  229. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_block_string.py +0 -0
  230. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_block_string_fuzz.py +0 -0
  231. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_character_classes.py +0 -0
  232. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_lexer.py +0 -0
  233. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_location.py +0 -0
  234. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_parser.py +0 -0
  235. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_predicates.py +0 -0
  236. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_print_string.py +0 -0
  237. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_printer.py +0 -0
  238. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_schema_parser.py +0 -0
  239. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_schema_printer.py +0 -0
  240. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_source.py +0 -0
  241. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/language/test_visitor.py +0 -0
  242. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/__init__.py +0 -0
  243. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_cached_property.py +0 -0
  244. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_convert_case.py +0 -0
  245. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_did_you_mean.py +0 -0
  246. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_frozen_error.py +0 -0
  247. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_frozen_list.py +0 -0
  248. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_group_by.py +0 -0
  249. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_identity_func.py +0 -0
  250. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_inspect.py +0 -0
  251. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_is_iterable.py +0 -0
  252. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_merge_kwargs.py +0 -0
  253. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_natural_compare.py +0 -0
  254. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_path.py +0 -0
  255. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_print_path_list.py +0 -0
  256. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_simple_pub_sub.py +0 -0
  257. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_suggestion_list.py +0 -0
  258. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/pyutils/test_undefined.py +0 -0
  259. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/star_wars_data.py +0 -0
  260. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/star_wars_schema.py +0 -0
  261. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/test_docs.py +0 -0
  262. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/test_star_wars_introspection.py +0 -0
  263. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/test_star_wars_query.py +0 -0
  264. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/test_star_wars_validation.py +0 -0
  265. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/test_version.py +0 -0
  266. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/__init__.py +0 -0
  267. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_assert_name.py +0 -0
  268. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_custom_scalars.py +0 -0
  269. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_directives.py +0 -0
  270. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_extensions.py +0 -0
  271. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_introspection.py +0 -0
  272. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_predicate.py +0 -0
  273. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_scalars.py +0 -0
  274. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_schema.py +0 -0
  275. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/type/test_validation.py +0 -0
  276. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/__init__.py +0 -0
  277. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_ast_from_value.py +0 -0
  278. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_ast_to_dict.py +0 -0
  279. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_build_ast_schema.py +0 -0
  280. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_coerce_input_value.py +0 -0
  281. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_concat_ast.py +0 -0
  282. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_extend_schema.py +0 -0
  283. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_find_breaking_changes.py +0 -0
  284. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_get_introspection_query.py +0 -0
  285. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_get_operation_ast.py +0 -0
  286. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_get_operation_root_type.py +0 -0
  287. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_introspection_from_schema.py +0 -0
  288. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_lexicographic_sort_schema.py +0 -0
  289. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_print_schema.py +0 -0
  290. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_separate_operations.py +0 -0
  291. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_sort_value_node.py +0 -0
  292. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_strip_ignored_characters.py +0 -0
  293. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_strip_ignored_characters_fuzz.py +0 -0
  294. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_type_comparators.py +0 -0
  295. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_type_from_ast.py +0 -0
  296. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_type_info.py +0 -0
  297. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_value_from_ast.py +0 -0
  298. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utilities/test_value_from_ast_untyped.py +0 -0
  299. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utils/__init__.py +0 -0
  300. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utils/dedent.py +0 -0
  301. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utils/gen_fuzz_strings.py +0 -0
  302. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utils/test_dedent.py +0 -0
  303. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/utils/test_gen_fuzz_strings.py +0 -0
  304. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/__init__.py +0 -0
  305. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_executable_definitions.py +0 -0
  306. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_fields_on_correct_type.py +0 -0
  307. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_fragments_on_composite_types.py +0 -0
  308. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_known_argument_names.py +0 -0
  309. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_known_directives.py +0 -0
  310. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_known_fragment_names.py +0 -0
  311. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_known_type_names.py +0 -0
  312. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_lone_anonymous_operation.py +0 -0
  313. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_lone_schema_definition.py +0 -0
  314. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_no_deprecated.py +0 -0
  315. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_no_fragment_cycles.py +0 -0
  316. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_no_schema_introspection.py +0 -0
  317. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_no_undefined_variables.py +0 -0
  318. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_no_unused_fragments.py +0 -0
  319. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_no_unused_variables.py +0 -0
  320. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_overlapping_fields_can_be_merged.py +0 -0
  321. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_possible_fragment_spreads.py +0 -0
  322. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_possible_type_extensions.py +0 -0
  323. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_provided_required_arguments.py +0 -0
  324. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_scalar_leafs.py +0 -0
  325. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_single_field_subscriptions.py +0 -0
  326. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_argument_definition_names.py +0 -0
  327. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_argument_names.py +0 -0
  328. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_directive_names.py +0 -0
  329. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_directives_per_location.py +0 -0
  330. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_enum_value_names.py +0 -0
  331. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_field_definition_names.py +0 -0
  332. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_fragment_names.py +0 -0
  333. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_input_field_names.py +0 -0
  334. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_operation_names.py +0 -0
  335. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_operation_types.py +0 -0
  336. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_type_names.py +0 -0
  337. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_unique_variable_names.py +0 -0
  338. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_validation.py +0 -0
  339. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_values_of_correct_type.py +0 -0
  340. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_variables_are_input_types.py +0 -0
  341. {graphql-core-3.2.3 → graphql-core-3.2.4}/tests/validation/test_variables_in_allowed_position.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 3.2.3
2
+ current_version = 3.2.4
3
3
  commit = False
4
4
  tag = False
5
5
 
@@ -1,6 +1,8 @@
1
1
  [run]
2
2
  branch = True
3
- source = src
3
+ source =
4
+ src
5
+ tests
4
6
  omit =
5
7
  */conftest.py
6
8
  */test_*_fuzz.py
@@ -15,6 +17,7 @@ exclude_lines =
15
17
  pragma: no cover
16
18
  except ImportError:
17
19
  \# Python <
20
+ sys\.version_info <
18
21
  raise NotImplementedError
19
22
  raise TypeError\(f?"Unexpected
20
23
  assert False,
@@ -23,4 +26,5 @@ exclude_lines =
23
26
  if TYPE_CHECKING:
24
27
  ^\s+\.\.\.$
25
28
  ^\s+pass$
29
+ \: \.\.\.$
26
30
  ignore_errors = True
@@ -1,4 +1,4 @@
1
1
  [flake8]
2
- ignore = E203,W503
2
+ ignore = E203,E704,W503
3
3
  exclude = .git,.mypy_cache,.pytest_cache,.tox,.venv,__pycache__,build,dist,docs
4
4
  max-line-length = 88
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: graphql-core
3
- Version: 3.2.3
3
+ Version: 3.2.4
4
4
  Summary: GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL.
5
5
  Home-page: https://github.com/graphql-python/graphql-core
6
6
  Author: Christoph Zwerschke
7
7
  Author-email: cito@online.de
8
8
  License: MIT license
9
9
  Keywords: graphql
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 5 - Production/Stable
12
11
  Classifier: Intended Audience :: Developers
13
12
  Classifier: Topic :: Software Development :: Libraries
@@ -35,7 +34,7 @@ a query language for APIs created by Facebook.
35
34
  ![Lint Status](https://github.com/graphql-python/graphql-core/actions/workflows/lint.yml/badge.svg)
36
35
  [![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
37
36
 
38
- The current version 3.2.3 of GraphQL-core is up-to-date with GraphQL.js version 16.6.0.
37
+ The current version 3.2.4 of GraphQL-core is up-to-date with GraphQL.js version 16.8.2.
39
38
 
40
39
  An extensive test suite with over 2300 unit tests and 100% coverage comprises a
41
40
  replication of the complete test suite of GraphQL.js, making sure this port is
@@ -221,6 +220,10 @@ Some restrictions (mostly in line with the design goals):
221
220
  * supports asynchronous operations only via async.io
222
221
  (does not support the additional executors in GraphQL-core)
223
222
 
223
+ Note that meanwhile we are using the amazing [ruff](https://docs.astral.sh/ruff/) tool
224
+ to both format and check the code of GraphQL-core 3,
225
+ in addition to using [mypy](https://mypy-lang.org/) as type checker.
226
+
224
227
 
225
228
  ## Integration with other libraries and roadmap
226
229
 
@@ -230,14 +233,12 @@ Some restrictions (mostly in line with the design goals):
230
233
  also been created by Syrus Akbary, who meanwhile has handed over the maintenance
231
234
  and future development to members of the GraphQL-Python community.
232
235
 
233
- The current version 2 of Graphene is using Graphql-core 2 as core library for much of
234
- the heavy lifting. Note that Graphene 2 is not compatible with GraphQL-core 3.
235
- The new version 3 of Graphene will use GraphQL-core 3 instead of GraphQL-core 2.
236
+ Graphene 3 is now using Graphql-core 3 as core library for much of the heavy lifting.
236
237
 
237
238
  * [Ariadne](https://github.com/mirumee/ariadne) is a Python library for implementing
238
239
  GraphQL servers using schema-first approach created by Mirumee Software.
239
240
 
240
- Ariadne is already using GraphQL-core 3 as its GraphQL implementation.
241
+ Ariadne is also using GraphQL-core 3 as its GraphQL implementation.
241
242
 
242
243
  * [Strawberry](https://github.com/strawberry-graphql/strawberry), created by Patrick
243
244
  Arminio, is a new GraphQL library for Python 3, inspired by dataclasses,
@@ -253,6 +254,7 @@ Changes are tracked as
253
254
  ## Credits and history
254
255
 
255
256
  The GraphQL-core 3 library
257
+
256
258
  * has been created and is maintained by Christoph Zwerschke
257
259
  * uses ideas and code from GraphQL-core 2, a prior work by Syrus Akbary
258
260
  * is a Python port of GraphQL.js which has been developed by Lee Byron and others
@@ -271,5 +273,3 @@ and ported to many different programming languages.
271
273
  GraphQL-core 3 is
272
274
  [MIT-licensed](./LICENSE),
273
275
  just like GraphQL.js.
274
-
275
-
@@ -10,7 +10,7 @@ a query language for APIs created by Facebook.
10
10
  ![Lint Status](https://github.com/graphql-python/graphql-core/actions/workflows/lint.yml/badge.svg)
11
11
  [![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
12
12
 
13
- The current version 3.2.3 of GraphQL-core is up-to-date with GraphQL.js version 16.6.0.
13
+ The current version 3.2.4 of GraphQL-core is up-to-date with GraphQL.js version 16.8.2.
14
14
 
15
15
  An extensive test suite with over 2300 unit tests and 100% coverage comprises a
16
16
  replication of the complete test suite of GraphQL.js, making sure this port is
@@ -196,6 +196,10 @@ Some restrictions (mostly in line with the design goals):
196
196
  * supports asynchronous operations only via async.io
197
197
  (does not support the additional executors in GraphQL-core)
198
198
 
199
+ Note that meanwhile we are using the amazing [ruff](https://docs.astral.sh/ruff/) tool
200
+ to both format and check the code of GraphQL-core 3,
201
+ in addition to using [mypy](https://mypy-lang.org/) as type checker.
202
+
199
203
 
200
204
  ## Integration with other libraries and roadmap
201
205
 
@@ -205,14 +209,12 @@ Some restrictions (mostly in line with the design goals):
205
209
  also been created by Syrus Akbary, who meanwhile has handed over the maintenance
206
210
  and future development to members of the GraphQL-Python community.
207
211
 
208
- The current version 2 of Graphene is using Graphql-core 2 as core library for much of
209
- the heavy lifting. Note that Graphene 2 is not compatible with GraphQL-core 3.
210
- The new version 3 of Graphene will use GraphQL-core 3 instead of GraphQL-core 2.
212
+ Graphene 3 is now using Graphql-core 3 as core library for much of the heavy lifting.
211
213
 
212
214
  * [Ariadne](https://github.com/mirumee/ariadne) is a Python library for implementing
213
215
  GraphQL servers using schema-first approach created by Mirumee Software.
214
216
 
215
- Ariadne is already using GraphQL-core 3 as its GraphQL implementation.
217
+ Ariadne is also using GraphQL-core 3 as its GraphQL implementation.
216
218
 
217
219
  * [Strawberry](https://github.com/strawberry-graphql/strawberry), created by Patrick
218
220
  Arminio, is a new GraphQL library for Python 3, inspired by dataclasses,
@@ -228,6 +230,7 @@ Changes are tracked as
228
230
  ## Credits and history
229
231
 
230
232
  The GraphQL-core 3 library
233
+
231
234
  * has been created and is maintained by Christoph Zwerschke
232
235
  * uses ideas and code from GraphQL-core 2, a prior work by Syrus Akbary
233
236
  * is a Python port of GraphQL.js which has been developed by Lee Byron and others
@@ -30,29 +30,29 @@
30
30
  # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
31
31
  # ones.
32
32
  extensions = [
33
- 'sphinx.ext.autodoc',
33
+ "sphinx.ext.autodoc",
34
34
  ]
35
35
 
36
36
  # Add any paths that contain templates here, relative to this directory.
37
- templates_path = ['_templates']
37
+ templates_path = ["_templates"]
38
38
 
39
39
  # The suffix(es) of source filenames.
40
40
  # You can specify multiple suffix as a list of string:
41
41
  #
42
42
  # source_suffix = ['.rst', '.md']
43
- source_suffix = '.rst'
43
+ source_suffix = ".rst"
44
44
 
45
45
  # The encoding of source files.
46
46
  #
47
47
  # source_encoding = 'utf-8-sig'
48
48
 
49
49
  # The master toctree document.
50
- master_doc = 'index'
50
+ master_doc = "index"
51
51
 
52
52
  # General information about the project.
53
- project = 'GraphQL-core 3'
54
- copyright = '2022, Christoph Zwerschke'
55
- author = 'Christoph Zwerschke'
53
+ project = "GraphQL-core 3"
54
+ copyright = "2022, Christoph Zwerschke"
55
+ author = "Christoph Zwerschke"
56
56
 
57
57
  # The version info for the project you're documenting, acts as replacement for
58
58
  # |version| and |release|, also used in various other places throughout the
@@ -61,14 +61,14 @@ author = 'Christoph Zwerschke'
61
61
  # The short X.Y version.
62
62
  # version = '3.2'
63
63
  # The full version, including alpha/beta/rc tags.
64
- version = release = '3.2.3'
64
+ version = release = "3.2.4"
65
65
 
66
66
  # The language for content autogenerated by Sphinx. Refer to documentation
67
67
  # for a list of supported languages.
68
68
  #
69
69
  # This is also used if you do content translation via gettext catalogs.
70
70
  # Usually you set "language" from the command line for these cases.
71
- language = None
71
+ language = "en"
72
72
 
73
73
  # There are two options for replacing |today|: either, you set today to some
74
74
  # non-false value, then it is used:
@@ -82,23 +82,23 @@ language = None
82
82
  # List of patterns, relative to source directory, that match files and
83
83
  # directories to ignore when looking for source files.
84
84
  # This patterns also effect to html_static_path and html_extra_path
85
- exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
85
+ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
86
86
 
87
87
  # AutoDoc configuration
88
88
  autoclass_content = "class"
89
89
  autodoc_default_options = {
90
- 'members': True,
91
- 'inherited-members': True,
92
- 'undoc-members': True,
93
- 'show-inheritance': True
90
+ "members": True,
91
+ "inherited-members": True,
92
+ "undoc-members": True,
93
+ "show-inheritance": True,
94
94
  }
95
95
  autosummary_generate = True
96
96
 
97
97
  autodoc_type_aliases = {
98
- 'AwaitableOrValue': 'graphql.pyutils.AwaitableOrValue',
99
- 'FormattedSourceLocation': 'graphql.language.FormattedSourceLocation',
100
- 'Middleware': 'graphql.execution.Middleware',
101
- 'TypeMap': 'graphql.schema.TypeMap'
98
+ "AwaitableOrValue": "graphql.pyutils.AwaitableOrValue",
99
+ "FormattedSourceLocation": "graphql.language.FormattedSourceLocation",
100
+ "Middleware": "graphql.execution.Middleware",
101
+ "TypeMap": "graphql.schema.TypeMap",
102
102
  }
103
103
 
104
104
  # GraphQL-core top level modules with submodules that can be omitted.
@@ -106,30 +106,38 @@ autodoc_type_aliases = {
106
106
  # qualified form, but the documentation has the shorter form.
107
107
  # We need to give autodoc a little help in this cases.
108
108
  graphql_modules = {
109
- 'error': ['graphql_error'],
110
- 'execution': ['execute', 'middleware'],
111
- 'language': ['ast', 'directive_locations', 'location',
112
- 'source', 'token_kind', 'visitor'],
113
- 'pyutils': ['simple_pub_sub', 'frozen_list', 'path'],
114
- 'type': ['definition', 'directives', 'schema'],
115
- 'utilities': ['find_breaking_changes', 'type_info'],
116
- 'validation': ['rules', 'validation_context']}
109
+ "error": ["graphql_error"],
110
+ "execution": ["execute", "middleware"],
111
+ "language": [
112
+ "ast",
113
+ "directive_locations",
114
+ "location",
115
+ "source",
116
+ "token_kind",
117
+ "visitor",
118
+ ],
119
+ "pyutils": ["simple_pub_sub", "frozen_list", "path"],
120
+ "type": ["definition", "directives", "schema"],
121
+ "utilities": ["find_breaking_changes", "type_info"],
122
+ "validation": ["rules", "validation_context"],
123
+ }
117
124
 
118
125
  # GraphQL-core classes that autodoc sometimes cannot find
119
126
  # (e.g. where specified as string in type hints).
120
127
  # We need to give autodoc a little help in this cases, too:
121
128
  graphql_classes = {
122
- 'GraphQLAbstractType': 'type',
123
- 'GraphQLObjectType': 'type',
124
- 'GraphQLOutputType': 'type',
125
- 'GraphQLTypeResolver': 'type',
126
- 'Node': 'language',
127
- 'Source': 'language',
128
- 'SourceLocation': 'language'
129
+ "GraphQLAbstractType": "type",
130
+ "GraphQLObjectType": "type",
131
+ "GraphQLOutputType": "type",
132
+ "GraphQLTypeResolver": "type",
133
+ "Node": "language",
134
+ "Source": "language",
135
+ "SourceLocation": "language",
129
136
  }
130
137
 
131
138
  # ignore the following undocumented or internal references:
132
- ignore_references = set('''
139
+ ignore_references = set(
140
+ """
133
141
  GNT GT KT T VT
134
142
  enum.Enum
135
143
  traceback
@@ -137,6 +145,7 @@ types.TracebackType
137
145
  EnterLeaveVisitor
138
146
  FormattedSourceLocation
139
147
  GraphQLAbstractType
148
+ GraphQLErrorExtensions
140
149
  GraphQLOutputType
141
150
  asyncio.events.AbstractEventLoop
142
151
  graphql.execution.map_async_iterator.MapAsyncIterator
@@ -146,77 +155,79 @@ graphql.type.schema.InterfaceImplementations
146
155
  graphql.validation.validation_context.VariableUsage
147
156
  graphql.validation.rules.known_argument_names.KnownArgumentNamesOnDirectivesRule
148
157
  graphql.validation.rules.provided_required_arguments.ProvidedRequiredArgumentsOnDirectivesRule
149
- '''.split())
158
+ """.split()
159
+ )
150
160
 
151
161
  ignore_references.update(__builtins__.keys())
152
162
 
153
163
 
154
164
  def on_missing_reference(app, env, node, contnode):
155
165
  """Fix or skip any missing references."""
156
- if node.get('refdomain') != 'py':
166
+ if node.get("refdomain") != "py":
157
167
  return None
158
- target = node.get('reftarget')
168
+ target = node.get("reftarget")
159
169
  if not target:
160
170
  return None
161
- if target in ignore_references or target.endswith('Kwargs'):
171
+ if target in ignore_references or target.endswith("Kwargs"):
162
172
  return contnode
163
- typ = node.get('reftype')
164
- name = target.rsplit('.', 1)[-1]
165
- if name in ('GT', 'GNT', 'KT', 'T', 'VT'):
173
+ typ = node.get("reftype")
174
+ name = target.rsplit(".", 1)[-1]
175
+ if name in ("GT", "GNT", "KT", "T", "VT"):
166
176
  return contnode
167
- if typ == 'obj':
168
- if target.startswith('typing.'):
169
- if name in ('Any', 'Optional', 'Union'):
177
+ if typ == "obj":
178
+ if target.startswith("typing."):
179
+ if name in ("Any", "Optional", "Union"):
170
180
  return contnode
171
- if typ != 'class':
181
+ if typ != "class":
172
182
  return None
173
- if '.' in target: # maybe too specific
174
- base_module, target = target.split('.', 1)
175
- if base_module == 'graphql':
176
- if '.' not in target:
183
+ if "." in target: # maybe too specific
184
+ base_module, target = target.split(".", 1)
185
+ if base_module == "graphql":
186
+ if "." not in target:
177
187
  return None
178
- base_module, target = target.split('.', 1)
179
- if '.' not in target:
188
+ base_module, target = target.split(".", 1)
189
+ if "." not in target:
180
190
  return None
181
191
  sub_modules = graphql_modules.get(base_module)
182
192
  if not sub_modules:
183
193
  return
184
- sub_module = target.split('.', 1)[0]
194
+ sub_module = target.split(".", 1)[0]
185
195
  if sub_module not in sub_modules:
186
196
  return None
187
- target = 'graphql.' + base_module + '.' + target.rsplit('.', 1)[-1]
197
+ target = "graphql." + base_module + "." + target.rsplit(".", 1)[-1]
188
198
  else: # maybe not specific enough
189
199
  base_module = graphql_classes.get(target)
190
200
  if not base_module:
191
201
  return None
192
- target = 'graphql.' + base_module + '.' + target
202
+ target = "graphql." + base_module + "." + target
193
203
  # replace target
194
- if contnode.__class__.__name__ == 'Text':
204
+ if contnode.__class__.__name__ == "Text":
195
205
  contnode = contnode.__class__(target)
196
- elif contnode.__class__.__name__ == 'literal':
206
+ elif contnode.__class__.__name__ == "literal":
197
207
  if len(contnode.children) != 1:
198
208
  return None
199
209
  textnode = contnode.children[0]
200
210
  contnode.children[0] = textnode.__class__(target)
201
211
  else:
202
212
  return None
203
- node['reftarget'] = target
204
- fromdoc = node.get('refdoc')
213
+ node["reftarget"] = target
214
+ fromdoc = node.get("refdoc")
205
215
  if not fromdoc:
206
- doc_module = node.get('py:module')
216
+ doc_module = node.get("py:module")
207
217
  if doc_module:
208
- if doc_module.startswith('graphql.'):
209
- doc_module = doc_module.split('.', 1)[-1]
210
- if doc_module not in graphql_modules and doc_module != 'graphql':
218
+ if doc_module.startswith("graphql."):
219
+ doc_module = doc_module.split(".", 1)[-1]
220
+ if doc_module not in graphql_modules and doc_module != "graphql":
211
221
  doc_module = None
212
- fromdoc = 'modules/' + (doc_module or base_module)
222
+ fromdoc = "modules/" + (doc_module or base_module)
213
223
  # try resolving again with replaced target
214
- return env.domains['py'].resolve_xref(
215
- env, fromdoc, app.builder, typ, target, node, contnode)
224
+ return env.domains["py"].resolve_xref(
225
+ env, fromdoc, app.builder, typ, target, node, contnode
226
+ )
216
227
 
217
228
 
218
229
  def on_skip_member(_app, what, name, _obj, skip, _options):
219
- if what == 'class' and name == "__init__":
230
+ if what == "class" and name == "__init__":
220
231
  # we could set "special-members" to "__init__",
221
232
  # but this gives an error when documenting modules
222
233
  return False
@@ -224,7 +235,7 @@ def on_skip_member(_app, what, name, _obj, skip, _options):
224
235
 
225
236
 
226
237
  def setup(app):
227
- app.connect('missing-reference', on_missing_reference)
238
+ app.connect("missing-reference", on_missing_reference)
228
239
  app.connect("autodoc-skip-member", on_skip_member)
229
240
 
230
241
 
@@ -252,7 +263,7 @@ nitpicky = True
252
263
  # show_authors = False
253
264
 
254
265
  # The name of the Pygments (syntax highlighting) style to use.
255
- pygments_style = 'sphinx'
266
+ pygments_style = "sphinx"
256
267
 
257
268
  # A list of ignored prefixes for module index sorting.
258
269
  # modindex_common_prefix = []
@@ -268,15 +279,13 @@ todo_include_todos = False
268
279
  # The theme to use for HTML and HTML Help pages. See the documentation for
269
280
  # a list of builtin themes.
270
281
  #
271
- html_theme = 'sphinx_rtd_theme'
282
+ html_theme = "sphinx_rtd_theme"
272
283
 
273
284
  # Theme options are theme-specific and customize the look and feel of a theme
274
285
  # further. For a list of options available for each theme, see the
275
286
  # documentation.
276
287
  #
277
- html_theme_options = {
278
- 'navigation_depth': 5
279
- }
288
+ html_theme_options = {"navigation_depth": 5}
280
289
 
281
290
  # Add any paths that contain custom themes here, relative to this directory.
282
291
  # html_theme_path = []
@@ -384,34 +393,36 @@ html_show_sourcelink = False
384
393
  # html_search_scorer = 'scorer.js'
385
394
 
386
395
  # Output file base name for HTML help builder.
387
- htmlhelp_basename = 'GraphQL-core-3-doc'
396
+ htmlhelp_basename = "GraphQL-core-3-doc"
388
397
 
389
398
  # -- Options for LaTeX output ---------------------------------------------
390
399
 
391
400
  latex_elements = {
392
- # The paper size ('letterpaper' or 'a4paper').
393
- #
394
- # 'papersize': 'letterpaper',
395
-
396
- # The font size ('10pt', '11pt' or '12pt').
397
- #
398
- # 'pointsize': '10pt',
399
-
400
- # Additional stuff for the LaTeX preamble.
401
- #
402
- # 'preamble': '',
403
-
404
- # Latex figure (float) alignment
405
- #
406
- # 'figure_align': 'htbp',
401
+ # The paper size ('letterpaper' or 'a4paper').
402
+ #
403
+ # 'papersize': 'letterpaper',
404
+ # The font size ('10pt', '11pt' or '12pt').
405
+ #
406
+ # 'pointsize': '10pt',
407
+ # Additional stuff for the LaTeX preamble.
408
+ #
409
+ # 'preamble': '',
410
+ # Latex figure (float) alignment
411
+ #
412
+ # 'figure_align': 'htbp',
407
413
  }
408
414
 
409
415
  # Grouping the document tree into LaTeX files. List of tuples
410
416
  # (source start file, target name, title,
411
417
  # author, documentclass [howto, manual, or own class]).
412
418
  latex_documents = [
413
- (master_doc, 'GraphQL-core-3.tex', 'GraphQL-core 3 Documentation',
414
- 'Christoph Zwerschke', 'manual'),
419
+ (
420
+ master_doc,
421
+ "GraphQL-core-3.tex",
422
+ "GraphQL-core 3 Documentation",
423
+ "Christoph Zwerschke",
424
+ "manual",
425
+ ),
415
426
  ]
416
427
 
417
428
  # The name of an image file (relative to this directory) to place at the top of
@@ -445,10 +456,7 @@ latex_documents = [
445
456
 
446
457
  # One entry per manual page. List of tuples
447
458
  # (source start file, name, description, authors, manual section).
448
- man_pages = [
449
- (master_doc, 'graphql-core', 'GraphQL-core 3 Documentation',
450
- [author], 1)
451
- ]
459
+ man_pages = [(master_doc, "graphql-core", "GraphQL-core 3 Documentation", [author], 1)]
452
460
 
453
461
  # If true, show URL addresses after external links.
454
462
  #
@@ -461,9 +469,15 @@ man_pages = [
461
469
  # (source start file, target name, title, author,
462
470
  # dir menu entry, description, category)
463
471
  texinfo_documents = [
464
- (master_doc, 'GraphQL-core', 'GraphQL-core 3 Documentation',
465
- author, 'GraphQL-core 3', 'One line description of project.',
466
- 'Miscellaneous'),
472
+ (
473
+ master_doc,
474
+ "GraphQL-core",
475
+ "GraphQL-core 3 Documentation",
476
+ author,
477
+ "GraphQL-core 3",
478
+ "One line description of project.",
479
+ "Miscellaneous",
480
+ ),
467
481
  ]
468
482
 
469
483
  # Documents to append as an appendix to all manuals.
@@ -0,0 +1,17 @@
1
+ # This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
2
+
3
+ [[package]]
4
+ name = "typing-extensions"
5
+ version = "4.1.1"
6
+ description = "Backported and Experimental Type Hints for Python 3.6+"
7
+ optional = false
8
+ python-versions = ">=3.6"
9
+ files = [
10
+ {file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"},
11
+ {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"},
12
+ ]
13
+
14
+ [metadata]
15
+ lock-version = "2.0"
16
+ python-versions = "^3.6"
17
+ content-hash = "b8109651bbaf9410f0f7414200846c7a806e72dc7c5ab3c1698348b12f6d252a"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "graphql-core"
3
- version = "3.2.3"
3
+ version = "3.2.4"
4
4
  description = """
5
5
  GraphQL-core is a Python port of GraphQL.js,\
6
6
  the JavaScript reference implementation for GraphQL."""
@@ -22,7 +22,9 @@ classifiers = [
22
22
  "Programming Language :: Python :: 3.7",
23
23
  "Programming Language :: Python :: 3.8",
24
24
  "Programming Language :: Python :: 3.9",
25
- "Programming Language :: Python :: 3.10"
25
+ "Programming Language :: Python :: 3.10",
26
+ "Programming Language :: Python :: 3.11",
27
+ "Programming Language :: Python :: 3.12"
26
28
  ]
27
29
  packages = [
28
30
  { include = "graphql", from = "src" },
@@ -37,6 +39,7 @@ packages = [
37
39
  { include = 'poetry.lock', format = "sdist" },
38
40
  { include = 'tox.ini', format = "sdist" },
39
41
  { include = 'setup.cfg', format = "sdist" },
42
+ { include = 'setup.py', format = "sdist" },
40
43
  { include = 'CODEOWNERS', format = "sdist" },
41
44
  { include = 'MANIFEST.in', format = "sdist" },
42
45
  { include = 'SECURITY.md', format = "sdist" }
@@ -45,44 +48,32 @@ packages = [
45
48
  [tool.poetry.dependencies]
46
49
  python = "^3.6"
47
50
  typing-extensions = [
48
- { version = "^4.3", python = ">=3.7,<3.8" },
49
- { version = "^4.1", python = "<3.7" }
50
- ]
51
-
52
- [tool.poetry.dev-dependencies]
53
- pytest = "^6.2"
54
- pytest-asyncio = [
55
- {version=">=0.19,<1", python = ">=3.7" },
56
- {version=">=0.16,<0.17", python = "<3.7" },
57
- ]
58
- pytest-benchmark = "^3.4"
59
- pytest-cov = "^3.0"
60
- pytest-describe = "^2.0"
61
- pytest-timeout = "^2.1"
62
- black = [
63
- {version = "22.8.0", python = ">=3.6.2"},
64
- {version = "20.8b1", python = "<3.6.2"}
65
- ]
66
- flake8 = [
67
- {version = "^5.0", python = ">=3.6.1"},
68
- {version = "^4.0", python = "<3.6.1"}
69
- ]
70
- mypy = "0.971"
71
- sphinx = "^4.3"
72
- sphinx_rtd_theme = ">=1,<2"
73
- check-manifest = ">=0.48,<1"
74
- bump2version = ">=1.0,<2"
75
- tomli = [
76
- {version="^2", python = ">=3.7"},
77
- {version="^1.2", python = "<3.7"}
78
- ]
79
- tox = [
80
- {version = "^3.26", python = ">=3.7"},
81
- {version = "3.25", python = "<3.7"}
51
+ { version = ">=4,<5", python = "<3.10" }
82
52
  ]
83
53
 
84
54
  [tool.black]
85
- target-version = ['py36', 'py37', 'py38', 'py39', 'py310']
55
+ target-version = ['py36', 'py37', 'py38', 'py39', 'py310', 'py311', 'py312']
56
+
57
+ [tool.pyright]
58
+ reportIncompatibleVariableOverride = false
59
+ reportMissingTypeArgument = false
60
+ reportUnknownArgumentType = false
61
+ reportUnknownMemberType = false
62
+ reportUnknownParameterType = false
63
+ reportUnnecessaryIsInstance = false
64
+ reportUnknownVariableType = false
65
+ ignore = ["**/test_*"] # test functions
66
+
67
+ [tool.pylint.basic]
68
+ max-module-lines = 2000
69
+
70
+ [tool.pylint.messages_control]
71
+ disable = [
72
+ "method-hidden",
73
+ "missing-module-docstring", # test modules
74
+ "redefined-outer-name",
75
+ "unused-variable", # test functions
76
+ ]
86
77
 
87
78
  [build-system]
88
79
  requires = ["poetry_core>=1,<2", "setuptools>=59,<70"]