async-durable-execution 2.3.0__tar.gz → 2.4.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.
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/PKG-INFO +16 -6
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/README.md +12 -4
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/__about__.py +1 -1
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/__init__.py +37 -1
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/__init__.py +15 -0
- async_durable_execution-2.4.0/async_durable_execution/_core/aws_http.py +915 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/client.py +38 -47
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/context.py +17 -2
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/exceptions.py +10 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/models.py +28 -23
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/serdes.py +220 -2
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/parallel.py +14 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/wait_for_condition.py +47 -34
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/base.py +50 -3
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/callback.py +7 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/child.py +28 -10
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/invoke.py +4 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/step.py +55 -11
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/wait.py +3 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/cloud/__init__.py +125 -79
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/model.py +8 -8
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/model.py +33 -33
- async_durable_execution-2.4.0/async_durable_execution/filesystem_serdes.py +741 -0
- async_durable_execution-2.4.0/async_durable_execution/preview.py +181 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/pyproject.toml +7 -5
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/.gitignore +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/LICENSE +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/NOTICE +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/.gitignore +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/config.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/execution.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/logger.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/state.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_core/task.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_extension/__init__.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/__init__.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/callback.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/child.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/flow.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/invoke.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/map.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/recurse.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/replay_safe.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/step.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/wait.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/wait_for_callback.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_operation/with_retry.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_primitive/__init__.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/__init__.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/exceptions.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/__init__.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/execution.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/executor.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processor.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/__init__.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/base.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/callback.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/context.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/execution.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/invoke.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/step.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/processors/wait.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/scheduler.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/local/time_scale.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/_runner/py.typed +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/extension.py +0 -0
- {async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: async-durable-execution
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: Community-maintained durable execution SDK for AWS Lambda in Python
|
|
5
5
|
Project-URL: Documentation, https://github.com/zhongkechen/async-durable-execution#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/zhongkechen/async-durable-execution/issues
|
|
@@ -23,7 +23,9 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Requires-Dist: botocore<1.43.1,>=1.42.90
|
|
25
25
|
Provides-Extra: aioboto
|
|
26
|
-
Requires-Dist:
|
|
26
|
+
Requires-Dist: httpx<1,>=0.28.1; extra == 'aioboto'
|
|
27
|
+
Provides-Extra: httpx
|
|
28
|
+
Requires-Dist: httpx<1,>=0.28.1; extra == 'httpx'
|
|
27
29
|
Provides-Extra: typing
|
|
28
30
|
Requires-Dist: botocore-stubs<1.43.0,>=1.42.40; extra == 'typing'
|
|
29
31
|
Description-Content-Type: text/markdown
|
|
@@ -77,8 +79,9 @@ composition, and APIs designed for modern Python applications.
|
|
|
77
79
|
- **[Declarative DAG workflows](https://zhongkechen.github.io/async-durable-execution/api/extension/flow.html#quick-start)** - Define acyclic workflows with typed node inputs, inferred or conditional dependencies, failure routes, and durable operations inside each node. The SDK validates the graph before execution and skips nodes that are not required by the selected outputs.
|
|
78
80
|
- **[Background operation tasks](https://zhongkechen.github.io/async-durable-execution/advanced-usage.html#background-operation-tasks)** - Durable operations such as `step(...)`, `wait(...)`, `invoke(...)`, `recurse(...)`, `run_in_child_context(...)`, and `flow(...)` return `asyncio.Task` objects, so independent operations can run in the background and be awaited together with `asyncio.gather` without using `parallel()` or `map()`.
|
|
79
81
|
- **[Pythonic operation parameters](https://zhongkechen.github.io/async-durable-execution/migrating-from-official-python-sdk.html#api-mapping)** - Operations use direct keyword arguments, standard Python types such as `datetime.timedelta`, and keyword-only names instead of configuration wrapper objects.
|
|
82
|
+
- **[Composable SerDes pipelines](https://zhongkechen.github.io/async-durable-execution/serdes-pipelines.html)** - Chain async string transformations and offload large checkpoint payloads to EFS or S3 Files with bounded previews and validated immutable storage.
|
|
80
83
|
- **[Integrated local and cloud runner](https://zhongkechen.github.io/async-durable-execution/api/runner.html)** - Runner functionality now ships through `async_durable_execution`, with separate local and cloud runner factories and typed test result helpers.
|
|
81
|
-
- **[
|
|
84
|
+
- **[Model-free Lambda clients](https://zhongkechen.github.io/async-durable-execution/advanced-usage.html#lambda-client-selection)** - The SDK owns its Lambda REST wire format instead of depending on botocore service models. Install the optional `httpx` extra to send requests with HTTPX; otherwise the same requests use botocore's synchronous HTTP transport through an async adapter.
|
|
82
85
|
- **[Replay-aware logging with stdlib logging](https://zhongkechen.github.io/async-durable-execution/migrating-from-official-python-sdk.html#logging)** - Standard `logging` loggers are enriched by durable context filtering so workflow logs remain replay safe.
|
|
83
86
|
- **[Lambda layer packaging](https://zhongkechen.github.io/async-durable-execution/advanced-usage.html#lambda-layer-packaging)** - The repo includes tooling and workflows to build and publish an SDK Lambda layer for functions that do not vendor dependencies directly.
|
|
84
87
|
|
|
@@ -90,13 +93,20 @@ Install the execution SDK:
|
|
|
90
93
|
pip install async-durable-execution
|
|
91
94
|
```
|
|
92
95
|
|
|
93
|
-
For an async Lambda service client, install the optional `
|
|
96
|
+
For an async Lambda service client, install the optional `httpx` extra:
|
|
94
97
|
|
|
95
98
|
```console
|
|
96
|
-
pip install "async-durable-execution[
|
|
99
|
+
pip install "async-durable-execution[httpx]"
|
|
97
100
|
```
|
|
98
101
|
|
|
99
|
-
The `
|
|
102
|
+
The `httpx` extra installs HTTPX, which the SDK uses for asynchronous
|
|
103
|
+
model-free Lambda REST calls. Without it, the SDK sends the same signed
|
|
104
|
+
requests with botocore's synchronous HTTP transport through a threaded async
|
|
105
|
+
adapter. Botocore continues to provide AWS credentials, endpoint metadata, and
|
|
106
|
+
SigV4 signing, but its generated Lambda service model is not used.
|
|
107
|
+
|
|
108
|
+
The previous `aioboto` extra remains available as a backward-compatible alias
|
|
109
|
+
for `httpx`.
|
|
100
110
|
|
|
101
111
|
Create a durable Lambda handler:
|
|
102
112
|
|
|
@@ -47,8 +47,9 @@ composition, and APIs designed for modern Python applications.
|
|
|
47
47
|
- **[Declarative DAG workflows](https://zhongkechen.github.io/async-durable-execution/api/extension/flow.html#quick-start)** - Define acyclic workflows with typed node inputs, inferred or conditional dependencies, failure routes, and durable operations inside each node. The SDK validates the graph before execution and skips nodes that are not required by the selected outputs.
|
|
48
48
|
- **[Background operation tasks](https://zhongkechen.github.io/async-durable-execution/advanced-usage.html#background-operation-tasks)** - Durable operations such as `step(...)`, `wait(...)`, `invoke(...)`, `recurse(...)`, `run_in_child_context(...)`, and `flow(...)` return `asyncio.Task` objects, so independent operations can run in the background and be awaited together with `asyncio.gather` without using `parallel()` or `map()`.
|
|
49
49
|
- **[Pythonic operation parameters](https://zhongkechen.github.io/async-durable-execution/migrating-from-official-python-sdk.html#api-mapping)** - Operations use direct keyword arguments, standard Python types such as `datetime.timedelta`, and keyword-only names instead of configuration wrapper objects.
|
|
50
|
+
- **[Composable SerDes pipelines](https://zhongkechen.github.io/async-durable-execution/serdes-pipelines.html)** - Chain async string transformations and offload large checkpoint payloads to EFS or S3 Files with bounded previews and validated immutable storage.
|
|
50
51
|
- **[Integrated local and cloud runner](https://zhongkechen.github.io/async-durable-execution/api/runner.html)** - Runner functionality now ships through `async_durable_execution`, with separate local and cloud runner factories and typed test result helpers.
|
|
51
|
-
- **[
|
|
52
|
+
- **[Model-free Lambda clients](https://zhongkechen.github.io/async-durable-execution/advanced-usage.html#lambda-client-selection)** - The SDK owns its Lambda REST wire format instead of depending on botocore service models. Install the optional `httpx` extra to send requests with HTTPX; otherwise the same requests use botocore's synchronous HTTP transport through an async adapter.
|
|
52
53
|
- **[Replay-aware logging with stdlib logging](https://zhongkechen.github.io/async-durable-execution/migrating-from-official-python-sdk.html#logging)** - Standard `logging` loggers are enriched by durable context filtering so workflow logs remain replay safe.
|
|
53
54
|
- **[Lambda layer packaging](https://zhongkechen.github.io/async-durable-execution/advanced-usage.html#lambda-layer-packaging)** - The repo includes tooling and workflows to build and publish an SDK Lambda layer for functions that do not vendor dependencies directly.
|
|
54
55
|
|
|
@@ -60,13 +61,20 @@ Install the execution SDK:
|
|
|
60
61
|
pip install async-durable-execution
|
|
61
62
|
```
|
|
62
63
|
|
|
63
|
-
For an async Lambda service client, install the optional `
|
|
64
|
+
For an async Lambda service client, install the optional `httpx` extra:
|
|
64
65
|
|
|
65
66
|
```console
|
|
66
|
-
pip install "async-durable-execution[
|
|
67
|
+
pip install "async-durable-execution[httpx]"
|
|
67
68
|
```
|
|
68
69
|
|
|
69
|
-
The `
|
|
70
|
+
The `httpx` extra installs HTTPX, which the SDK uses for asynchronous
|
|
71
|
+
model-free Lambda REST calls. Without it, the SDK sends the same signed
|
|
72
|
+
requests with botocore's synchronous HTTP transport through a threaded async
|
|
73
|
+
adapter. Botocore continues to provide AWS credentials, endpoint metadata, and
|
|
74
|
+
SigV4 signing, but its generated Lambda service model is not used.
|
|
75
|
+
|
|
76
|
+
The previous `aioboto` extra remains available as a backward-compatible alias
|
|
77
|
+
for `httpx`.
|
|
70
78
|
|
|
71
79
|
Create a durable Lambda handler:
|
|
72
80
|
|
{async_durable_execution-2.3.0 → async_durable_execution-2.4.0}/async_durable_execution/__init__.py
RENAMED
|
@@ -6,6 +6,7 @@ from .__about__ import __version__
|
|
|
6
6
|
# Core runtime and supporting public APIs
|
|
7
7
|
from ._core import (
|
|
8
8
|
CallableRuntimeError,
|
|
9
|
+
ComposableSerDes,
|
|
9
10
|
DurableContext,
|
|
10
11
|
DurableExecutionsError,
|
|
11
12
|
DurableServiceClient,
|
|
@@ -22,17 +23,36 @@ from ._core import (
|
|
|
22
23
|
OperationSubType,
|
|
23
24
|
OperationType,
|
|
24
25
|
RetryStrategy,
|
|
26
|
+
RetryableSerDesError,
|
|
25
27
|
SerDes,
|
|
26
28
|
SerDesContext,
|
|
27
29
|
SerDesError,
|
|
30
|
+
SerDesPipelineError,
|
|
31
|
+
SerDesStage,
|
|
28
32
|
UserlandError,
|
|
29
33
|
ValidationError,
|
|
30
34
|
create_default_sync_client,
|
|
35
|
+
create_serdes_pipeline,
|
|
31
36
|
durable_callable,
|
|
32
37
|
durable_execution,
|
|
33
38
|
get_current_context,
|
|
34
39
|
get_durable_context,
|
|
35
40
|
get_serdes_context,
|
|
41
|
+
is_composable_serdes,
|
|
42
|
+
)
|
|
43
|
+
from .filesystem_serdes import (
|
|
44
|
+
FileSystemPathEncoding,
|
|
45
|
+
FileSystemSerDesMode,
|
|
46
|
+
FileSystemSerDesStage,
|
|
47
|
+
FileSystemSerDesStageConfig,
|
|
48
|
+
create_file_system_serdes_stage,
|
|
49
|
+
)
|
|
50
|
+
from .preview import (
|
|
51
|
+
FieldMatchMode,
|
|
52
|
+
PreviewConfig,
|
|
53
|
+
PreviewField,
|
|
54
|
+
PreviewMode,
|
|
55
|
+
build_preview,
|
|
36
56
|
)
|
|
37
57
|
|
|
38
58
|
# Durable operations
|
|
@@ -116,10 +136,13 @@ from ._runner import (
|
|
|
116
136
|
|
|
117
137
|
__all__ = [
|
|
118
138
|
"__version__",
|
|
139
|
+
"build_preview",
|
|
119
140
|
"create_callback",
|
|
120
141
|
"create_cloud_runner",
|
|
121
142
|
"create_default_sync_client",
|
|
143
|
+
"create_file_system_serdes_stage",
|
|
122
144
|
"create_local_runner",
|
|
145
|
+
"create_serdes_pipeline",
|
|
123
146
|
"durable_callable",
|
|
124
147
|
"durable_dag",
|
|
125
148
|
"durable_execution",
|
|
@@ -136,6 +159,7 @@ __all__ = [
|
|
|
136
159
|
"get_wait_for_condition_check_context",
|
|
137
160
|
"get_with_retry_context",
|
|
138
161
|
"invoke",
|
|
162
|
+
"is_composable_serdes",
|
|
139
163
|
"map",
|
|
140
164
|
"now",
|
|
141
165
|
"node",
|
|
@@ -156,6 +180,7 @@ __all__ = [
|
|
|
156
180
|
"Callback",
|
|
157
181
|
"CallbackError",
|
|
158
182
|
"CallableRuntimeError",
|
|
183
|
+
"ComposableSerDes",
|
|
159
184
|
"CompletionConfig",
|
|
160
185
|
"CompletionDecision",
|
|
161
186
|
"CompletionReason",
|
|
@@ -174,6 +199,11 @@ __all__ = [
|
|
|
174
199
|
"ExtensionStepResult",
|
|
175
200
|
"ExtensionStepRetryStrategy",
|
|
176
201
|
"ExtendedTypeSerDes",
|
|
202
|
+
"FieldMatchMode",
|
|
203
|
+
"FileSystemPathEncoding",
|
|
204
|
+
"FileSystemSerDesMode",
|
|
205
|
+
"FileSystemSerDesStage",
|
|
206
|
+
"FileSystemSerDesStageConfig",
|
|
177
207
|
"FlowDefinitionError",
|
|
178
208
|
"FlowExecutionError",
|
|
179
209
|
"FlowNode",
|
|
@@ -192,10 +222,17 @@ __all__ = [
|
|
|
192
222
|
"OperationStatus",
|
|
193
223
|
"OperationSubType",
|
|
194
224
|
"OperationType",
|
|
225
|
+
"PollingStrategy",
|
|
226
|
+
"PreviewConfig",
|
|
227
|
+
"PreviewField",
|
|
228
|
+
"PreviewMode",
|
|
195
229
|
"RetryStrategy",
|
|
230
|
+
"RetryableSerDesError",
|
|
196
231
|
"SerDes",
|
|
197
232
|
"SerDesContext",
|
|
198
233
|
"SerDesError",
|
|
234
|
+
"SerDesPipelineError",
|
|
235
|
+
"SerDesStage",
|
|
199
236
|
"StepContext",
|
|
200
237
|
"StepInterruptedError",
|
|
201
238
|
"StepSemantics",
|
|
@@ -206,5 +243,4 @@ __all__ = [
|
|
|
206
243
|
"WaitForConditionCheckContext",
|
|
207
244
|
"WaitForConditionError",
|
|
208
245
|
"WithRetryContext",
|
|
209
|
-
"PollingStrategy",
|
|
210
246
|
]
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
from .client import (
|
|
4
4
|
DurableServiceClient,
|
|
5
5
|
aioboto_is_installed,
|
|
6
|
+
create_default_async_client,
|
|
6
7
|
create_default_sync_client,
|
|
8
|
+
httpx_is_installed,
|
|
7
9
|
)
|
|
8
10
|
from .config import (
|
|
9
11
|
Duration,
|
|
@@ -31,6 +33,7 @@ from .exceptions import (
|
|
|
31
33
|
InvalidStateError,
|
|
32
34
|
InvocationError,
|
|
33
35
|
OrphanedChildException,
|
|
36
|
+
RetryableSerDesError,
|
|
34
37
|
SerDesError,
|
|
35
38
|
SuspendExecution,
|
|
36
39
|
TerminationReason,
|
|
@@ -51,6 +54,7 @@ from .execution import (
|
|
|
51
54
|
durable_execution,
|
|
52
55
|
)
|
|
53
56
|
from .models import (
|
|
57
|
+
AwsApiModel,
|
|
54
58
|
BotoSerializableModel,
|
|
55
59
|
CallbackDetails,
|
|
56
60
|
CallbackOptions,
|
|
@@ -83,16 +87,21 @@ from .models import (
|
|
|
83
87
|
WaitOptions,
|
|
84
88
|
)
|
|
85
89
|
from .serdes import (
|
|
90
|
+
ComposableSerDes,
|
|
86
91
|
DEFAULT_JSON_SERDES,
|
|
87
92
|
EncodedValue,
|
|
88
93
|
ExtendedTypeSerDes,
|
|
89
94
|
JsonSerDes,
|
|
90
95
|
PassThroughSerDes,
|
|
91
96
|
SerDes,
|
|
97
|
+
SerDesPipelineError,
|
|
98
|
+
SerDesStage,
|
|
92
99
|
TypeCodecExtension,
|
|
93
100
|
TypeTag,
|
|
101
|
+
create_serdes_pipeline,
|
|
94
102
|
deserialize,
|
|
95
103
|
get_serdes_context,
|
|
104
|
+
is_composable_serdes,
|
|
96
105
|
serialize,
|
|
97
106
|
)
|
|
98
107
|
from .state import RECURSIVE_LEVEL_INPUT_FIELD, ExecutionState
|
|
@@ -100,6 +109,7 @@ from .task import create_eager_task
|
|
|
100
109
|
|
|
101
110
|
__all__ = [
|
|
102
111
|
"CallableRuntimeError",
|
|
112
|
+
"ComposableSerDes",
|
|
103
113
|
"DurableContext",
|
|
104
114
|
"DurableExecutionsError",
|
|
105
115
|
"DurableServiceClient",
|
|
@@ -116,15 +126,20 @@ __all__ = [
|
|
|
116
126
|
"OperationSubType",
|
|
117
127
|
"OperationType",
|
|
118
128
|
"RetryStrategy",
|
|
129
|
+
"RetryableSerDesError",
|
|
119
130
|
"SerDes",
|
|
120
131
|
"SerDesContext",
|
|
121
132
|
"SerDesError",
|
|
133
|
+
"SerDesPipelineError",
|
|
134
|
+
"SerDesStage",
|
|
122
135
|
"UserlandError",
|
|
123
136
|
"ValidationError",
|
|
124
137
|
"create_default_sync_client",
|
|
138
|
+
"create_serdes_pipeline",
|
|
125
139
|
"durable_callable",
|
|
126
140
|
"durable_execution",
|
|
127
141
|
"get_current_context",
|
|
128
142
|
"get_durable_context",
|
|
129
143
|
"get_serdes_context",
|
|
144
|
+
"is_composable_serdes",
|
|
130
145
|
]
|