Skip to content

Commit 62749e5

Browse files
committed
Reference implementation of defer and stream spec
Replicates graphql/graphql-js@1f2c843
1 parent a9b9568 commit 62749e5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+5951
-397
lines changed

docs/conf.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,10 @@
138138
traceback
139139
types.TracebackType
140140
TypeMap
141+
AsyncPayloadRecord
141142
AwaitableOrValue
142143
EnterLeaveVisitor
144+
ExperimentalExecuteIncrementallyResults
143145
FormattedSourceLocation
144146
GraphQLAbstractType
145147
GraphQLErrorExtensions
@@ -148,8 +150,14 @@
148150
GraphQLOutputType
149151
Middleware
150152
asyncio.events.AbstractEventLoop
153+
graphql.execution.collect_fields.FieldsAndPatches
151154
graphql.execution.map_async_iterable.MapAsyncIterable
152155
graphql.execution.Middleware
156+
graphql.execution.execute.DeferredFragmentRecord
157+
graphql.execution.execute.ExperimentalExecuteMultipleResults
158+
graphql.execution.execute.ExperimentalExecuteSingleResult
159+
graphql.execution.execute.StreamArguments
160+
graphql.execution.execute.StreamRecord
153161
graphql.language.lexer.EscapeSequence
154162
graphql.language.visitor.EnterLeaveVisitor
155163
graphql.type.schema.InterfaceImplementations

docs/modules/execution.rst

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Execution
99

1010
.. autofunction:: execute
1111

12+
.. autofunction:: experimental_execute_incrementally
13+
1214
.. autofunction:: execute_sync
1315

1416
.. autofunction:: default_field_resolver
@@ -22,8 +24,37 @@ Execution
2224
.. autoclass:: FormattedExecutionResult
2325
:no-inherited-members:
2426

27+
.. autoclass:: ExperimentalExecuteIncrementallyResults
28+
29+
.. autoclass:: InitialIncrementalExecutionResult
30+
31+
.. autoclass:: FormattedInitialIncrementalExecutionResult
32+
:no-inherited-members:
33+
34+
.. autoclass:: SubsequentIncrementalExecutionResult
35+
36+
.. autoclass:: FormattedSubsequentIncrementalExecutionResult
37+
:no-inherited-members:
38+
39+
.. autoclass:: IncrementalDeferResult
40+
41+
.. autoclass:: FormattedIncrementalDeferResult
42+
:no-inherited-members:
43+
44+
.. autoclass:: IncrementalStreamResult
45+
46+
.. autoclass:: FormattedIncrementalStreamResult
47+
:no-inherited-members:
48+
49+
.. autoclass:: IncrementalResult
50+
51+
.. autoclass:: FormattedIncrementalResult
52+
:no-inherited-members:
53+
2554
.. autofunction:: subscribe
2655

56+
.. autofunction:: experimental_subscribe_incrementally
57+
2758
.. autofunction:: create_source_event_stream
2859

2960
.. autoclass:: MapAsyncIterable

docs/modules/type.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,10 @@ Definitions
122122
.. autoclass:: GraphQLDirective
123123
.. autoclass:: GraphQLIncludeDirective
124124
.. autoclass:: GraphQLSkipDirective
125+
.. autoclass:: GraphQLDeferDirective
126+
.. autoclass:: GraphQLStreamDirective
125127
.. autoclass:: GraphQLDeprecatedDirective
128+
.. autoclass:: GraphQLSpecifiedByDirective
126129

127130
.. data:: specified_directives
128131

poetry.lock

Lines changed: 157 additions & 153 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ isort = [
7575
{ version = "^5.12", python = ">=3.8" },
7676
{ version = "^5.11", python = "<3.8" }
7777
]
78-
mypy = "1.2.0"
78+
mypy = "1.3.0"
7979
bump2version = ">=1.0,<2"
8080

8181
[tool.poetry.group.doc]

src/graphql/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@
253253
specified_directives,
254254
GraphQLIncludeDirective,
255255
GraphQLSkipDirective,
256+
GraphQLDeferDirective,
257+
GraphQLStreamDirective,
256258
GraphQLDeprecatedDirective,
257259
GraphQLSpecifiedByDirective,
258260
# "Enum" of Type Kinds
@@ -485,6 +487,8 @@
485487
"specified_directives",
486488
"GraphQLIncludeDirective",
487489
"GraphQLSkipDirective",
490+
"GraphQLDeferDirective",
491+
"GraphQLStreamDirective",
488492
"GraphQLDeprecatedDirective",
489493
"GraphQLSpecifiedByDirective",
490494
"TypeKind",

src/graphql/execution/__init__.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,63 @@
55
"""
66

77
from .execute import (
8+
ASYNC_DELAY,
89
create_source_event_stream,
910
execute,
11+
experimental_execute_incrementally,
1012
execute_sync,
1113
default_field_resolver,
1214
default_type_resolver,
1315
subscribe,
16+
experimental_subscribe_incrementally,
1417
ExecutionContext,
1518
ExecutionResult,
19+
ExperimentalExecuteIncrementallyResults,
20+
ExperimentalExecuteMultipleResults,
21+
ExperimentalExecuteSingleResult,
22+
InitialIncrementalExecutionResult,
23+
SubsequentIncrementalExecutionResult,
24+
IncrementalDeferResult,
25+
IncrementalStreamResult,
26+
IncrementalResult,
1627
FormattedExecutionResult,
28+
FormattedInitialIncrementalExecutionResult,
29+
FormattedSubsequentIncrementalExecutionResult,
30+
FormattedIncrementalDeferResult,
31+
FormattedIncrementalStreamResult,
32+
FormattedIncrementalResult,
1733
Middleware,
1834
)
1935
from .map_async_iterable import MapAsyncIterable
2036
from .middleware import MiddlewareManager
2137
from .values import get_argument_values, get_directive_values, get_variable_values
2238

2339
__all__ = [
40+
"ASYNC_DELAY",
2441
"create_source_event_stream",
2542
"execute",
43+
"experimental_execute_incrementally",
2644
"execute_sync",
2745
"default_field_resolver",
2846
"default_type_resolver",
2947
"subscribe",
48+
"experimental_subscribe_incrementally",
3049
"ExecutionContext",
3150
"ExecutionResult",
51+
"ExperimentalExecuteIncrementallyResults",
52+
"ExperimentalExecuteMultipleResults",
53+
"ExperimentalExecuteSingleResult",
54+
"InitialIncrementalExecutionResult",
55+
"SubsequentIncrementalExecutionResult",
56+
"IncrementalDeferResult",
57+
"IncrementalStreamResult",
58+
"IncrementalResult",
3259
"FormattedExecutionResult",
60+
"FormattedInitialIncrementalExecutionResult",
61+
"FormattedSubsequentIncrementalExecutionResult",
62+
"FormattedIncrementalDeferResult",
63+
"FormattedIncrementalStreamResult",
64+
"FormattedIncrementalResult",
3365
"MapAsyncIterable",
3466
"Middleware",
3567
"MiddlewareManager",

0 commit comments

Comments
 (0)