strawberry-graphql 0.276.1__tar.gz → 0.277.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.
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/PKG-INFO +1 -1
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/pyproject.toml +2 -1
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/__init__.py +2 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/annotation.py +7 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/object_type.py +2 -2
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/directives.py +6 -2
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/mask_errors.py +23 -10
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/validation_cache.py +1 -1
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/__init__.py +22 -12
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/async_base_view.py +80 -4
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/printer/printer.py +10 -2
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/relay/types.py +1 -1
- strawberry_graphql-0.277.0/strawberry/schema/_graphql_core.py +55 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/config.py +1 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/schema.py +76 -40
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/static/graphiql.html +5 -5
- strawberry_graphql-0.277.0/strawberry/streamable.py +35 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/execution.py +9 -3
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/LICENSE +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/README.md +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/__main__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/aiohttp/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/aiohttp/test/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/aiohttp/test/client.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/aiohttp/views.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/asgi/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/asgi/test/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/asgi/test/client.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/chalice/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/chalice/views.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/handlers/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/handlers/base.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/handlers/http_handler.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/handlers/ws_handler.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/router.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/channels/testing.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/app.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/codegen.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/export_schema.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/locate_definition.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/schema_codegen.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/server.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/upgrade/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/constants.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/debug_server.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/utils/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/cli/utils/load_schema.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/exceptions.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/plugins/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/plugins/print_operation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/plugins/python.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/plugins/typescript.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/query_codegen.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codegen/types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codemods/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codemods/annotated_unions.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/codemods/update_imports.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/dataloader.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/directive.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/django/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/django/apps.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/django/context.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/django/test/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/django/test/client.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/django/views.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/conflicting_arguments.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/exception.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/exception_source.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/handler.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/invalid_superclass_interface.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/invalid_union_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/missing_dependencies.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/syntax.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/utils/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/exceptions/utils/source_finder.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/_compat.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/conversion.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/error_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/fields.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/experimental/pydantic/utils.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/LICENSE +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/dataclasses/LICENSE +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/dataclasses/README.md +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/dataclasses/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/ext/mypy_plugin.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/add_validation_rules.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/base_extension.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/context.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/disable_introspection.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/disable_validation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/field_extension.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/max_aliases.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/max_tokens.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/parser_cache.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/pyinstrument.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/query_depth_limiter.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/runner.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/tracing/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/tracing/apollo.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/tracing/datadog.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/tracing/utils.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/utils.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/fastapi/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/fastapi/context.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/fastapi/router.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/argument.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/enum.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/field.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/mutation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/object_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/scalar.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/schema.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/schema_directive.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/schema_directives.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/federation/union.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/field_extensions/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/field_extensions/input_mutation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/file_uploads/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/file_uploads/scalars.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/file_uploads/utils.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/flask/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/flask/views.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/base.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/exceptions.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/ides.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/parse_content_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/sync_base_view.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/temporal_response.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/typevars.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/litestar/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/litestar/controller.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/parent.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/permission.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/printer/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/printer/ast_from_value.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/py.typed +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/quart/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/quart/views.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/relay/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/relay/exceptions.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/relay/fields.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/relay/utils.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/resolvers.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/sanic/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/sanic/context.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/sanic/utils.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/sanic/views.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/scalars.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/base.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/compat.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/exceptions.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/name_converter.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/schema_converter.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/types/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/types/base_scalars.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/types/concrete_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/types/scalar.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/validation_rules/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema/validation_rules/one_of.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema_codegen/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema_directive.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/schema_directives.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/static/apollo-sandbox.html +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/static/pathfinder.html +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/test/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/test/client.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/tools/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/tools/create_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/tools/merge_types.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/arguments.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/auto.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/base.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/cast.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/enum.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/field.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/fields/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/fields/resolver.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/graphql.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/info.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/lazy_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/maybe.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/mutation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/nodes.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/object_type.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/private.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/scalar.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/type_resolver.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/union.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/types/unset.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/__init__.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/aio.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/await_maybe.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/dataclasses.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/debug.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/deprecations.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/graphql_lexer.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/importer.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/inspect.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/locate_definition.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/logging.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/operation.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/str_converters.py +0 -0
- {strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "strawberry-graphql"
|
3
|
-
version = "0.
|
3
|
+
version = "0.277.0"
|
4
4
|
description = "A library for creating GraphQL APIs"
|
5
5
|
authors = [{ name = "Patrick Arminio", email = "patrick.arminio@gmail.com" }]
|
6
6
|
license = { text = "MIT" }
|
@@ -327,6 +327,7 @@ ignore = [
|
|
327
327
|
"Q002",
|
328
328
|
"Q003",
|
329
329
|
"W191",
|
330
|
+
"PLR0915",
|
330
331
|
]
|
331
332
|
exclude = ["tests/python_312/*"] # SyntaxError because we support Python 3.9+
|
332
333
|
|
@@ -11,6 +11,7 @@ from .permission import BasePermission
|
|
11
11
|
from .scalars import ID
|
12
12
|
from .schema import Schema
|
13
13
|
from .schema_directive import schema_directive
|
14
|
+
from .streamable import Streamable
|
14
15
|
from .types.arguments import argument
|
15
16
|
from .types.auto import auto
|
16
17
|
from .types.cast import cast
|
@@ -37,6 +38,7 @@ __all__ = [
|
|
37
38
|
"Private",
|
38
39
|
"Schema",
|
39
40
|
"Some",
|
41
|
+
"Streamable",
|
40
42
|
"argument",
|
41
43
|
"asdict",
|
42
44
|
"auto",
|
@@ -17,6 +17,7 @@ from typing import (
|
|
17
17
|
)
|
18
18
|
from typing_extensions import Self, get_args, get_origin
|
19
19
|
|
20
|
+
from strawberry.streamable import StrawberryStreamable
|
20
21
|
from strawberry.types.base import (
|
21
22
|
StrawberryList,
|
22
23
|
StrawberryMaybe,
|
@@ -143,6 +144,8 @@ class StrawberryAnnotation:
|
|
143
144
|
|
144
145
|
if self._is_lazy_type(evaled_type):
|
145
146
|
return evaled_type
|
147
|
+
if self._is_streamable(evaled_type, args):
|
148
|
+
return self.create_list(list[evaled_type]) # type: ignore[valid-type]
|
146
149
|
if self._is_list(evaled_type):
|
147
150
|
return self.create_list(evaled_type)
|
148
151
|
if self._is_maybe(evaled_type):
|
@@ -332,6 +335,10 @@ class StrawberryAnnotation:
|
|
332
335
|
def _is_maybe(cls, annotation: Any) -> bool:
|
333
336
|
return _annotation_is_maybe(annotation)
|
334
337
|
|
338
|
+
@classmethod
|
339
|
+
def _is_streamable(cls, annotation: Any, args: list[Any]) -> bool:
|
340
|
+
return any(isinstance(arg, StrawberryStreamable) for arg in args)
|
341
|
+
|
335
342
|
@classmethod
|
336
343
|
def _is_strawberry_type(cls, evaled_type: Any) -> bool:
|
337
344
|
# Prevent import cycles
|
@@ -116,7 +116,7 @@ if TYPE_CHECKING:
|
|
116
116
|
)
|
117
117
|
|
118
118
|
|
119
|
-
def type(
|
119
|
+
def type(
|
120
120
|
model: builtins.type[PydanticModel],
|
121
121
|
*,
|
122
122
|
fields: Optional[list[str]] = None,
|
@@ -129,7 +129,7 @@ def type( # noqa: PLR0915
|
|
129
129
|
include_computed: bool = False,
|
130
130
|
use_pydantic_alias: bool = True,
|
131
131
|
) -> Callable[..., builtins.type[StrawberryTypeFromPydantic[PydanticModel]]]:
|
132
|
-
def wrap(cls: Any) -> builtins.type[StrawberryTypeFromPydantic[PydanticModel]]:
|
132
|
+
def wrap(cls: Any) -> builtins.type[StrawberryTypeFromPydantic[PydanticModel]]:
|
133
133
|
compat = PydanticCompat.from_model(model)
|
134
134
|
model_fields = compat.get_model_fields(model, include_computed=include_computed)
|
135
135
|
original_fields_set = set(fields) if fields else set()
|
{strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/directives.py
RENAMED
@@ -29,7 +29,9 @@ class DirectivesExtension(SchemaExtension):
|
|
29
29
|
) -> AwaitableOrValue[Any]:
|
30
30
|
value = await await_maybe(_next(root, info, *args, **kwargs))
|
31
31
|
|
32
|
-
|
32
|
+
nodes = list(info.field_nodes)
|
33
|
+
|
34
|
+
for directive in nodes[0].directives:
|
33
35
|
if directive.name.value in SPECIFIED_DIRECTIVES:
|
34
36
|
continue
|
35
37
|
strawberry_directive, arguments = process_directive(directive, value, info)
|
@@ -49,7 +51,9 @@ class DirectivesExtensionSync(SchemaExtension):
|
|
49
51
|
) -> AwaitableOrValue[Any]:
|
50
52
|
value = _next(root, info, *args, **kwargs)
|
51
53
|
|
52
|
-
|
54
|
+
nodes = list(info.field_nodes)
|
55
|
+
|
56
|
+
for directive in nodes[0].directives:
|
53
57
|
if directive.name.value in SPECIFIED_DIRECTIVES:
|
54
58
|
continue
|
55
59
|
strawberry_directive, arguments = process_directive(directive, value, info)
|
{strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/extensions/mask_errors.py
RENAMED
@@ -1,7 +1,8 @@
|
|
1
1
|
from collections.abc import Iterator
|
2
|
-
from typing import Callable
|
2
|
+
from typing import Any, Callable
|
3
3
|
|
4
4
|
from graphql.error import GraphQLError
|
5
|
+
from graphql.execution import ExecutionResult
|
5
6
|
|
6
7
|
from strawberry.extensions.base_extension import SchemaExtension
|
7
8
|
|
@@ -33,18 +34,30 @@ class MaskErrors(SchemaExtension):
|
|
33
34
|
original_error=None,
|
34
35
|
)
|
35
36
|
|
37
|
+
# TODO: proper typing
|
38
|
+
def _process_result(self, result: Any) -> None:
|
39
|
+
if not result.errors:
|
40
|
+
return
|
41
|
+
|
42
|
+
processed_errors: list[GraphQLError] = []
|
43
|
+
|
44
|
+
for error in result.errors:
|
45
|
+
if self.should_mask_error(error):
|
46
|
+
processed_errors.append(self.anonymise_error(error))
|
47
|
+
else:
|
48
|
+
processed_errors.append(error)
|
49
|
+
|
50
|
+
result.errors = processed_errors
|
51
|
+
|
36
52
|
def on_operation(self) -> Iterator[None]:
|
37
53
|
yield
|
54
|
+
|
38
55
|
result = self.execution_context.result
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
else:
|
45
|
-
processed_errors.append(error)
|
46
|
-
|
47
|
-
result.errors = processed_errors
|
56
|
+
|
57
|
+
if isinstance(result, ExecutionResult):
|
58
|
+
self._process_result(result)
|
59
|
+
elif result:
|
60
|
+
self._process_result(result.initial_result)
|
48
61
|
|
49
62
|
|
50
63
|
__all__ = ["MaskErrors"]
|
@@ -1,26 +1,36 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
from dataclasses import dataclass
|
4
|
-
from typing import
|
4
|
+
from typing import Any, Optional
|
5
5
|
from typing_extensions import Literal, TypedDict
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
from strawberry.schema._graphql_core import (
|
8
|
+
GraphQLIncrementalExecutionResults,
|
9
|
+
ResultType,
|
10
|
+
)
|
9
11
|
|
10
12
|
|
11
13
|
class GraphQLHTTPResponse(TypedDict, total=False):
|
12
14
|
data: Optional[dict[str, object]]
|
13
15
|
errors: Optional[list[object]]
|
14
16
|
extensions: Optional[dict[str, object]]
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
hasNext: Optional[bool]
|
18
|
+
completed: Optional[list[Any]]
|
19
|
+
pending: Optional[list[Any]]
|
20
|
+
initial: Optional[list[Any]]
|
21
|
+
incremental: Optional[list[Any]]
|
22
|
+
|
23
|
+
|
24
|
+
def process_result(result: ResultType) -> GraphQLHTTPResponse:
|
25
|
+
if isinstance(result, GraphQLIncrementalExecutionResults):
|
26
|
+
return result
|
27
|
+
|
28
|
+
errors, extensions = result.errors, result.extensions
|
29
|
+
data: GraphQLHTTPResponse = {
|
30
|
+
"data": result.data,
|
31
|
+
**({"errors": [err.formatted for err in errors]} if errors else {}),
|
32
|
+
**({"extensions": extensions} if extensions else {}),
|
33
|
+
}
|
24
34
|
|
25
35
|
return data
|
26
36
|
|
{strawberry_graphql-0.276.1 → strawberry_graphql-0.277.0}/strawberry/http/async_base_view.py
RENAMED
@@ -25,6 +25,9 @@ from strawberry.http import (
|
|
25
25
|
process_result,
|
26
26
|
)
|
27
27
|
from strawberry.http.ides import GraphQL_IDE
|
28
|
+
from strawberry.schema._graphql_core import (
|
29
|
+
GraphQLIncrementalExecutionResults,
|
30
|
+
)
|
28
31
|
from strawberry.schema.base import BaseSchema
|
29
32
|
from strawberry.schema.exceptions import (
|
30
33
|
CannotGetOperationTypeError,
|
@@ -352,6 +355,75 @@ class AsyncBaseHTTPView(
|
|
352
355
|
"Content-Type": "multipart/mixed;boundary=graphql;subscriptionSpec=1.0,application/json",
|
353
356
|
},
|
354
357
|
)
|
358
|
+
if isinstance(result, GraphQLIncrementalExecutionResults):
|
359
|
+
|
360
|
+
async def stream() -> AsyncGenerator[str, None]:
|
361
|
+
yield "---"
|
362
|
+
|
363
|
+
response = await self.process_result(request, result.initial_result)
|
364
|
+
|
365
|
+
response["hasNext"] = result.initial_result.has_next
|
366
|
+
response["pending"] = [
|
367
|
+
p.formatted for p in result.initial_result.pending
|
368
|
+
]
|
369
|
+
response["extensions"] = result.initial_result.extensions
|
370
|
+
|
371
|
+
yield self.encode_multipart_data(response, "-")
|
372
|
+
|
373
|
+
all_pending = result.initial_result.pending
|
374
|
+
|
375
|
+
async for value in result.subsequent_results:
|
376
|
+
response = {
|
377
|
+
"hasNext": value.has_next,
|
378
|
+
"extensions": value.extensions,
|
379
|
+
}
|
380
|
+
|
381
|
+
if value.pending:
|
382
|
+
response["pending"] = [p.formatted for p in value.pending]
|
383
|
+
|
384
|
+
if value.completed:
|
385
|
+
response["completed"] = [p.formatted for p in value.completed]
|
386
|
+
|
387
|
+
if value.incremental:
|
388
|
+
incremental = []
|
389
|
+
|
390
|
+
all_pending.extend(value.pending)
|
391
|
+
|
392
|
+
for incremental_value in value.incremental:
|
393
|
+
pending_value = next(
|
394
|
+
(
|
395
|
+
v
|
396
|
+
for v in all_pending
|
397
|
+
if v.id == incremental_value.id
|
398
|
+
),
|
399
|
+
None,
|
400
|
+
)
|
401
|
+
|
402
|
+
assert pending_value
|
403
|
+
|
404
|
+
incremental.append(
|
405
|
+
{
|
406
|
+
**incremental_value.formatted,
|
407
|
+
"path": pending_value.path,
|
408
|
+
"label": pending_value.label,
|
409
|
+
}
|
410
|
+
)
|
411
|
+
|
412
|
+
response["incremental"] = incremental
|
413
|
+
|
414
|
+
yield self.encode_multipart_data(response, "-")
|
415
|
+
|
416
|
+
yield "--\r\n"
|
417
|
+
|
418
|
+
return await self.create_streaming_response(
|
419
|
+
request,
|
420
|
+
stream,
|
421
|
+
sub_response,
|
422
|
+
headers={
|
423
|
+
"Transfer-Encoding": "chunked",
|
424
|
+
"Content-Type": 'multipart/mixed; boundary="-"',
|
425
|
+
},
|
426
|
+
)
|
355
427
|
|
356
428
|
response_data = await self.process_result(request=request, result=result)
|
357
429
|
|
@@ -363,12 +435,16 @@ class AsyncBaseHTTPView(
|
|
363
435
|
)
|
364
436
|
|
365
437
|
def encode_multipart_data(self, data: Any, separator: str) -> str:
|
438
|
+
encoded_data = self.encode_json(data)
|
439
|
+
|
366
440
|
return "".join(
|
367
441
|
[
|
368
|
-
|
369
|
-
"Content-Type: application/json\r\n
|
370
|
-
|
371
|
-
"\n",
|
442
|
+
"\r\n",
|
443
|
+
"Content-Type: application/json; charset=utf-8\r\n",
|
444
|
+
"Content-Length: " + str(len(encoded_data)) + "\r\n",
|
445
|
+
"\r\n",
|
446
|
+
encoded_data,
|
447
|
+
f"\r\n--{separator}",
|
372
448
|
]
|
373
449
|
)
|
374
450
|
|
@@ -561,9 +561,9 @@ def print_schema_definition(
|
|
561
561
|
def print_directive(
|
562
562
|
directive: GraphQLDirective, *, schema: BaseSchema
|
563
563
|
) -> Optional[str]:
|
564
|
-
strawberry_directive = directive.extensions
|
564
|
+
strawberry_directive = directive.extensions.get("strawberry-definition")
|
565
565
|
|
566
|
-
if (
|
566
|
+
if strawberry_directive is None or (
|
567
567
|
isinstance(strawberry_directive, StrawberrySchemaDirective)
|
568
568
|
and not strawberry_directive.print_definition
|
569
569
|
):
|
@@ -621,6 +621,14 @@ def print_schema(schema: BaseSchema) -> str:
|
|
621
621
|
if (printed_directive := print_directive(directive, schema=schema)) is not None
|
622
622
|
]
|
623
623
|
|
624
|
+
if schema.config.enable_experimental_incremental_execution:
|
625
|
+
directives.append(
|
626
|
+
"directive @defer(if: Boolean, label: String) on FRAGMENT_SPREAD | INLINE_FRAGMENT"
|
627
|
+
)
|
628
|
+
directives.append(
|
629
|
+
"directive @stream(if: Boolean, label: String, initialCount: Int = 0) on FIELD"
|
630
|
+
)
|
631
|
+
|
624
632
|
def _name_getter(type_: Any) -> str:
|
625
633
|
if hasattr(type_, "name"):
|
626
634
|
return type_.name
|
@@ -0,0 +1,55 @@
|
|
1
|
+
from typing import Union
|
2
|
+
|
3
|
+
from graphql.execution import ExecutionContext as GraphQLExecutionContext
|
4
|
+
from graphql.execution import ExecutionResult as OriginalGraphQLExecutionResult
|
5
|
+
from graphql.execution import execute, subscribe
|
6
|
+
|
7
|
+
from strawberry.types import ExecutionResult
|
8
|
+
|
9
|
+
try:
|
10
|
+
from graphql import ( # type: ignore[attr-defined]
|
11
|
+
ExperimentalIncrementalExecutionResults as GraphQLIncrementalExecutionResults,
|
12
|
+
)
|
13
|
+
from graphql.execution import ( # type: ignore[attr-defined]
|
14
|
+
InitialIncrementalExecutionResult,
|
15
|
+
experimental_execute_incrementally,
|
16
|
+
)
|
17
|
+
from graphql.type.directives import ( # type: ignore[attr-defined]
|
18
|
+
GraphQLDeferDirective,
|
19
|
+
GraphQLStreamDirective,
|
20
|
+
)
|
21
|
+
|
22
|
+
incremental_execution_directives = (
|
23
|
+
GraphQLDeferDirective,
|
24
|
+
GraphQLStreamDirective,
|
25
|
+
)
|
26
|
+
|
27
|
+
GraphQLExecutionResult = Union[
|
28
|
+
OriginalGraphQLExecutionResult, InitialIncrementalExecutionResult
|
29
|
+
]
|
30
|
+
|
31
|
+
except ImportError:
|
32
|
+
GraphQLIncrementalExecutionResults = type(None)
|
33
|
+
GraphQLExecutionResult = OriginalGraphQLExecutionResult # type: ignore
|
34
|
+
|
35
|
+
incremental_execution_directives = () # type: ignore
|
36
|
+
experimental_execute_incrementally = None
|
37
|
+
|
38
|
+
|
39
|
+
# TODO: give this a better name, maybe also a better place
|
40
|
+
ResultType = Union[
|
41
|
+
OriginalGraphQLExecutionResult,
|
42
|
+
GraphQLIncrementalExecutionResults,
|
43
|
+
ExecutionResult,
|
44
|
+
]
|
45
|
+
|
46
|
+
__all__ = [
|
47
|
+
"GraphQLExecutionContext",
|
48
|
+
"GraphQLExecutionResult",
|
49
|
+
"GraphQLIncrementalExecutionResults",
|
50
|
+
"ResultType",
|
51
|
+
"execute",
|
52
|
+
"experimental_execute_incrementally",
|
53
|
+
"incremental_execution_directives",
|
54
|
+
"subscribe",
|
55
|
+
]
|
@@ -17,6 +17,7 @@ class StrawberryConfig:
|
|
17
17
|
relay_use_legacy_global_id: bool = False
|
18
18
|
disable_field_suggestions: bool = False
|
19
19
|
info_class: type[Info] = Info
|
20
|
+
enable_experimental_incremental_execution: bool = False
|
20
21
|
_unsafe_disable_same_type_validation: bool = False
|
21
22
|
|
22
23
|
def __post_init__(
|