graphql-core 3.2.13__tar.gz → 3.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- graphql_core-3.3.0/.readthedocs.yaml +23 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/PKG-INFO +53 -59
- {graphql_core-3.2.13 → graphql_core-3.3.0}/README.md +42 -32
- graphql_core-3.3.0/docs/conf.py +177 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/diffs.rst +3 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/intro.rst +3 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/make.bat +35 -35
- graphql_core-3.3.0/docs/modules/execution.rst +91 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/language.rst +2 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/pyutils.rst +8 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/type.rst +13 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/utilities.rst +32 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/validation.rst +20 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/parser.rst +9 -9
- graphql_core-3.3.0/pyproject.toml +360 -0
- graphql_core-3.3.0/pyproject.toml.orig +355 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/__init__.py +440 -308
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/error/__init__.py +0 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/error/graphql_error.py +113 -110
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/error/located_error.py +16 -11
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/error/syntax_error.py +5 -5
- graphql_core-3.3.0/src/graphql/execution/__init__.py +91 -0
- graphql_core-3.3.0/src/graphql/execution/aborted_graphql_execution_error.py +62 -0
- graphql_core-3.3.0/src/graphql/execution/async_iterables.py +70 -0
- graphql_core-3.3.0/src/graphql/execution/collect_fields.py +430 -0
- graphql_core-3.3.0/src/graphql/execution/execute.py +1084 -0
- graphql_core-3.3.0/src/graphql/execution/executor.py +2333 -0
- graphql_core-3.3.0/src/graphql/execution/executor_throwing_on_incremental.py +104 -0
- graphql_core-3.3.0/src/graphql/execution/get_variable_signature.py +58 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/__init__.py +78 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/build_execution_plan.py +82 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/computation.py +137 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/incremental_executor.py +802 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/incremental_publisher.py +316 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/stream_item_queue.py +255 -0
- graphql_core-3.3.0/src/graphql/execution/incremental/work_queue.py +669 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/execution/middleware.py +13 -15
- graphql_core-3.3.0/src/graphql/execution/types.py +894 -0
- graphql_core-3.3.0/src/graphql/execution/values.py +626 -0
- graphql_core-3.3.0/src/graphql/graphql.py +484 -0
- graphql_core-3.3.0/src/graphql/harness.py +81 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/__init__.py +85 -81
- graphql_core-3.3.0/src/graphql/language/ast.py +2040 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/block_string.py +9 -5
- graphql_core-3.3.0/src/graphql/language/character_classes.py +35 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/directive_locations.py +4 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/lexer.py +48 -25
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/location.py +12 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/parser.py +203 -197
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/predicates.py +53 -24
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/print_location.py +12 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/printer.py +50 -18
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/schema_coordinate_lexer.py +12 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/source.py +28 -14
- graphql_core-3.3.0/src/graphql/language/token_kind.py +33 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/visitor.py +65 -97
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/__init__.py +31 -19
- graphql_core-3.3.0/src/graphql/pyutils/abort_signal.py +113 -0
- graphql_core-3.3.0/src/graphql/pyutils/async_reduce.py +50 -0
- graphql_core-3.3.0/src/graphql/pyutils/awaitable_or_value.py +13 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/cached_property.py +7 -6
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/description.py +12 -8
- graphql_core-3.3.0/src/graphql/pyutils/did_you_mean.py +28 -0
- graphql_core-3.3.0/src/graphql/pyutils/format_list.py +36 -0
- graphql_core-3.3.0/src/graphql/pyutils/gather_with_cancel.py +33 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/group_by.py +8 -3
- graphql_core-3.3.0/src/graphql/pyutils/identity_func.py +19 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/inspect.py +31 -33
- graphql_core-3.3.0/src/graphql/pyutils/is_awaitable.py +42 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/is_iterable.py +7 -7
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/merge_kwargs.py +4 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/natural_compare.py +3 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/path.py +11 -9
- graphql_core-3.3.0/src/graphql/pyutils/print_path_list.py +17 -0
- graphql_core-3.3.0/src/graphql/pyutils/ref_map.py +74 -0
- graphql_core-3.3.0/src/graphql/pyutils/ref_set.py +62 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/simple_pub_sub.py +16 -20
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/suggestion_list.py +12 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/undefined.py +15 -7
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/type/__init__.py +140 -104
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/type/assert_name.py +14 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/type/definition.py +1484 -1185
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/type/directives.py +143 -108
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/type/introspection.py +94 -79
- graphql_core-3.3.0/src/graphql/type/scalars.py +455 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/type/schema.py +152 -149
- graphql_core-3.3.0/src/graphql/type/validate.py +1053 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/__init__.py +41 -22
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/ast_from_value.py +38 -36
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/ast_to_dict.py +19 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/build_ast_schema.py +22 -25
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/build_client_schema.py +100 -73
- graphql_core-3.3.0/src/graphql/utilities/coerce_input_value.py +417 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/concat_ast.py +8 -4
- graphql_core-3.3.0/src/graphql/utilities/extend_schema.py +736 -0
- graphql_core-3.3.0/src/graphql/utilities/find_schema_changes.py +990 -0
- graphql_core-3.3.0/src/graphql/utilities/get_default_value_ast.py +76 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/get_introspection_query.py +66 -60
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/get_operation_ast.py +3 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/introspection_from_schema.py +17 -12
- graphql_core-3.3.0/src/graphql/utilities/lexicographic_sort_schema.py +115 -0
- graphql_core-3.3.0/src/graphql/utilities/map_schema_config.py +393 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/print_schema.py +133 -91
- graphql_core-3.3.0/src/graphql/utilities/replace_variables.py +149 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/resolve_schema_coordinate.py +44 -41
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/separate_operations.py +14 -14
- graphql_core-3.3.0/src/graphql/utilities/sort_value_node.py +44 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/strip_ignored_characters.py +7 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/type_comparators.py +9 -29
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/type_from_ast.py +12 -11
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/type_info.py +299 -115
- graphql_core-3.3.0/src/graphql/utilities/validate_input_value.py +630 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/value_from_ast.py +35 -25
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/utilities/value_from_ast_untyped.py +29 -27
- graphql_core-3.3.0/src/graphql/utilities/value_to_literal.py +200 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/__init__.py +39 -17
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/__init__.py +1 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/custom/no_deprecated.py +15 -15
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/custom/no_schema_introspection.py +6 -2
- graphql_core-3.3.0/src/graphql/validation/rules/defer_stream_directive_label.py +88 -0
- graphql_core-3.3.0/src/graphql/validation/rules/defer_stream_directive_on_root_field.py +146 -0
- graphql_core-3.3.0/src/graphql/validation/rules/defer_stream_directive_on_valid_operations_rule.py +196 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/executable_definitions.py +5 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/fields_on_correct_type.py +25 -21
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/fragments_on_composite_types.py +17 -17
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/known_argument_names.py +57 -11
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/known_directives.py +25 -16
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/known_fragment_names.py +6 -2
- graphql_core-3.3.0/src/graphql/validation/rules/known_operation_types.py +52 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/known_type_names.py +34 -21
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/lone_anonymous_operation.py +3 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/lone_schema_definition.py +8 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/max_introspection_depth_rule.py +3 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/no_fragment_cycles.py +11 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/no_undefined_variables.py +14 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/no_unused_fragments.py +7 -5
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/no_unused_variables.py +32 -29
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/overlapping_fields_can_be_merged.py +366 -175
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/possible_fragment_spreads.py +9 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/possible_type_extensions.py +7 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/provided_required_arguments.py +70 -18
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/scalar_leafs.py +6 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/single_field_subscriptions.py +49 -25
- graphql_core-3.3.0/src/graphql/validation/rules/stream_directive_on_list_field.py +79 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_argument_definition_names.py +13 -6
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_argument_names.py +13 -5
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_directive_names.py +6 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_directives_per_location.py +11 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_enum_value_names.py +8 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_field_definition_names.py +8 -7
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_fragment_names.py +6 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_input_field_names.py +9 -5
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_operation_names.py +6 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_operation_types.py +12 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_type_names.py +6 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/unique_variable_names.py +7 -3
- graphql_core-3.3.0/src/graphql/validation/rules/values_of_correct_type.py +138 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/variables_are_input_types.py +2 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/variables_in_allowed_position.py +20 -24
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/specified_rules.py +94 -66
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/validate.py +46 -46
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/validation_context.py +162 -54
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/version.py +6 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/__init__.py +3 -3
- graphql_core-3.3.0/tests/benchmarks/test_async_iterable.py +32 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_build_ast_schema.py +1 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_build_client_schema.py +3 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_execution_async.py +4 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_execution_sync.py +3 -3
- graphql_core-3.3.0/tests/benchmarks/test_graphql_schema.py +11 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_introspection_from_schema.py +1 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_parser.py +1 -1
- graphql_core-3.3.0/tests/benchmarks/test_serialization.py +50 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_validate_invalid_gql.py +4 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_visit.py +2 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/conftest.py +5 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/error/test_graphql_error.py +142 -68
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/error/test_located_error.py +37 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/error/test_print_location.py +21 -11
- graphql_core-3.3.0/tests/execution/incremental/__init__.py +1 -0
- graphql_core-3.3.0/tests/execution/incremental/test_computation.py +254 -0
- graphql_core-3.3.0/tests/execution/incremental/test_defer.py +3898 -0
- graphql_core-3.3.0/tests/execution/incremental/test_incremental_executor.py +238 -0
- graphql_core-3.3.0/tests/execution/incremental/test_incremental_publisher.py +116 -0
- graphql_core-3.3.0/tests/execution/incremental/test_stream.py +3981 -0
- graphql_core-3.3.0/tests/execution/incremental/test_stream_item_queue.py +360 -0
- graphql_core-3.3.0/tests/execution/incremental/test_work_queue.py +1243 -0
- graphql_core-3.3.0/tests/execution/test_aborted_graphql_execution_error.py +56 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_abstract.py +35 -26
- graphql_core-3.3.0/tests/execution/test_cancellation.py +1238 -0
- graphql_core-3.3.0/tests/execution/test_collect_fields.py +104 -0
- graphql_core-3.3.0/tests/execution/test_customize.py +143 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_directives.py +62 -33
- graphql_core-3.3.0/tests/execution/test_error_propagation.py +58 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_execution_result.py +13 -14
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_executor.py +370 -115
- graphql_core-3.3.0/tests/execution/test_executor_throwing_on_incremental.py +120 -0
- graphql_core-3.3.0/tests/execution/test_hooks.py +536 -0
- graphql_core-3.3.0/tests/execution/test_lists.py +702 -0
- graphql_core-3.3.0/tests/execution/test_map_async_iterable.py +325 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_middleware.py +55 -27
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_mutations.py +142 -20
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_nonnull.py +113 -84
- graphql_core-3.2.13/tests/execution/test_one_of.py → graphql_core-3.3.0/tests/execution/test_oneof.py +204 -147
- graphql_core-3.3.0/tests/execution/test_parallel.py +412 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_resolve.py +20 -11
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_schema.py +9 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_subscribe.py +570 -183
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_sync.py +54 -24
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/test_union_interface.py +140 -49
- graphql_core-3.3.0/tests/execution/test_variables.py +1805 -0
- graphql_core-3.3.0/tests/fixtures/__init__.py +62 -0
- graphql_core-3.3.0/tests/fixtures/github_schema.graphql +20367 -0
- graphql_core-3.3.0/tests/fixtures/large_query.graphql +7006 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/fixtures/schema_kitchen_sink.graphql +5 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_ast.py +91 -38
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_block_string.py +11 -6
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_block_string_fuzz.py +14 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_character_classes.py +4 -3
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_lexer.py +42 -30
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_location.py +16 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_parser.py +154 -115
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_predicates.py +113 -13
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_printer.py +149 -46
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_schema_coordinate_lexer.py +5 -5
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_schema_parser.py +192 -129
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_schema_printer.py +13 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_source.py +31 -22
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_visitor.py +181 -88
- graphql_core-3.3.0/tests/pyutils/test_async_reduce.py +61 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_convert_case.py +22 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_description.py +14 -41
- graphql_core-3.3.0/tests/pyutils/test_format_list.py +39 -0
- graphql_core-3.3.0/tests/pyutils/test_gather_with_cancel.py +131 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_group_by.py +1 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_identity_func.py +1 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_inspect.py +27 -20
- graphql_core-3.3.0/tests/pyutils/test_is_awaitable.py +204 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_is_iterable.py +3 -23
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_merge_kwargs.py +2 -5
- graphql_core-3.3.0/tests/pyutils/test_print_path_list.py +14 -0
- graphql_core-3.3.0/tests/pyutils/test_ref_map.py +124 -0
- graphql_core-3.3.0/tests/pyutils/test_ref_set.py +89 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_simple_pub_sub.py +9 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_suggestion_list.py +2 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_undefined.py +14 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/star_wars_data.py +15 -18
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/star_wars_schema.py +4 -7
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/test_docs.py +77 -52
- graphql_core-3.3.0/tests/test_graphql.py +258 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/test_star_wars_introspection.py +36 -18
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/test_star_wars_query.py +3 -19
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/test_star_wars_validation.py +8 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/test_user_registry.py +41 -54
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_assert_name.py +11 -19
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_custom_scalars.py +31 -24
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_definition.py +495 -755
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_directives.py +29 -111
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_enum.py +79 -28
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_extensions.py +5 -70
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_introspection.py +113 -56
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_predicate.py +150 -52
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_scalars.py +349 -254
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_schema.py +83 -74
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/test_validation.py +1852 -713
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_ast_from_value.py +61 -34
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_ast_to_dict.py +70 -70
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_build_ast_schema.py +324 -164
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_build_client_schema.py +188 -105
- graphql_core-3.3.0/tests/utilities/test_coerce_input_value.py +718 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_concat_ast.py +13 -7
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_extend_schema.py +464 -210
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_find_breaking_changes.py +428 -214
- graphql_core-3.3.0/tests/utilities/test_find_schema_changes.py +549 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_get_introspection_query.py +16 -13
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_get_operation_ast.py +16 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_introspection_from_schema.py +16 -13
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_lexicographic_sort_schema.py +83 -43
- graphql_core-3.3.0/tests/utilities/test_map_schema_config.py +886 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_print_schema.py +307 -93
- graphql_core-3.3.0/tests/utilities/test_replace_variables.py +190 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_resolve_schema_coordinate.py +73 -28
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_separate_operations.py +50 -24
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_sort_value_node.py +4 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_strip_ignored_characters.py +38 -180
- graphql_core-3.3.0/tests/utilities/test_strip_ignored_characters_fuzz.py +251 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_type_from_ast.py +3 -3
- graphql_core-3.3.0/tests/utilities/test_type_info.py +891 -0
- graphql_core-3.3.0/tests/utilities/test_validate_input_value.py +1344 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_value_from_ast.py +25 -11
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_value_from_ast_untyped.py +10 -8
- graphql_core-3.3.0/tests/utilities/test_value_to_literal.py +191 -0
- graphql_core-3.3.0/tests/utils/__init__.py +17 -0
- graphql_core-3.3.0/tests/utils/assert_equal_awaitables_or_values.py +31 -0
- graphql_core-3.3.0/tests/utils/assert_matching_values.py +13 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utils/gen_fuzz_strings.py +1 -1
- graphql_core-3.3.0/tests/utils/test_assert_equal_awaitables_or_values.py +53 -0
- graphql_core-3.3.0/tests/utils/test_assert_matching_values.py +13 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utils/test_dedent.py +45 -14
- graphql_core-3.3.0/tests/utils/viral_schema.py +34 -0
- graphql_core-3.3.0/tests/utils/viral_sdl.py +21 -0
- graphql_core-3.3.0/tests/validation/__init__.py +5 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/harness.py +28 -18
- graphql_core-3.3.0/tests/validation/test_defer_stream_directive_label.py +213 -0
- graphql_core-3.3.0/tests/validation/test_defer_stream_directive_on_root_field.py +424 -0
- graphql_core-3.3.0/tests/validation/test_defer_stream_directive_on_valid_operations.py +677 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_executable_definitions.py +8 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_fields_on_correct_type.py +85 -35
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_fragments_on_composite_types.py +24 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_known_argument_names.py +165 -23
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_known_directives.py +127 -48
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_known_fragment_names.py +4 -2
- graphql_core-3.3.0/tests/validation/test_known_operation_types.py +65 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_known_type_names.py +40 -7
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_lone_anonymous_operation.py +16 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_lone_schema_definition.py +24 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_max_introspection_depth_rule.py +16 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_no_deprecated.py +69 -34
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_no_fragment_cycles.py +20 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_no_schema_introspection.py +12 -6
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_no_undefined_variables.py +91 -14
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_no_unused_fragments.py +8 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_no_unused_variables.py +66 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_overlapping_fields_can_be_merged.py +464 -43
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_possible_fragment_spreads.py +56 -28
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_possible_type_extensions.py +20 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_provided_required_arguments.py +173 -46
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_scalar_leafs.py +13 -9
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_single_field_subscriptions.py +62 -10
- graphql_core-3.3.0/tests/validation/test_stream_directive_on_list_field.py +82 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_argument_definition_names.py +12 -6
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_argument_names.py +37 -18
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_directive_names.py +16 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_directives_per_location.py +35 -34
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_enum_value_names.py +20 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_field_definition_names.py +28 -14
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_fragment_names.py +20 -10
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_input_field_names.py +16 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_operation_names.py +24 -12
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_operation_types.py +28 -14
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_type_names.py +16 -8
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_unique_variable_names.py +4 -2
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_validation.py +19 -76
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_values_of_correct_type.py +310 -103
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_variables_are_input_types.py +38 -4
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/validation/test_variables_in_allowed_position.py +230 -61
- graphql_core-3.3.0/tox.ini +53 -0
- graphql_core-3.2.13/.bumpversion.cfg +0 -20
- graphql_core-3.2.13/.coveragerc +0 -30
- graphql_core-3.2.13/.flake8 +0 -13
- graphql_core-3.2.13/.mypy.ini +0 -20
- graphql_core-3.2.13/.readthedocs.yaml +0 -23
- graphql_core-3.2.13/MANIFEST.in +0 -25
- graphql_core-3.2.13/docs/conf.py +0 -501
- graphql_core-3.2.13/docs/modules/execution.rst +0 -39
- graphql_core-3.2.13/docs/requirements.txt +0 -2
- graphql_core-3.2.13/poetry.lock +0 -19
- graphql_core-3.2.13/pyproject.toml +0 -93
- graphql_core-3.2.13/setup.cfg +0 -20
- graphql_core-3.2.13/setup.py +0 -52
- graphql_core-3.2.13/src/graphql/execution/__init__.py +0 -40
- graphql_core-3.2.13/src/graphql/execution/collect_fields.py +0 -191
- graphql_core-3.2.13/src/graphql/execution/execute.py +0 -1702
- graphql_core-3.2.13/src/graphql/execution/map_async_iterator.py +0 -168
- graphql_core-3.2.13/src/graphql/execution/subscribe.py +0 -353
- graphql_core-3.2.13/src/graphql/execution/values.py +0 -387
- graphql_core-3.2.13/src/graphql/graphql.py +0 -311
- graphql_core-3.2.13/src/graphql/language/ast.py +0 -1238
- graphql_core-3.2.13/src/graphql/language/character_classes.py +0 -70
- graphql_core-3.2.13/src/graphql/language/token_kind.py +0 -56
- graphql_core-3.2.13/src/graphql/pyutils/awaitable_or_value.py +0 -10
- graphql_core-3.2.13/src/graphql/pyutils/did_you_mean.py +0 -30
- graphql_core-3.2.13/src/graphql/pyutils/frozen_dict.py +0 -59
- graphql_core-3.2.13/src/graphql/pyutils/frozen_list.py +0 -80
- graphql_core-3.2.13/src/graphql/pyutils/identity_func.py +0 -15
- graphql_core-3.2.13/src/graphql/pyutils/is_awaitable.py +0 -26
- graphql_core-3.2.13/src/graphql/pyutils/print_path_list.py +0 -8
- graphql_core-3.2.13/src/graphql/subscription/__init__.py +0 -16
- graphql_core-3.2.13/src/graphql/type/scalars.py +0 -344
- graphql_core-3.2.13/src/graphql/type/validate.py +0 -664
- graphql_core-3.2.13/src/graphql/utilities/assert_valid_name.py +0 -69
- graphql_core-3.2.13/src/graphql/utilities/coerce_input_value.py +0 -221
- graphql_core-3.2.13/src/graphql/utilities/extend_schema.py +0 -887
- graphql_core-3.2.13/src/graphql/utilities/find_breaking_changes.py +0 -716
- graphql_core-3.2.13/src/graphql/utilities/get_operation_root_type.py +0 -63
- graphql_core-3.2.13/src/graphql/utilities/lexicographic_sort_schema.py +0 -228
- graphql_core-3.2.13/src/graphql/utilities/sort_value_node.py +0 -40
- graphql_core-3.2.13/src/graphql/validation/rules/values_of_correct_type.py +0 -256
- graphql_core-3.2.13/src/graphql_core.egg-info/PKG-INFO +0 -297
- graphql_core-3.2.13/src/graphql_core.egg-info/SOURCES.txt +0 -346
- graphql_core-3.2.13/src/graphql_core.egg-info/dependency_links.txt +0 -1
- graphql_core-3.2.13/src/graphql_core.egg-info/not-zip-safe +0 -1
- graphql_core-3.2.13/src/graphql_core.egg-info/requires.txt +0 -3
- graphql_core-3.2.13/src/graphql_core.egg-info/top_level.txt +0 -1
- graphql_core-3.2.13/tests/execution/test_customize.py +0 -41
- graphql_core-3.2.13/tests/execution/test_lists.py +0 -260
- graphql_core-3.2.13/tests/execution/test_map_async_iterator.py +0 -497
- graphql_core-3.2.13/tests/execution/test_parallel.py +0 -153
- graphql_core-3.2.13/tests/execution/test_variables.py +0 -1034
- graphql_core-3.2.13/tests/fixtures/__init__.py +0 -43
- graphql_core-3.2.13/tests/fixtures/github_schema.graphql +0 -13158
- graphql_core-3.2.13/tests/pyutils/test_frozen_dict.py +0 -96
- graphql_core-3.2.13/tests/pyutils/test_frozen_list.py +0 -113
- graphql_core-3.2.13/tests/pyutils/test_is_awaitable.py +0 -108
- graphql_core-3.2.13/tests/pyutils/test_print_path_list.py +0 -14
- graphql_core-3.2.13/tests/utilities/test_coerce_input_value.py +0 -500
- graphql_core-3.2.13/tests/utilities/test_get_operation_root_type.py +0 -111
- graphql_core-3.2.13/tests/utilities/test_strip_ignored_characters_fuzz.py +0 -39
- graphql_core-3.2.13/tests/utilities/test_type_info.py +0 -449
- graphql_core-3.2.13/tests/utils/__init__.py +0 -12
- graphql_core-3.2.13/tests/validation/__init__.py +0 -5
- graphql_core-3.2.13/tox.ini +0 -71
- {graphql_core-3.2.13 → graphql_core-3.3.0}/.editorconfig +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/CODEOWNERS +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/LICENSE +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/SECURITY.md +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/Makefile +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/index.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/error.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/modules/graphql.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/extension.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/index.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/introspection.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/methods.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/other.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/queries.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/resolvers.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/schema.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/sdl.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/docs/usage/validator.rst +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/language/print_string.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/py.typed +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/convert_case.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/pyutils/frozen_error.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/src/graphql/validation/rules/custom/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_print.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_repeated_fields.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_validate_gql.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/benchmarks/test_validate_sdl.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/error/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/execution/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/fixtures/github_schema.json +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/fixtures/kitchen_sink.graphql +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/language/test_print_string.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_cached_property.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_did_you_mean.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_frozen_error.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_natural_compare.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/pyutils/test_path.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/test_version.py +1 -1
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/type/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/__init__.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utilities/test_type_comparators.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utils/dedent.py +0 -0
- {graphql_core-3.2.13 → graphql_core-3.3.0}/tests/utils/test_gen_fuzz_strings.py +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# .readthedocs.yaml
|
|
2
|
+
# Read the Docs configuration file
|
|
3
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html
|
|
4
|
+
|
|
5
|
+
version: 2
|
|
6
|
+
|
|
7
|
+
build:
|
|
8
|
+
os: ubuntu-lts-latest
|
|
9
|
+
tools:
|
|
10
|
+
python: "3.14"
|
|
11
|
+
jobs:
|
|
12
|
+
# The build virtualenv's bundled pip is too old for "pip install --group",
|
|
13
|
+
# so use uv to install the project plus its "doc" dependency group into it.
|
|
14
|
+
install:
|
|
15
|
+
- python -m pip install uv
|
|
16
|
+
- uv pip install --python "$READTHEDOCS_VIRTUALENV_PATH/bin/python" --group doc .
|
|
17
|
+
|
|
18
|
+
sphinx:
|
|
19
|
+
configuration: docs/conf.py
|
|
20
|
+
|
|
21
|
+
formats:
|
|
22
|
+
- epub
|
|
23
|
+
- pdf
|
|
@@ -1,73 +1,61 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: graphql-core
|
|
3
|
-
Version: 3.
|
|
4
|
-
Summary: GraphQL
|
|
5
|
-
Home-page: https://github.com/graphql-python/graphql-core
|
|
6
|
-
Author: Christoph Zwerschke
|
|
7
|
-
Author-email: cito@online.de
|
|
8
|
-
License: MIT license
|
|
3
|
+
Version: 3.3.0
|
|
4
|
+
Summary: GraphQL-core is a Python port of GraphQL.js, the JavaScript reference implementation for GraphQL.
|
|
9
5
|
Keywords: graphql
|
|
6
|
+
Author: Christoph Zwerschke
|
|
7
|
+
Author-email: Christoph Zwerschke <cito@online.de>
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: Intended Audience :: Developers
|
|
12
|
-
Classifier: Topic :: Software Development :: Libraries
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
12
|
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
17
|
Classifier: Programming Language :: Python :: 3.14
|
|
24
18
|
Classifier: Programming Language :: Python :: 3.15
|
|
25
|
-
Requires-Python: >=3.
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Project-URL: Homepage, https://github.com/graphql-python/graphql-core
|
|
21
|
+
Project-URL: Repository, https://github.com/graphql-python/graphql-core
|
|
22
|
+
Project-URL: Documentation, https://graphql-core-3.readthedocs.io/
|
|
23
|
+
Project-URL: Changelog, https://github.com/graphql-python/graphql-core/releases
|
|
26
24
|
Description-Content-Type: text/markdown
|
|
27
|
-
License-File: LICENSE
|
|
28
|
-
Requires-Dist: typing-extensions<5,>=4.7; python_version < "3.10"
|
|
29
|
-
Dynamic: author
|
|
30
|
-
Dynamic: author-email
|
|
31
|
-
Dynamic: classifier
|
|
32
|
-
Dynamic: description
|
|
33
|
-
Dynamic: description-content-type
|
|
34
|
-
Dynamic: home-page
|
|
35
|
-
Dynamic: keywords
|
|
36
|
-
Dynamic: license
|
|
37
|
-
Dynamic: license-file
|
|
38
|
-
Dynamic: requires-dist
|
|
39
|
-
Dynamic: requires-python
|
|
40
|
-
Dynamic: summary
|
|
41
25
|
|
|
42
26
|
# GraphQL-core 3
|
|
43
27
|
|
|
44
|
-
GraphQL-core 3 is a Python 3.
|
|
28
|
+
GraphQL-core 3 is a Python 3.10+ port of [GraphQL.js](https://github.com/graphql/graphql-js),
|
|
45
29
|
the JavaScript reference implementation for [GraphQL](https://graphql.org/),
|
|
46
30
|
a query language for APIs created by Facebook.
|
|
47
31
|
|
|
48
32
|
[](https://badge.fury.io/py/graphql-core)
|
|
49
33
|
[](https://graphql-core-3.readthedocs.io)
|
|
50
|
-

|
|
51
|
-

|
|
52
|
-
[](https://github.com/graphql-python/graphql-core/actions/workflows/test.yml)
|
|
35
|
+
[](https://github.com/graphql-python/graphql-core/actions/workflows/lint.yml)
|
|
36
|
+
[](https://codspeed.io/graphql-python/graphql-core)
|
|
37
|
+
[](https://github.com/astral-sh/ruff)
|
|
38
|
+
|
|
39
|
+
An extensive test suite with over 3000 unit tests and 100% coverage replicates the
|
|
40
|
+
complete test suite of GraphQL.js, ensuring that this port is reliable and compatible
|
|
41
|
+
with GraphQL.js.
|
|
53
42
|
|
|
54
|
-
The current version 3.
|
|
43
|
+
The current stable version 3.3.0 of GraphQL-core is up-to-date with GraphQL.js
|
|
44
|
+
version 17.0.2 and supports Python versions 3.10 to 3.15.
|
|
55
45
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
reliable and compatible with GraphQL.js.
|
|
46
|
+
If you need compatibility with GraphQL.js 16 or support for Python 3.7 to 3.9,
|
|
47
|
+
you can use the latest version 3.2.13 from the 3.2 branch.
|
|
59
48
|
|
|
60
49
|
Note that for various reasons, GraphQL-core does not use SemVer like GraphQL.js.
|
|
61
50
|
Changes in the major version of GraphQL.js are reflected in the minor version of
|
|
62
51
|
GraphQL-core instead. This means there can be breaking changes in the API
|
|
63
52
|
when the minor version changes, and only patch releases are fully backward compatible.
|
|
64
|
-
Therefore, we recommend using something like `~= 3.
|
|
53
|
+
Therefore, we recommend using something like `~= 3.3.0` as the version specifier
|
|
65
54
|
when including GraphQL-core as a dependency.
|
|
66
55
|
|
|
67
|
-
|
|
68
56
|
## Documentation
|
|
69
57
|
|
|
70
|
-
|
|
58
|
+
More detailed documentation for GraphQL-core 3 can be found at
|
|
71
59
|
[graphql-core-3.readthedocs.io](https://graphql-core-3.readthedocs.io/).
|
|
72
60
|
|
|
73
61
|
The documentation for GraphQL.js can be found at [graphql.org/graphql-js/](https://graphql.org/graphql-js/).
|
|
@@ -82,22 +70,25 @@ examples.
|
|
|
82
70
|
|
|
83
71
|
A general overview of GraphQL is available in the
|
|
84
72
|
[README](https://github.com/graphql/graphql-spec/blob/main/README.md) for the
|
|
85
|
-
[Specification for GraphQL](https://github.com/graphql/graphql-spec).
|
|
86
|
-
|
|
87
|
-
repository. A good way to get started with this repository is to walk through
|
|
88
|
-
README and the corresponding tests in parallel.
|
|
73
|
+
[Specification for GraphQL](https://github.com/graphql/graphql-spec). This overview
|
|
74
|
+
includes a simple set of GraphQL examples that are also available as [tests](tests)
|
|
75
|
+
in this repository. A good way to get started with this repository is to walk through
|
|
76
|
+
that README and the corresponding tests in parallel.
|
|
89
77
|
|
|
90
78
|
|
|
91
79
|
## Installation
|
|
92
80
|
|
|
93
81
|
GraphQL-core 3 can be installed from PyPI using the built-in pip command:
|
|
94
82
|
|
|
95
|
-
|
|
83
|
+
```sh
|
|
84
|
+
python -m pip install graphql-core
|
|
85
|
+
```
|
|
96
86
|
|
|
97
|
-
|
|
98
|
-
in a virtual environment:
|
|
87
|
+
Or, if you prefer [uv](https://github.com/astral-sh/uv):
|
|
99
88
|
|
|
100
|
-
|
|
89
|
+
```sh
|
|
90
|
+
uv pip install graphql-core
|
|
91
|
+
```
|
|
101
92
|
|
|
102
93
|
|
|
103
94
|
## Usage
|
|
@@ -172,9 +163,9 @@ ExecutionResult(data=None, errors=[GraphQLError(
|
|
|
172
163
|
locations=[SourceLocation(line=1, column=3)])])
|
|
173
164
|
```
|
|
174
165
|
|
|
175
|
-
The `graphql_sync` function assumes that all resolvers return values synchronously.
|
|
176
|
-
using coroutines as resolvers, you can also create results in an asynchronous
|
|
177
|
-
with the `graphql` function.
|
|
166
|
+
The `graphql_sync` function assumes that all resolvers return values synchronously.
|
|
167
|
+
By using coroutines as resolvers, you can also create results in an asynchronous
|
|
168
|
+
fashion with the `graphql` function.
|
|
178
169
|
|
|
179
170
|
```python
|
|
180
171
|
import asyncio
|
|
@@ -209,17 +200,17 @@ asyncio.run(main())
|
|
|
209
200
|
|
|
210
201
|
## Goals and restrictions
|
|
211
202
|
|
|
212
|
-
GraphQL-core
|
|
213
|
-
in Python as closely as possible
|
|
214
|
-
GraphQL.js.
|
|
203
|
+
GraphQL-core aims to reproduce the code of the reference implementation GraphQL.js
|
|
204
|
+
in Python as closely as possible while staying up-to-date with the latest development
|
|
205
|
+
of GraphQL.js.
|
|
215
206
|
|
|
216
|
-
GraphQL-core 3 (formerly known as GraphQL-core-next)
|
|
207
|
+
GraphQL-core 3 (formerly known as GraphQL-core-next) was created as a modern
|
|
217
208
|
alternative to [GraphQL-core 2](https://github.com/graphql-python/graphql-core-legacy),
|
|
218
|
-
a prior work by Syrus Akbary
|
|
219
|
-
|
|
220
|
-
GraphQL-core 2 or directly taken over with
|
|
221
|
-
|
|
222
|
-
|
|
209
|
+
a prior work by Syrus Akbary based on an older version of GraphQL.js that still
|
|
210
|
+
supported legacy Python versions. While some parts of GraphQL-core 3 were inspired by
|
|
211
|
+
GraphQL-core 2 or directly taken over with slight modifications, most of the code has
|
|
212
|
+
been re-implemented from scratch. This re-implementation closely replicates the latest
|
|
213
|
+
code in GraphQL.js and adds type hints for Python.
|
|
223
214
|
|
|
224
215
|
Design goals for the GraphQL-core 3 library were:
|
|
225
216
|
|
|
@@ -231,13 +222,14 @@ Design goals for the GraphQL-core 3 library were:
|
|
|
231
222
|
(and is now using TypeScript)
|
|
232
223
|
* to use [black](https://github.com/ambv/black) to achieve a consistent code style
|
|
233
224
|
while saving time and mental energy for more important matters
|
|
225
|
+
(we are now using [ruff](https://github.com/astral-sh/ruff) instead)
|
|
234
226
|
* to replicate the complete Mocha-based test suite of GraphQL.js
|
|
235
227
|
using [pytest](https://docs.pytest.org/)
|
|
236
228
|
with [pytest-describe](https://pypi.org/project/pytest-describe/)
|
|
237
229
|
|
|
238
230
|
Some restrictions (mostly in line with the design goals):
|
|
239
231
|
|
|
240
|
-
* requires Python 3.
|
|
232
|
+
* requires Python 3.10 or newer, while the 3.2 branch supports Python 3.7 and newer
|
|
241
233
|
* does not support some already deprecated methods and options of GraphQL.js
|
|
242
234
|
* supports asynchronous operations only via async.io
|
|
243
235
|
(does not support the additional executors in GraphQL-core)
|
|
@@ -266,6 +258,8 @@ in addition to using [mypy](https://mypy-lang.org/) as type checker.
|
|
|
266
258
|
Arminio, is a new GraphQL library for Python 3, inspired by dataclasses,
|
|
267
259
|
that is also using GraphQL-core 3 as underpinning.
|
|
268
260
|
|
|
261
|
+
* [Typed GraphQL](https://github.com/willemt/typed-graphql), thin layer over GraphQL-core that uses native Python types for creating GraphQL schemas.
|
|
262
|
+
|
|
269
263
|
|
|
270
264
|
## Changelog
|
|
271
265
|
|
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
# GraphQL-core 3
|
|
2
2
|
|
|
3
|
-
GraphQL-core 3 is a Python 3.
|
|
3
|
+
GraphQL-core 3 is a Python 3.10+ port of [GraphQL.js](https://github.com/graphql/graphql-js),
|
|
4
4
|
the JavaScript reference implementation for [GraphQL](https://graphql.org/),
|
|
5
5
|
a query language for APIs created by Facebook.
|
|
6
6
|
|
|
7
7
|
[](https://badge.fury.io/py/graphql-core)
|
|
8
8
|
[](https://graphql-core-3.readthedocs.io)
|
|
9
|
-

|
|
10
|
-

|
|
11
|
-
[](https://github.com/graphql-python/graphql-core/actions/workflows/test.yml)
|
|
10
|
+
[](https://github.com/graphql-python/graphql-core/actions/workflows/lint.yml)
|
|
11
|
+
[](https://codspeed.io/graphql-python/graphql-core)
|
|
12
|
+
[](https://github.com/astral-sh/ruff)
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
An extensive test suite with over 3000 unit tests and 100% coverage replicates the
|
|
15
|
+
complete test suite of GraphQL.js, ensuring that this port is reliable and compatible
|
|
16
|
+
with GraphQL.js.
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
The current stable version 3.3.0 of GraphQL-core is up-to-date with GraphQL.js
|
|
19
|
+
version 17.0.2 and supports Python versions 3.10 to 3.15.
|
|
20
|
+
|
|
21
|
+
If you need compatibility with GraphQL.js 16 or support for Python 3.7 to 3.9,
|
|
22
|
+
you can use the latest version 3.2.13 from the 3.2 branch.
|
|
18
23
|
|
|
19
24
|
Note that for various reasons, GraphQL-core does not use SemVer like GraphQL.js.
|
|
20
25
|
Changes in the major version of GraphQL.js are reflected in the minor version of
|
|
21
26
|
GraphQL-core instead. This means there can be breaking changes in the API
|
|
22
27
|
when the minor version changes, and only patch releases are fully backward compatible.
|
|
23
|
-
Therefore, we recommend using something like `~= 3.
|
|
28
|
+
Therefore, we recommend using something like `~= 3.3.0` as the version specifier
|
|
24
29
|
when including GraphQL-core as a dependency.
|
|
25
30
|
|
|
26
|
-
|
|
27
31
|
## Documentation
|
|
28
32
|
|
|
29
|
-
|
|
33
|
+
More detailed documentation for GraphQL-core 3 can be found at
|
|
30
34
|
[graphql-core-3.readthedocs.io](https://graphql-core-3.readthedocs.io/).
|
|
31
35
|
|
|
32
36
|
The documentation for GraphQL.js can be found at [graphql.org/graphql-js/](https://graphql.org/graphql-js/).
|
|
@@ -41,22 +45,25 @@ examples.
|
|
|
41
45
|
|
|
42
46
|
A general overview of GraphQL is available in the
|
|
43
47
|
[README](https://github.com/graphql/graphql-spec/blob/main/README.md) for the
|
|
44
|
-
[Specification for GraphQL](https://github.com/graphql/graphql-spec).
|
|
45
|
-
|
|
46
|
-
repository. A good way to get started with this repository is to walk through
|
|
47
|
-
README and the corresponding tests in parallel.
|
|
48
|
+
[Specification for GraphQL](https://github.com/graphql/graphql-spec). This overview
|
|
49
|
+
includes a simple set of GraphQL examples that are also available as [tests](tests)
|
|
50
|
+
in this repository. A good way to get started with this repository is to walk through
|
|
51
|
+
that README and the corresponding tests in parallel.
|
|
48
52
|
|
|
49
53
|
|
|
50
54
|
## Installation
|
|
51
55
|
|
|
52
56
|
GraphQL-core 3 can be installed from PyPI using the built-in pip command:
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
```sh
|
|
59
|
+
python -m pip install graphql-core
|
|
60
|
+
```
|
|
55
61
|
|
|
56
|
-
|
|
57
|
-
in a virtual environment:
|
|
62
|
+
Or, if you prefer [uv](https://github.com/astral-sh/uv):
|
|
58
63
|
|
|
59
|
-
|
|
64
|
+
```sh
|
|
65
|
+
uv pip install graphql-core
|
|
66
|
+
```
|
|
60
67
|
|
|
61
68
|
|
|
62
69
|
## Usage
|
|
@@ -131,9 +138,9 @@ ExecutionResult(data=None, errors=[GraphQLError(
|
|
|
131
138
|
locations=[SourceLocation(line=1, column=3)])])
|
|
132
139
|
```
|
|
133
140
|
|
|
134
|
-
The `graphql_sync` function assumes that all resolvers return values synchronously.
|
|
135
|
-
using coroutines as resolvers, you can also create results in an asynchronous
|
|
136
|
-
with the `graphql` function.
|
|
141
|
+
The `graphql_sync` function assumes that all resolvers return values synchronously.
|
|
142
|
+
By using coroutines as resolvers, you can also create results in an asynchronous
|
|
143
|
+
fashion with the `graphql` function.
|
|
137
144
|
|
|
138
145
|
```python
|
|
139
146
|
import asyncio
|
|
@@ -168,17 +175,17 @@ asyncio.run(main())
|
|
|
168
175
|
|
|
169
176
|
## Goals and restrictions
|
|
170
177
|
|
|
171
|
-
GraphQL-core
|
|
172
|
-
in Python as closely as possible
|
|
173
|
-
GraphQL.js.
|
|
178
|
+
GraphQL-core aims to reproduce the code of the reference implementation GraphQL.js
|
|
179
|
+
in Python as closely as possible while staying up-to-date with the latest development
|
|
180
|
+
of GraphQL.js.
|
|
174
181
|
|
|
175
|
-
GraphQL-core 3 (formerly known as GraphQL-core-next)
|
|
182
|
+
GraphQL-core 3 (formerly known as GraphQL-core-next) was created as a modern
|
|
176
183
|
alternative to [GraphQL-core 2](https://github.com/graphql-python/graphql-core-legacy),
|
|
177
|
-
a prior work by Syrus Akbary
|
|
178
|
-
|
|
179
|
-
GraphQL-core 2 or directly taken over with
|
|
180
|
-
|
|
181
|
-
|
|
184
|
+
a prior work by Syrus Akbary based on an older version of GraphQL.js that still
|
|
185
|
+
supported legacy Python versions. While some parts of GraphQL-core 3 were inspired by
|
|
186
|
+
GraphQL-core 2 or directly taken over with slight modifications, most of the code has
|
|
187
|
+
been re-implemented from scratch. This re-implementation closely replicates the latest
|
|
188
|
+
code in GraphQL.js and adds type hints for Python.
|
|
182
189
|
|
|
183
190
|
Design goals for the GraphQL-core 3 library were:
|
|
184
191
|
|
|
@@ -190,13 +197,14 @@ Design goals for the GraphQL-core 3 library were:
|
|
|
190
197
|
(and is now using TypeScript)
|
|
191
198
|
* to use [black](https://github.com/ambv/black) to achieve a consistent code style
|
|
192
199
|
while saving time and mental energy for more important matters
|
|
200
|
+
(we are now using [ruff](https://github.com/astral-sh/ruff) instead)
|
|
193
201
|
* to replicate the complete Mocha-based test suite of GraphQL.js
|
|
194
202
|
using [pytest](https://docs.pytest.org/)
|
|
195
203
|
with [pytest-describe](https://pypi.org/project/pytest-describe/)
|
|
196
204
|
|
|
197
205
|
Some restrictions (mostly in line with the design goals):
|
|
198
206
|
|
|
199
|
-
* requires Python 3.
|
|
207
|
+
* requires Python 3.10 or newer, while the 3.2 branch supports Python 3.7 and newer
|
|
200
208
|
* does not support some already deprecated methods and options of GraphQL.js
|
|
201
209
|
* supports asynchronous operations only via async.io
|
|
202
210
|
(does not support the additional executors in GraphQL-core)
|
|
@@ -225,6 +233,8 @@ in addition to using [mypy](https://mypy-lang.org/) as type checker.
|
|
|
225
233
|
Arminio, is a new GraphQL library for Python 3, inspired by dataclasses,
|
|
226
234
|
that is also using GraphQL-core 3 as underpinning.
|
|
227
235
|
|
|
236
|
+
* [Typed GraphQL](https://github.com/willemt/typed-graphql), thin layer over GraphQL-core that uses native Python types for creating GraphQL schemas.
|
|
237
|
+
|
|
228
238
|
|
|
229
239
|
## Changelog
|
|
230
240
|
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
#
|
|
2
|
+
# GraphQL-core 3 documentation build configuration file, created by
|
|
3
|
+
# sphinx-quickstart on Thu Jun 21 16:28:30 2018.
|
|
4
|
+
#
|
|
5
|
+
# This file is execfile()d with the current directory set to its
|
|
6
|
+
# containing dir.
|
|
7
|
+
#
|
|
8
|
+
# Note that not all possible configuration values are present in this
|
|
9
|
+
# autogenerated file.
|
|
10
|
+
#
|
|
11
|
+
# All configuration values have a default; values that are commented out
|
|
12
|
+
# serve to show the default.
|
|
13
|
+
|
|
14
|
+
# If extensions (or modules to document with autodoc) are in another directory,
|
|
15
|
+
# add these directories to sys.path here. If the directory is relative to the
|
|
16
|
+
# documentation root, use Path.resolve() to make it absolute, like shown here.
|
|
17
|
+
#
|
|
18
|
+
import sys
|
|
19
|
+
from pathlib import Path
|
|
20
|
+
|
|
21
|
+
# Make src layout importable without installation
|
|
22
|
+
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
|
|
23
|
+
|
|
24
|
+
# -- General configuration ------------------------------------------------
|
|
25
|
+
|
|
26
|
+
# If your documentation needs a minimal Sphinx version, state it here.
|
|
27
|
+
#
|
|
28
|
+
needs_sphinx = "9.0"
|
|
29
|
+
|
|
30
|
+
# Add any Sphinx extension module names here, as strings. They can be
|
|
31
|
+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
|
32
|
+
# ones.
|
|
33
|
+
extensions = [
|
|
34
|
+
"sphinx.ext.autodoc",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
38
|
+
templates_path = ["_templates"]
|
|
39
|
+
|
|
40
|
+
# The master toctree document.
|
|
41
|
+
master_doc = "index"
|
|
42
|
+
|
|
43
|
+
# General information about the project.
|
|
44
|
+
project = "GraphQL-core 3"
|
|
45
|
+
copyright = "2026, Christoph Zwerschke"
|
|
46
|
+
author = "Christoph Zwerschke"
|
|
47
|
+
|
|
48
|
+
# The version info for the project you're documenting, acts as replacement for
|
|
49
|
+
# |version| and |release|, also used in various other places throughout the
|
|
50
|
+
# built documents.
|
|
51
|
+
#
|
|
52
|
+
# The short X.Y version.
|
|
53
|
+
# version = '3.3'
|
|
54
|
+
# The full version, including alpha/beta/rc tags.
|
|
55
|
+
version = release = "3.3.0"
|
|
56
|
+
|
|
57
|
+
# The language for content autogenerated by Sphinx. Refer to documentation
|
|
58
|
+
# for a list of supported languages.
|
|
59
|
+
#
|
|
60
|
+
# This is also used if you do content translation via gettext catalogs.
|
|
61
|
+
# Usually you set "language" from the command line for these cases.
|
|
62
|
+
language = "en"
|
|
63
|
+
|
|
64
|
+
# List of patterns, relative to source directory, that match files and
|
|
65
|
+
# directories to ignore when looking for source files.
|
|
66
|
+
# This patterns also effect to html_static_path and html_extra_path
|
|
67
|
+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
|
68
|
+
|
|
69
|
+
# AutoDoc configuration
|
|
70
|
+
autoclass_content = "class"
|
|
71
|
+
autodoc_default_options = {
|
|
72
|
+
"members": True,
|
|
73
|
+
"inherited-members": True,
|
|
74
|
+
"undoc-members": True,
|
|
75
|
+
"show-inheritance": True,
|
|
76
|
+
}
|
|
77
|
+
autosummary_generate = True
|
|
78
|
+
|
|
79
|
+
# GraphQL-core top level modules with submodules that can be omitted.
|
|
80
|
+
# Sometimes autodoc cannot find classes since it is looking for the
|
|
81
|
+
# qualified form, but the documentation has the shorter form.
|
|
82
|
+
# We need to give autodoc a little help in this cases.
|
|
83
|
+
graphql_modules = {
|
|
84
|
+
"error": ["graphql_error"],
|
|
85
|
+
"execution": ["execute", "middleware"],
|
|
86
|
+
"language": [
|
|
87
|
+
"ast",
|
|
88
|
+
"directive_locations",
|
|
89
|
+
"location",
|
|
90
|
+
"source",
|
|
91
|
+
"token_kind",
|
|
92
|
+
"visitor",
|
|
93
|
+
],
|
|
94
|
+
"pyutils": ["simple_pub_sub", "frozen_list", "path"],
|
|
95
|
+
"type": ["definition", "directives", "schema"],
|
|
96
|
+
"utilities": ["find_schema_changes", "type_info"],
|
|
97
|
+
"validation": ["rules", "validation_context"],
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
# be nitpicky
|
|
101
|
+
nitpicky = True
|
|
102
|
+
# but not too nitpicky
|
|
103
|
+
suppress_warnings = ["ref.attr", "ref.class", "ref.obj", "ref.python"]
|
|
104
|
+
|
|
105
|
+
# The name of the Pygments (syntax highlighting) style to use.
|
|
106
|
+
pygments_style = "sphinx"
|
|
107
|
+
|
|
108
|
+
# -- Options for HTML output ----------------------------------------------
|
|
109
|
+
|
|
110
|
+
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
111
|
+
# a list of builtin themes.
|
|
112
|
+
#
|
|
113
|
+
html_theme = "sphinx_rtd_theme"
|
|
114
|
+
|
|
115
|
+
# Theme options are theme-specific and customize the look and feel of a theme
|
|
116
|
+
# further. For a list of options available for each theme, see the
|
|
117
|
+
# documentation.
|
|
118
|
+
#
|
|
119
|
+
html_theme_options = {"navigation_depth": 5}
|
|
120
|
+
|
|
121
|
+
# If true, links to the reST sources are added to the pages.
|
|
122
|
+
#
|
|
123
|
+
html_show_sourcelink = False
|
|
124
|
+
|
|
125
|
+
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
|
126
|
+
#
|
|
127
|
+
# html_show_sphinx = True
|
|
128
|
+
|
|
129
|
+
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
|
130
|
+
#
|
|
131
|
+
# html_show_copyright = True
|
|
132
|
+
|
|
133
|
+
# Output file base name for HTML help builder.
|
|
134
|
+
htmlhelp_basename = "GraphQL-core-3-doc"
|
|
135
|
+
|
|
136
|
+
# -- Options for LaTeX output ---------------------------------------------
|
|
137
|
+
|
|
138
|
+
# Grouping the document tree into LaTeX files. List of tuples
|
|
139
|
+
# (source start file, target name, title,
|
|
140
|
+
# author, documentclass [howto, manual, or own class]).
|
|
141
|
+
latex_documents = [
|
|
142
|
+
(
|
|
143
|
+
master_doc,
|
|
144
|
+
"GraphQL-core-3.tex",
|
|
145
|
+
"GraphQL-core 3 Documentation",
|
|
146
|
+
"Christoph Zwerschke",
|
|
147
|
+
"manual",
|
|
148
|
+
),
|
|
149
|
+
]
|
|
150
|
+
|
|
151
|
+
# -- Options for manual page output ---------------------------------------
|
|
152
|
+
|
|
153
|
+
# One entry per manual page. List of tuples
|
|
154
|
+
# (source start file, name, description, authors, manual section).
|
|
155
|
+
man_pages = [(master_doc, "graphql-core", "GraphQL-core 3 Documentation", [author], 1)]
|
|
156
|
+
|
|
157
|
+
# If true, show URL addresses after external links.
|
|
158
|
+
#
|
|
159
|
+
# man_show_urls = False
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
# -- Options for Texinfo output -------------------------------------------
|
|
163
|
+
|
|
164
|
+
# Grouping the document tree into Texinfo files. List of tuples
|
|
165
|
+
# (source start file, target name, title, author,
|
|
166
|
+
# dir menu entry, description, category)
|
|
167
|
+
texinfo_documents = [
|
|
168
|
+
(
|
|
169
|
+
master_doc,
|
|
170
|
+
"GraphQL-core",
|
|
171
|
+
"GraphQL-core 3 Documentation",
|
|
172
|
+
author,
|
|
173
|
+
"GraphQL-core 3",
|
|
174
|
+
"One line description of project.",
|
|
175
|
+
"Miscellaneous",
|
|
176
|
+
),
|
|
177
|
+
]
|
|
@@ -71,10 +71,10 @@ Custom middleware
|
|
|
71
71
|
The :func:`execute` function takes an additional ``middleware`` argument which must be a sequence of middleware functions or a :class:`MiddlewareManager` object. This feature is used by Graphene to affect the evaluation of fields using custom middleware. There has been a `request <https://github.com/graphql/graphql-js/issues/1516>`_ to add this to GraphQL.js as well, but so far this feature only exists in GraphQL-core.
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
Custom
|
|
75
|
-
|
|
74
|
+
Custom executor
|
|
75
|
+
---------------
|
|
76
76
|
|
|
77
|
-
The :func:`execute` function takes an additional ``
|
|
77
|
+
The :func:`execute` function takes an additional ``executor_class`` argument which allows specifying a custom executor class instead of the default :class:`Executor` used by GraphQL-core.
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
.. currentmodule:: graphql
|
|
@@ -33,9 +33,9 @@ You can install GraphQL-core 3 using pip_::
|
|
|
33
33
|
|
|
34
34
|
pip install graphql-core
|
|
35
35
|
|
|
36
|
-
You can also install GraphQL-core 3 with
|
|
36
|
+
You can also install GraphQL-core 3 with uv_, if you prefer that::
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
uv pip install graphql-core
|
|
39
39
|
|
|
40
40
|
Now you can start using GraphQL-core 3 by importing from the top-level
|
|
41
41
|
:mod:`graphql` package. Nearly everything defined in the sub-packages
|
|
@@ -94,4 +94,4 @@ in the current development or want to report issues or send pull requests.
|
|
|
94
94
|
.. _Execution: https://facebook.github.io/graphql/draft/#sec-Execution
|
|
95
95
|
.. _Response: https://facebook.github.io/graphql/draft/#sec-Response
|
|
96
96
|
.. _pip: https://pip.pypa.io/
|
|
97
|
-
..
|
|
97
|
+
.. _uv: https://github.com/astral-sh/uv
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
@ECHO OFF
|
|
2
|
-
|
|
3
|
-
pushd %~dp0
|
|
4
|
-
|
|
5
|
-
REM Command file for Sphinx documentation
|
|
6
|
-
|
|
7
|
-
if "%SPHINXBUILD%" == "" (
|
|
8
|
-
set SPHINXBUILD=sphinx-build
|
|
9
|
-
)
|
|
10
|
-
set SOURCEDIR=.
|
|
11
|
-
set BUILDDIR=_build
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
echo.
|
|
18
|
-
echo.
|
|
19
|
-
echo.
|
|
20
|
-
echo.
|
|
21
|
-
echo.
|
|
22
|
-
echo.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
|
29
|
-
goto end
|
|
30
|
-
|
|
31
|
-
:help
|
|
32
|
-
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
|
33
|
-
|
|
34
|
-
:end
|
|
35
|
-
popd
|
|
1
|
+
@ECHO OFF
|
|
2
|
+
|
|
3
|
+
pushd %~dp0
|
|
4
|
+
|
|
5
|
+
REM Command file for Sphinx documentation
|
|
6
|
+
|
|
7
|
+
if "%SPHINXBUILD%" == "" (
|
|
8
|
+
set SPHINXBUILD=sphinx-build
|
|
9
|
+
)
|
|
10
|
+
set SOURCEDIR=.
|
|
11
|
+
set BUILDDIR=_build
|
|
12
|
+
|
|
13
|
+
%SPHINXBUILD% >NUL 2>NUL
|
|
14
|
+
if errorlevel 9009 (
|
|
15
|
+
echo.
|
|
16
|
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
|
17
|
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
|
18
|
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
|
19
|
+
echo.may add the Sphinx directory to PATH.
|
|
20
|
+
echo.
|
|
21
|
+
echo.If you don't have Sphinx installed, grab it from
|
|
22
|
+
echo.https://www.sphinx-doc.org/
|
|
23
|
+
exit /b 1
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
if "%1" == "" goto help
|
|
27
|
+
|
|
28
|
+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
|
29
|
+
goto end
|
|
30
|
+
|
|
31
|
+
:help
|
|
32
|
+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
|
33
|
+
|
|
34
|
+
:end
|
|
35
|
+
popd
|