strawberry-graphql 0.276.0.dev1750672223__tar.gz → 0.276.1__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.0.dev1750672223 → strawberry_graphql-0.276.1}/PKG-INFO +1 -1
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/pyproject.toml +7 -2
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/__init__.py +0 -2
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/annotation.py +0 -7
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/__init__.py +6 -6
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/__init__.py +9 -14
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/async_base_view.py +31 -88
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/sync_base_view.py +24 -5
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/printer/printer.py +2 -10
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/relay/fields.py +5 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/config.py +0 -1
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/name_converter.py +3 -2
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/schema.py +7 -47
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/schema_converter.py +62 -36
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/static/graphiql.html +5 -5
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +1 -1
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +1 -1
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/arguments.py +51 -6
- strawberry_graphql-0.276.0.dev1750672223/strawberry/schema/_graphql_core.py +0 -46
- strawberry_graphql-0.276.0.dev1750672223/strawberry/streamable.py +0 -36
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/LICENSE +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/README.md +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/__main__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/aiohttp/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/aiohttp/test/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/aiohttp/test/client.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/aiohttp/views.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/asgi/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/asgi/test/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/asgi/test/client.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/chalice/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/chalice/views.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/handlers/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/handlers/base.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/handlers/http_handler.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/handlers/ws_handler.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/router.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/channels/testing.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/app.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/codegen.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/export_schema.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/locate_definition.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/schema_codegen.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/server.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/upgrade/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/constants.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/debug_server.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/utils/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/utils/load_schema.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/exceptions.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/plugins/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/plugins/print_operation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/plugins/python.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/plugins/typescript.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/query_codegen.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codegen/types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codemods/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codemods/annotated_unions.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/codemods/update_imports.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/dataloader.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/directive.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/django/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/django/apps.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/django/context.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/django/test/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/django/test/client.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/django/views.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/conflicting_arguments.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/duplicated_type_name.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/exception.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/exception_source.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/handler.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/invalid_argument_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/invalid_superclass_interface.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/invalid_union_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/missing_dependencies.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/missing_field_annotation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/missing_return_annotation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/object_is_not_a_class.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/private_strawberry_field.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/scalar_already_registered.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/syntax.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/unresolved_field_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/utils/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/exceptions/utils/source_finder.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/_compat.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/conversion.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/conversion_types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/error_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/exceptions.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/fields.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/object_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/experimental/pydantic/utils.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/LICENSE +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/dataclasses/LICENSE +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/dataclasses/README.md +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/dataclasses/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/dataclasses/dataclasses.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/ext/mypy_plugin.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/add_validation_rules.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/base_extension.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/context.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/directives.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/disable_introspection.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/disable_validation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/field_extension.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/mask_errors.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/max_aliases.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/max_tokens.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/parser_cache.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/pyinstrument.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/query_depth_limiter.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/runner.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/tracing/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/tracing/apollo.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/tracing/datadog.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/tracing/opentelemetry.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/tracing/utils.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/utils.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/extensions/validation_cache.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/fastapi/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/fastapi/context.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/fastapi/router.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/argument.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/enum.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/field.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/mutation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/object_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/scalar.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/schema.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/schema_directive.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/schema_directives.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/federation/union.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/field_extensions/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/field_extensions/input_mutation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/file_uploads/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/file_uploads/scalars.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/file_uploads/utils.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/flask/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/flask/views.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/base.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/exceptions.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/ides.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/parse_content_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/temporal_response.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/typevars.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/litestar/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/litestar/controller.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/parent.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/permission.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/printer/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/printer/ast_from_value.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/py.typed +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/quart/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/quart/views.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/relay/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/relay/exceptions.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/relay/types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/relay/utils.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/resolvers.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/sanic/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/sanic/context.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/sanic/utils.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/sanic/views.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/scalars.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/base.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/compat.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/exceptions.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/types/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/types/base_scalars.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/types/concrete_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/types/scalar.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/validation_rules/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/validation_rules/one_of.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema_codegen/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema_directive.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema_directives.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/static/apollo-sandbox.html +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/static/pathfinder.html +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/test/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/test/client.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/tools/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/tools/create_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/tools/merge_types.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/auto.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/base.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/cast.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/enum.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/execution.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/field.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/fields/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/fields/resolver.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/graphql.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/info.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/lazy_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/maybe.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/mutation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/nodes.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/object_type.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/private.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/scalar.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/type_resolver.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/union.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/types/unset.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/__init__.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/aio.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/await_maybe.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/dataclasses.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/debug.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/deprecations.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/graphql_lexer.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/importer.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/inspect.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/locate_definition.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/logging.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/operation.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/str_converters.py +0 -0
- {strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "strawberry-graphql"
|
3
|
-
version = "0.276.
|
3
|
+
version = "0.276.1"
|
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" }
|
@@ -67,7 +67,7 @@ packages = [{ include = "strawberry" }]
|
|
67
67
|
include = ["strawberry/py.typed"]
|
68
68
|
|
69
69
|
[tool.poetry.group.dev.dependencies]
|
70
|
-
ruff = "^0.
|
70
|
+
ruff = "^0.12.3"
|
71
71
|
asgiref = "^3.2"
|
72
72
|
email-validator = { version = ">=1.1.3,<3.0.0", optional = false }
|
73
73
|
freezegun = "^1.2.1"
|
@@ -220,6 +220,7 @@ ignore = [
|
|
220
220
|
# after we drop support for Python 3.9
|
221
221
|
"UP006",
|
222
222
|
"UP007",
|
223
|
+
"UP045",
|
223
224
|
|
224
225
|
# we use asserts in tests and to hint mypy
|
225
226
|
"S101",
|
@@ -308,6 +309,9 @@ ignore = [
|
|
308
309
|
# Don't force if branches to be converted to "or"
|
309
310
|
"SIM114",
|
310
311
|
|
312
|
+
# Allow imports inside functions
|
313
|
+
"PLC0415",
|
314
|
+
|
311
315
|
# ruff formatter recommends to disable those, as they conflict with it
|
312
316
|
# we don't need to ever enable those.
|
313
317
|
"COM812",
|
@@ -324,6 +328,7 @@ ignore = [
|
|
324
328
|
"Q003",
|
325
329
|
"W191",
|
326
330
|
]
|
331
|
+
exclude = ["tests/python_312/*"] # SyntaxError because we support Python 3.9+
|
327
332
|
|
328
333
|
[tool.ruff.lint.per-file-ignores]
|
329
334
|
".github/*" = ["INP001"]
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/__init__.py
RENAMED
@@ -11,7 +11,6 @@ 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
|
15
14
|
from .types.arguments import argument
|
16
15
|
from .types.auto import auto
|
17
16
|
from .types.cast import cast
|
@@ -38,7 +37,6 @@ __all__ = [
|
|
38
37
|
"Private",
|
39
38
|
"Schema",
|
40
39
|
"Some",
|
41
|
-
"Streamable",
|
42
40
|
"argument",
|
43
41
|
"asdict",
|
44
42
|
"auto",
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/annotation.py
RENAMED
@@ -17,7 +17,6 @@ from typing import (
|
|
17
17
|
)
|
18
18
|
from typing_extensions import Self, get_args, get_origin
|
19
19
|
|
20
|
-
from strawberry.streamable import StrawberryStreamable
|
21
20
|
from strawberry.types.base import (
|
22
21
|
StrawberryList,
|
23
22
|
StrawberryMaybe,
|
@@ -144,8 +143,6 @@ class StrawberryAnnotation:
|
|
144
143
|
|
145
144
|
if self._is_lazy_type(evaled_type):
|
146
145
|
return evaled_type
|
147
|
-
if self._is_streamable(evaled_type, args):
|
148
|
-
return self.create_list(list[evaled_type])
|
149
146
|
if self._is_list(evaled_type):
|
150
147
|
return self.create_list(evaled_type)
|
151
148
|
if self._is_maybe(evaled_type):
|
@@ -335,10 +332,6 @@ class StrawberryAnnotation:
|
|
335
332
|
def _is_maybe(cls, annotation: Any) -> bool:
|
336
333
|
return _annotation_is_maybe(annotation)
|
337
334
|
|
338
|
-
@classmethod
|
339
|
-
def _is_streamable(cls, annotation: Any, args: list[Any]) -> bool:
|
340
|
-
return any(isinstance(arg, StrawberryStreamable) for arg in args)
|
341
|
-
|
342
335
|
@classmethod
|
343
336
|
def _is_strawberry_type(cls, evaled_type: Any) -> bool:
|
344
337
|
# Prevent import cycles
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/cli/__init__.py
RENAMED
@@ -1,15 +1,15 @@
|
|
1
1
|
try:
|
2
2
|
from .app import app
|
3
|
-
from .commands.codegen import codegen as codegen
|
4
|
-
from .commands.export_schema import export_schema as export_schema
|
3
|
+
from .commands.codegen import codegen as codegen
|
4
|
+
from .commands.export_schema import export_schema as export_schema
|
5
5
|
from .commands.locate_definition import (
|
6
|
-
locate_definition as locate_definition,
|
6
|
+
locate_definition as locate_definition,
|
7
7
|
)
|
8
8
|
from .commands.schema_codegen import (
|
9
|
-
schema_codegen as schema_codegen,
|
9
|
+
schema_codegen as schema_codegen,
|
10
10
|
)
|
11
|
-
from .commands.server import server as server
|
12
|
-
from .commands.upgrade import upgrade as upgrade
|
11
|
+
from .commands.server import server as server
|
12
|
+
from .commands.upgrade import upgrade as upgrade
|
13
13
|
|
14
14
|
def run() -> None:
|
15
15
|
app()
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/http/__init__.py
RENAMED
@@ -1,13 +1,11 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
from dataclasses import dataclass
|
4
|
-
from typing import Any, Optional
|
4
|
+
from typing import TYPE_CHECKING, Any, Optional
|
5
5
|
from typing_extensions import Literal, TypedDict
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
ResultType,
|
10
|
-
)
|
7
|
+
if TYPE_CHECKING:
|
8
|
+
from strawberry.types import ExecutionResult
|
11
9
|
|
12
10
|
|
13
11
|
class GraphQLHTTPResponse(TypedDict, total=False):
|
@@ -16,16 +14,13 @@ class GraphQLHTTPResponse(TypedDict, total=False):
|
|
16
14
|
extensions: Optional[dict[str, object]]
|
17
15
|
|
18
16
|
|
19
|
-
def process_result(result:
|
20
|
-
|
21
|
-
return result
|
17
|
+
def process_result(result: ExecutionResult) -> GraphQLHTTPResponse:
|
18
|
+
data: GraphQLHTTPResponse = {"data": result.data}
|
22
19
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
**({"extensions": extensions} if extensions else {}),
|
28
|
-
}
|
20
|
+
if result.errors:
|
21
|
+
data["errors"] = [err.formatted for err in result.errors]
|
22
|
+
if result.extensions:
|
23
|
+
data["extensions"] = result.extensions
|
29
24
|
|
30
25
|
return data
|
31
26
|
|
@@ -25,9 +25,6 @@ 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
|
-
)
|
31
28
|
from strawberry.schema.base import BaseSchema
|
32
29
|
from strawberry.schema.exceptions import (
|
33
30
|
CannotGetOperationTypeError,
|
@@ -201,8 +198,6 @@ class AsyncBaseHTTPView(
|
|
201
198
|
if not self.allow_queries_via_get and request_adapter.method == "GET":
|
202
199
|
allowed_operation_types = allowed_operation_types - {OperationType.QUERY}
|
203
200
|
|
204
|
-
assert self.schema
|
205
|
-
|
206
201
|
if request_data.protocol == "multipart-subscription":
|
207
202
|
return await self.schema.subscribe(
|
208
203
|
request_data.query, # type: ignore
|
@@ -266,7 +261,7 @@ class AsyncBaseHTTPView(
|
|
266
261
|
root_value: Optional[RootValue] = UNSET,
|
267
262
|
) -> WebSocketResponse: ...
|
268
263
|
|
269
|
-
async def run(
|
264
|
+
async def run(
|
270
265
|
self,
|
271
266
|
request: Union[Request, WebSocketRequest],
|
272
267
|
context: Context = UNSET,
|
@@ -294,7 +289,7 @@ class AsyncBaseHTTPView(
|
|
294
289
|
view=self,
|
295
290
|
websocket=websocket,
|
296
291
|
context=context,
|
297
|
-
root_value=root_value,
|
292
|
+
root_value=root_value,
|
298
293
|
schema=self.schema,
|
299
294
|
debug=self.debug,
|
300
295
|
connection_init_wait_timeout=self.connection_init_wait_timeout,
|
@@ -304,7 +299,7 @@ class AsyncBaseHTTPView(
|
|
304
299
|
view=self,
|
305
300
|
websocket=websocket,
|
306
301
|
context=context,
|
307
|
-
root_value=root_value,
|
302
|
+
root_value=root_value,
|
308
303
|
schema=self.schema,
|
309
304
|
debug=self.debug,
|
310
305
|
keep_alive=self.keep_alive,
|
@@ -357,75 +352,6 @@ class AsyncBaseHTTPView(
|
|
357
352
|
"Content-Type": "multipart/mixed;boundary=graphql;subscriptionSpec=1.0,application/json",
|
358
353
|
},
|
359
354
|
)
|
360
|
-
if isinstance(result, GraphQLIncrementalExecutionResults):
|
361
|
-
|
362
|
-
async def stream() -> AsyncGenerator[str, None]:
|
363
|
-
yield "---"
|
364
|
-
|
365
|
-
response = await self.process_result(request, result.initial_result)
|
366
|
-
|
367
|
-
response["hasNext"] = result.initial_result.has_next
|
368
|
-
response["pending"] = [
|
369
|
-
p.formatted for p in result.initial_result.pending
|
370
|
-
]
|
371
|
-
response["extensions"] = result.initial_result.extensions
|
372
|
-
|
373
|
-
yield self.encode_multipart_data(response, "-")
|
374
|
-
|
375
|
-
all_pending = result.initial_result.pending
|
376
|
-
|
377
|
-
async for value in result.subsequent_results:
|
378
|
-
response = {
|
379
|
-
"hasNext": value.has_next,
|
380
|
-
"extensions": value.extensions,
|
381
|
-
}
|
382
|
-
|
383
|
-
if value.pending:
|
384
|
-
response["pending"] = [p.formatted for p in value.pending]
|
385
|
-
|
386
|
-
if value.completed:
|
387
|
-
response["completed"] = [p.formatted for p in value.completed]
|
388
|
-
|
389
|
-
if value.incremental:
|
390
|
-
incremental = []
|
391
|
-
|
392
|
-
all_pending.extend(value.pending)
|
393
|
-
|
394
|
-
for incremental_value in value.incremental:
|
395
|
-
pending_value = next(
|
396
|
-
(
|
397
|
-
v
|
398
|
-
for v in all_pending
|
399
|
-
if v.id == incremental_value.id
|
400
|
-
),
|
401
|
-
None,
|
402
|
-
)
|
403
|
-
|
404
|
-
assert pending_value
|
405
|
-
|
406
|
-
incremental.append(
|
407
|
-
{
|
408
|
-
**incremental_value.formatted,
|
409
|
-
"path": pending_value.path,
|
410
|
-
"label": pending_value.label,
|
411
|
-
}
|
412
|
-
)
|
413
|
-
|
414
|
-
response["incremental"] = incremental
|
415
|
-
|
416
|
-
yield self.encode_multipart_data(response, "-")
|
417
|
-
|
418
|
-
yield "--\r\n"
|
419
|
-
|
420
|
-
return await self.create_streaming_response(
|
421
|
-
request,
|
422
|
-
stream,
|
423
|
-
sub_response,
|
424
|
-
headers={
|
425
|
-
"Transfer-Encoding": "chunked",
|
426
|
-
"Content-Type": 'multipart/mixed; boundary="-"',
|
427
|
-
},
|
428
|
-
)
|
429
355
|
|
430
356
|
response_data = await self.process_result(request=request, result=result)
|
431
357
|
|
@@ -437,16 +363,12 @@ class AsyncBaseHTTPView(
|
|
437
363
|
)
|
438
364
|
|
439
365
|
def encode_multipart_data(self, data: Any, separator: str) -> str:
|
440
|
-
encoded_data = self.encode_json(data)
|
441
|
-
|
442
366
|
return "".join(
|
443
367
|
[
|
444
|
-
"\r\n",
|
445
|
-
"Content-Type: application/json
|
446
|
-
|
447
|
-
"\
|
448
|
-
encoded_data,
|
449
|
-
f"\r\n--{separator}",
|
368
|
+
f"\r\n--{separator}\r\n",
|
369
|
+
"Content-Type: application/json\r\n\r\n",
|
370
|
+
self.encode_json(data),
|
371
|
+
"\n",
|
450
372
|
]
|
451
373
|
)
|
452
374
|
|
@@ -605,11 +527,32 @@ class AsyncBaseHTTPView(
|
|
605
527
|
else:
|
606
528
|
raise HTTPException(400, "Unsupported content type")
|
607
529
|
|
530
|
+
query = data.get("query")
|
531
|
+
if not isinstance(query, (str, type(None))):
|
532
|
+
raise HTTPException(
|
533
|
+
400,
|
534
|
+
"The GraphQL operation's `query` must be a string or null, if provided.",
|
535
|
+
)
|
536
|
+
|
537
|
+
variables = data.get("variables")
|
538
|
+
if not isinstance(variables, (dict, type(None))):
|
539
|
+
raise HTTPException(
|
540
|
+
400,
|
541
|
+
"The GraphQL operation's `variables` must be an object or null, if provided.",
|
542
|
+
)
|
543
|
+
|
544
|
+
extensions = data.get("extensions")
|
545
|
+
if not isinstance(extensions, (dict, type(None))):
|
546
|
+
raise HTTPException(
|
547
|
+
400,
|
548
|
+
"The GraphQL operation's `extensions` must be an object or null, if provided.",
|
549
|
+
)
|
550
|
+
|
608
551
|
return GraphQLRequestData(
|
609
|
-
query=
|
610
|
-
variables=
|
552
|
+
query=query,
|
553
|
+
variables=variables,
|
611
554
|
operation_name=data.get("operationName"),
|
612
|
-
extensions=
|
555
|
+
extensions=extensions,
|
613
556
|
protocol=protocol,
|
614
557
|
)
|
615
558
|
|
@@ -116,8 +116,6 @@ class SyncBaseHTTPView(
|
|
116
116
|
if not self.allow_queries_via_get and request_adapter.method == "GET":
|
117
117
|
allowed_operation_types = allowed_operation_types - {OperationType.QUERY}
|
118
118
|
|
119
|
-
assert self.schema
|
120
|
-
|
121
119
|
return self.schema.execute_sync(
|
122
120
|
request_data.query,
|
123
121
|
root_value=root_value,
|
@@ -154,11 +152,32 @@ class SyncBaseHTTPView(
|
|
154
152
|
else:
|
155
153
|
raise HTTPException(400, "Unsupported content type")
|
156
154
|
|
155
|
+
query = data.get("query")
|
156
|
+
if not isinstance(query, (str, type(None))):
|
157
|
+
raise HTTPException(
|
158
|
+
400,
|
159
|
+
"The GraphQL operation's `query` must be a string or null, if provided.",
|
160
|
+
)
|
161
|
+
|
162
|
+
variables = data.get("variables")
|
163
|
+
if not isinstance(variables, (dict, type(None))):
|
164
|
+
raise HTTPException(
|
165
|
+
400,
|
166
|
+
"The GraphQL operation's `variables` must be an object or null, if provided.",
|
167
|
+
)
|
168
|
+
|
169
|
+
extensions = data.get("extensions")
|
170
|
+
if not isinstance(extensions, (dict, type(None))):
|
171
|
+
raise HTTPException(
|
172
|
+
400,
|
173
|
+
"The GraphQL operation's `extensions` must be an object or null, if provided.",
|
174
|
+
)
|
175
|
+
|
157
176
|
return GraphQLRequestData(
|
158
|
-
query=
|
159
|
-
variables=
|
177
|
+
query=query,
|
178
|
+
variables=variables,
|
160
179
|
operation_name=data.get("operationName"),
|
161
|
-
extensions=
|
180
|
+
extensions=extensions,
|
162
181
|
)
|
163
182
|
|
164
183
|
def _handle_errors(
|
@@ -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["strawberry-definition"]
|
565
565
|
|
566
|
-
if
|
566
|
+
if (
|
567
567
|
isinstance(strawberry_directive, StrawberrySchemaDirective)
|
568
568
|
and not strawberry_directive.print_definition
|
569
569
|
):
|
@@ -621,14 +621,6 @@ 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
|
-
|
632
624
|
def _name_getter(type_: Any) -> str:
|
633
625
|
if hasattr(type_, "name"):
|
634
626
|
return type_.name
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/relay/fields.py
RENAMED
@@ -261,7 +261,12 @@ class ConnectionExtension(FieldExtension):
|
|
261
261
|
if isinstance(f_type, StrawberryOptional):
|
262
262
|
f_type = f_type.of_type
|
263
263
|
|
264
|
+
if isinstance(f_type, LazyType):
|
265
|
+
f_type = f_type.resolve_type()
|
266
|
+
|
264
267
|
type_origin = get_origin(f_type) if is_generic_alias(f_type) else f_type
|
268
|
+
if isinstance(type_origin, LazyType):
|
269
|
+
type_origin = type_origin.resolve_type()
|
265
270
|
|
266
271
|
if not isinstance(type_origin, type) or not issubclass(type_origin, Connection):
|
267
272
|
raise RelayWrongAnnotationError(field.name, cast("type", field.origin))
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/config.py
RENAMED
@@ -17,7 +17,6 @@ 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
|
21
20
|
_unsafe_disable_same_type_validation: bool = False
|
22
21
|
|
23
22
|
def __post_init__(
|
@@ -150,8 +150,9 @@ class NameConverter:
|
|
150
150
|
type_ = eval_type(type_)
|
151
151
|
|
152
152
|
if isinstance(type_, LazyType):
|
153
|
-
|
154
|
-
|
153
|
+
type_ = type_.resolve_type()
|
154
|
+
|
155
|
+
if isinstance(type_, EnumDefinition):
|
155
156
|
name = type_.name
|
156
157
|
elif isinstance(type_, StrawberryUnion):
|
157
158
|
name = type_.graphql_name if type_.graphql_name else self.from_union(type_)
|
{strawberry_graphql-0.276.0.dev1750672223 → strawberry_graphql-0.276.1}/strawberry/schema/schema.py
RENAMED
@@ -15,6 +15,7 @@ from typing import (
|
|
15
15
|
cast,
|
16
16
|
)
|
17
17
|
|
18
|
+
from graphql import ExecutionContext as GraphQLExecutionContext
|
18
19
|
from graphql import ExecutionResult as GraphQLExecutionResult
|
19
20
|
from graphql import (
|
20
21
|
ExecutionResult as OriginalExecutionResult,
|
@@ -35,6 +36,7 @@ from graphql import (
|
|
35
36
|
parse,
|
36
37
|
validate_schema,
|
37
38
|
)
|
39
|
+
from graphql.execution import execute, subscribe
|
38
40
|
from graphql.execution.middleware import MiddlewareManager
|
39
41
|
from graphql.type.directives import specified_directives
|
40
42
|
from graphql.validation import validate
|
@@ -67,15 +69,6 @@ from strawberry.utils.aio import aclosing
|
|
67
69
|
from strawberry.utils.await_maybe import await_maybe
|
68
70
|
|
69
71
|
from . import compat
|
70
|
-
from ._graphql_core import (
|
71
|
-
GraphQLExecutionContext,
|
72
|
-
GraphQLIncrementalExecutionResults,
|
73
|
-
ResultType,
|
74
|
-
execute,
|
75
|
-
experimental_execute_incrementally,
|
76
|
-
incremental_execution_directives,
|
77
|
-
subscribe,
|
78
|
-
)
|
79
72
|
from .base import BaseSchema
|
80
73
|
from .config import StrawberryConfig
|
81
74
|
from .exceptions import CannotGetOperationTypeError, InvalidOperationTypeError
|
@@ -106,7 +99,6 @@ OriginSubscriptionResult = Union[
|
|
106
99
|
AsyncIterator[OriginalExecutionResult],
|
107
100
|
]
|
108
101
|
|
109
|
-
|
110
102
|
DEFAULT_ALLOWED_OPERATION_TYPES = {
|
111
103
|
OperationType.QUERY,
|
112
104
|
OperationType.MUTATION,
|
@@ -329,16 +321,11 @@ class Schema(BaseSchema):
|
|
329
321
|
graphql_types.append(graphql_type)
|
330
322
|
|
331
323
|
try:
|
332
|
-
directives = specified_directives + tuple(graphql_directives)
|
333
|
-
|
334
|
-
if self.config.enable_experimental_incremental_execution:
|
335
|
-
directives = tuple(directives) + tuple(incremental_execution_directives)
|
336
|
-
|
337
324
|
self._schema = GraphQLSchema(
|
338
325
|
query=query_type,
|
339
326
|
mutation=mutation_type,
|
340
327
|
subscription=subscription_type if subscription else None,
|
341
|
-
directives=
|
328
|
+
directives=specified_directives + tuple(graphql_directives),
|
342
329
|
types=graphql_types,
|
343
330
|
extensions={
|
344
331
|
GraphQLCoreConverter.DEFINITION_BACKREF: self,
|
@@ -531,16 +518,12 @@ class Schema(BaseSchema):
|
|
531
518
|
async def _handle_execution_result(
|
532
519
|
self,
|
533
520
|
context: ExecutionContext,
|
534
|
-
result:
|
521
|
+
result: Union[GraphQLExecutionResult, ExecutionResult],
|
535
522
|
extensions_runner: SchemaExtensionsRunner,
|
536
523
|
*,
|
537
524
|
# TODO: can we remove this somehow, see comment in execute
|
538
525
|
skip_process_errors: bool = False,
|
539
526
|
) -> ExecutionResult:
|
540
|
-
# TODO: handle this, also, why do we have both GraphQLExecutionResult and ExecutionResult?
|
541
|
-
if isinstance(result, GraphQLIncrementalExecutionResults):
|
542
|
-
return result
|
543
|
-
|
544
527
|
# Set errors on the context so that it's easier
|
545
528
|
# to access in extensions
|
546
529
|
if result.errors:
|
@@ -583,17 +566,6 @@ class Schema(BaseSchema):
|
|
583
566
|
extensions_runner = self.create_extensions_runner(execution_context, extensions)
|
584
567
|
middleware_manager = self._get_middleware_manager(extensions)
|
585
568
|
|
586
|
-
execute_function = execute
|
587
|
-
|
588
|
-
if self.config.enable_experimental_incremental_execution:
|
589
|
-
execute_function = experimental_execute_incrementally
|
590
|
-
|
591
|
-
if execute_function is None:
|
592
|
-
raise RuntimeError(
|
593
|
-
"Incremental execution is enabled but experimental_execute_incrementally is not available, "
|
594
|
-
"please install graphql-core>=3.3.0"
|
595
|
-
)
|
596
|
-
|
597
569
|
custom_context_kwargs = self._get_custom_context_kwargs(operation_extensions)
|
598
570
|
|
599
571
|
try:
|
@@ -614,7 +586,7 @@ class Schema(BaseSchema):
|
|
614
586
|
async with extensions_runner.executing():
|
615
587
|
if not execution_context.result:
|
616
588
|
result = await await_maybe(
|
617
|
-
|
589
|
+
execute(
|
618
590
|
self._schema,
|
619
591
|
execution_context.graphql_document,
|
620
592
|
root_value=execution_context.root_value,
|
@@ -631,9 +603,7 @@ class Schema(BaseSchema):
|
|
631
603
|
result = execution_context.result
|
632
604
|
# Also set errors on the execution_context so that it's easier
|
633
605
|
# to access in extensions
|
634
|
-
|
635
|
-
# TODO: maybe here use the first result from incremental execution if it exists
|
636
|
-
if isinstance(result, GraphQLExecutionResult) and result.errors:
|
606
|
+
if result.errors:
|
637
607
|
execution_context.errors = result.errors
|
638
608
|
|
639
609
|
# Run the `Schema.process_errors` function here before
|
@@ -689,16 +659,6 @@ class Schema(BaseSchema):
|
|
689
659
|
extensions_runner = self.create_extensions_runner(execution_context, extensions)
|
690
660
|
middleware_manager = self._get_middleware_manager(extensions)
|
691
661
|
|
692
|
-
execute_function = execute
|
693
|
-
|
694
|
-
if self.config.enable_experimental_incremental_execution:
|
695
|
-
execute_function = experimental_execute_incrementally
|
696
|
-
|
697
|
-
if execute_function is None:
|
698
|
-
raise RuntimeError(
|
699
|
-
"Incremental execution is enabled but experimental_execute_incrementally is not available, "
|
700
|
-
"please install graphql-core>=3.3.0"
|
701
|
-
)
|
702
662
|
custom_context_kwargs = self._get_custom_context_kwargs(operation_extensions)
|
703
663
|
|
704
664
|
try:
|
@@ -749,7 +709,7 @@ class Schema(BaseSchema):
|
|
749
709
|
|
750
710
|
with extensions_runner.executing():
|
751
711
|
if not execution_context.result:
|
752
|
-
result =
|
712
|
+
result = execute(
|
753
713
|
self._schema,
|
754
714
|
execution_context.graphql_document,
|
755
715
|
root_value=execution_context.root_value,
|