aws-durable-execution-sdk-python-testing 1.0.0.post2__py3-none-any.whl → 1.1.1__py3-none-any.whl
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.
- aws_durable_execution_sdk_python_testing/__about__.py +1 -1
- aws_durable_execution_sdk_python_testing/cli.py +2 -7
- aws_durable_execution_sdk_python_testing/execution.py +7 -7
- aws_durable_execution_sdk_python_testing/invoker.py +4 -8
- aws_durable_execution_sdk_python_testing/runner.py +7 -24
- aws_durable_execution_sdk_python_testing/stores/filesystem.py +6 -31
- aws_durable_execution_sdk_python_testing/stores/sqlite.py +3 -13
- aws_durable_execution_sdk_python_testing/web/serialization.py +2 -12
- {aws_durable_execution_sdk_python_testing-1.0.0.post2.dist-info → aws_durable_execution_sdk_python_testing-1.1.1.dist-info}/METADATA +5 -2
- {aws_durable_execution_sdk_python_testing-1.0.0.post2.dist-info → aws_durable_execution_sdk_python_testing-1.1.1.dist-info}/RECORD +14 -14
- {aws_durable_execution_sdk_python_testing-1.0.0.post2.dist-info → aws_durable_execution_sdk_python_testing-1.1.1.dist-info}/WHEEL +0 -0
- {aws_durable_execution_sdk_python_testing-1.0.0.post2.dist-info → aws_durable_execution_sdk_python_testing-1.1.1.dist-info}/entry_points.txt +0 -0
- {aws_durable_execution_sdk_python_testing-1.0.0.post2.dist-info → aws_durable_execution_sdk_python_testing-1.1.1.dist-info}/licenses/LICENSE +0 -0
- {aws_durable_execution_sdk_python_testing-1.0.0.post2.dist-info → aws_durable_execution_sdk_python_testing-1.1.1.dist-info}/licenses/NOTICE +0 -0
|
@@ -458,7 +458,7 @@ class CliApp:
|
|
|
458
458
|
def _create_boto3_client(
|
|
459
459
|
self, endpoint_url: str | None = None, region_name: str | None = None
|
|
460
460
|
) -> Any:
|
|
461
|
-
"""Create boto3 client for
|
|
461
|
+
"""Create boto3 client for Lambda service.
|
|
462
462
|
|
|
463
463
|
Args:
|
|
464
464
|
endpoint_url: Optional endpoint URL override
|
|
@@ -471,18 +471,13 @@ class CliApp:
|
|
|
471
471
|
Exception: If client creation fails
|
|
472
472
|
"""
|
|
473
473
|
try:
|
|
474
|
-
# Set up AWS data path for boto models
|
|
475
|
-
package_path = os.path.dirname(aws_durable_execution_sdk_python.__file__)
|
|
476
|
-
data_path = f"{package_path}/botocore/data"
|
|
477
|
-
os.environ["AWS_DATA_PATH"] = data_path
|
|
478
|
-
|
|
479
474
|
# Use provided values or fall back to config
|
|
480
475
|
final_endpoint = endpoint_url or self.config.local_runner_endpoint
|
|
481
476
|
final_region = region_name or self.config.local_runner_region
|
|
482
477
|
|
|
483
478
|
# Create client with local endpoint - no AWS access keys required
|
|
484
479
|
return boto3.client(
|
|
485
|
-
"
|
|
480
|
+
"lambda",
|
|
486
481
|
endpoint_url=final_endpoint,
|
|
487
482
|
region_name=final_region,
|
|
488
483
|
)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import json
|
|
4
3
|
from dataclasses import replace
|
|
5
4
|
from datetime import UTC, datetime
|
|
6
5
|
from enum import Enum
|
|
@@ -33,7 +32,6 @@ from aws_durable_execution_sdk_python_testing.model import (
|
|
|
33
32
|
)
|
|
34
33
|
from aws_durable_execution_sdk_python_testing.token import (
|
|
35
34
|
CheckpointToken,
|
|
36
|
-
CallbackToken,
|
|
37
35
|
)
|
|
38
36
|
|
|
39
37
|
|
|
@@ -96,12 +94,12 @@ class Execution:
|
|
|
96
94
|
durable_execution_arn=str(uuid4()), start_input=input, operations=[]
|
|
97
95
|
)
|
|
98
96
|
|
|
99
|
-
def
|
|
100
|
-
"""Serialize execution to dictionary
|
|
97
|
+
def to_json_dict(self) -> dict[str, Any]:
|
|
98
|
+
"""Serialize execution to JSON-serializable dictionary"""
|
|
101
99
|
return {
|
|
102
100
|
"DurableExecutionArn": self.durable_execution_arn,
|
|
103
101
|
"StartInput": self.start_input.to_dict(),
|
|
104
|
-
"Operations": [op.
|
|
102
|
+
"Operations": [op.to_json_dict() for op in self.operations],
|
|
105
103
|
"Updates": [update.to_dict() for update in self.updates],
|
|
106
104
|
"InvocationCompletions": [
|
|
107
105
|
completion.to_dict() for completion in self.invocation_completions
|
|
@@ -115,13 +113,15 @@ class Execution:
|
|
|
115
113
|
}
|
|
116
114
|
|
|
117
115
|
@classmethod
|
|
118
|
-
def
|
|
116
|
+
def from_json_dict(cls, data: dict[str, Any]) -> Execution:
|
|
119
117
|
"""Deserialize execution from dictionary."""
|
|
120
118
|
# Reconstruct start_input
|
|
121
119
|
start_input = StartDurableExecutionInput.from_dict(data["StartInput"])
|
|
122
120
|
|
|
123
121
|
# Reconstruct operations
|
|
124
|
-
operations = [
|
|
122
|
+
operations = [
|
|
123
|
+
Operation.from_json_dict(op_data) for op_data in data["Operations"]
|
|
124
|
+
]
|
|
125
125
|
|
|
126
126
|
# Create execution
|
|
127
127
|
execution = cls(
|
|
@@ -12,12 +12,10 @@ from aws_durable_execution_sdk_python.execution import (
|
|
|
12
12
|
DurableExecutionInvocationInputWithClient,
|
|
13
13
|
DurableExecutionInvocationOutput,
|
|
14
14
|
InitialExecutionState,
|
|
15
|
-
InvocationStatus,
|
|
16
15
|
)
|
|
17
16
|
|
|
18
17
|
from aws_durable_execution_sdk_python_testing.exceptions import (
|
|
19
18
|
DurableFunctionsTestError,
|
|
20
|
-
ServiceException,
|
|
21
19
|
)
|
|
22
20
|
from aws_durable_execution_sdk_python_testing.model import LambdaContext
|
|
23
21
|
|
|
@@ -136,9 +134,7 @@ class LambdaInvoker(Invoker):
|
|
|
136
134
|
def create(endpoint_url: str, region_name: str) -> LambdaInvoker:
|
|
137
135
|
"""Create with the boto lambda client."""
|
|
138
136
|
invoker = LambdaInvoker(
|
|
139
|
-
boto3.client(
|
|
140
|
-
"lambdainternal", endpoint_url=endpoint_url, region_name=region_name
|
|
141
|
-
)
|
|
137
|
+
boto3.client("lambda", endpoint_url=endpoint_url, region_name=region_name)
|
|
142
138
|
)
|
|
143
139
|
invoker._current_endpoint = endpoint_url
|
|
144
140
|
invoker._endpoint_clients[endpoint_url] = invoker.lambda_client
|
|
@@ -150,7 +146,7 @@ class LambdaInvoker(Invoker):
|
|
|
150
146
|
with self._lock:
|
|
151
147
|
if endpoint_url not in self._endpoint_clients:
|
|
152
148
|
self._endpoint_clients[endpoint_url] = boto3.client(
|
|
153
|
-
"
|
|
149
|
+
"lambda", endpoint_url=endpoint_url, region_name=region_name
|
|
154
150
|
)
|
|
155
151
|
self.lambda_client = self._endpoint_clients[endpoint_url]
|
|
156
152
|
self._current_endpoint = endpoint_url
|
|
@@ -166,7 +162,7 @@ class LambdaInvoker(Invoker):
|
|
|
166
162
|
if lambda_endpoint:
|
|
167
163
|
if lambda_endpoint not in self._endpoint_clients:
|
|
168
164
|
self._endpoint_clients[lambda_endpoint] = boto3.client(
|
|
169
|
-
"
|
|
165
|
+
"lambda",
|
|
170
166
|
endpoint_url=lambda_endpoint,
|
|
171
167
|
region_name=region_name or "us-east-1",
|
|
172
168
|
)
|
|
@@ -241,7 +237,7 @@ class LambdaInvoker(Invoker):
|
|
|
241
237
|
response = client.invoke(
|
|
242
238
|
FunctionName=function_name,
|
|
243
239
|
InvocationType="RequestResponse", # Synchronous invocation
|
|
244
|
-
Payload=json.dumps(input.
|
|
240
|
+
Payload=json.dumps(input.to_json_dict()),
|
|
245
241
|
)
|
|
246
242
|
|
|
247
243
|
# Check HTTP status code
|
|
@@ -698,10 +698,7 @@ class DurableFunctionTestRunner:
|
|
|
698
698
|
|
|
699
699
|
# Timeout reached
|
|
700
700
|
elapsed = time.time() - start_time
|
|
701
|
-
msg = (
|
|
702
|
-
f"Callback did not available within {timeout}s "
|
|
703
|
-
f"(elapsed: {elapsed:.1f}s."
|
|
704
|
-
)
|
|
701
|
+
msg = f"Callback did not available within {timeout}s (elapsed: {elapsed:.1f}s."
|
|
705
702
|
raise TimeoutError(msg)
|
|
706
703
|
|
|
707
704
|
|
|
@@ -850,26 +847,20 @@ class WebRunner:
|
|
|
850
847
|
self._executor = None
|
|
851
848
|
|
|
852
849
|
def _create_boto3_client(self) -> Any:
|
|
853
|
-
"""Create boto3 client for
|
|
850
|
+
"""Create boto3 client for Lambda service.
|
|
854
851
|
|
|
855
|
-
|
|
856
|
-
local runner endpoint and region from configuration.
|
|
852
|
+
Creates a boto3 client with the local runner endpoint and region from configuration.
|
|
857
853
|
|
|
858
854
|
Returns:
|
|
859
|
-
Configured boto3 client for
|
|
855
|
+
Configured boto3 client for Lambda service
|
|
860
856
|
|
|
861
857
|
Raises:
|
|
862
858
|
Exception: If client creation fails - exceptions propagate naturally
|
|
863
859
|
for CLI to handle as general Exception
|
|
864
860
|
"""
|
|
865
|
-
# Set up AWS data path for boto models
|
|
866
|
-
package_path = os.path.dirname(aws_durable_execution_sdk_python.__file__)
|
|
867
|
-
data_path = f"{package_path}/botocore/data"
|
|
868
|
-
os.environ["AWS_DATA_PATH"] = data_path
|
|
869
|
-
|
|
870
861
|
# Create client with Lambda endpoint configuration
|
|
871
862
|
return boto3.client(
|
|
872
|
-
"
|
|
863
|
+
"lambda",
|
|
873
864
|
endpoint_url=self._config.lambda_endpoint,
|
|
874
865
|
region_name=self._config.local_runner_region,
|
|
875
866
|
)
|
|
@@ -904,14 +895,9 @@ class DurableFunctionCloudTestRunner:
|
|
|
904
895
|
self.lambda_endpoint = lambda_endpoint
|
|
905
896
|
self.poll_interval = poll_interval
|
|
906
897
|
|
|
907
|
-
# Set up AWS data path for custom boto models (durable execution fields)
|
|
908
|
-
package_path = os.path.dirname(aws_durable_execution_sdk_python.__file__)
|
|
909
|
-
data_path = f"{package_path}/botocore/data"
|
|
910
|
-
os.environ["AWS_DATA_PATH"] = data_path
|
|
911
|
-
|
|
912
898
|
client_config = boto3.session.Config(parameter_validation=False)
|
|
913
899
|
self.lambda_client = boto3.client(
|
|
914
|
-
"
|
|
900
|
+
"lambda",
|
|
915
901
|
endpoint_url=lambda_endpoint,
|
|
916
902
|
region_name=region,
|
|
917
903
|
config=client_config,
|
|
@@ -1154,10 +1140,7 @@ class DurableFunctionCloudTestRunner:
|
|
|
1154
1140
|
|
|
1155
1141
|
# Timeout reached
|
|
1156
1142
|
elapsed = time.time() - start_time
|
|
1157
|
-
msg = (
|
|
1158
|
-
f"Callback did not available within {timeout}s "
|
|
1159
|
-
f"(elapsed: {elapsed:.1f}s."
|
|
1160
|
-
)
|
|
1143
|
+
msg = f"Callback did not available within {timeout}s (elapsed: {elapsed:.1f}s."
|
|
1161
1144
|
raise TimeoutError(msg)
|
|
1162
1145
|
|
|
1163
1146
|
def _fetch_execution_history(
|
|
@@ -4,7 +4,6 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import json
|
|
6
6
|
import logging
|
|
7
|
-
from datetime import UTC, datetime
|
|
8
7
|
from pathlib import Path
|
|
9
8
|
|
|
10
9
|
from aws_durable_execution_sdk_python_testing.exceptions import (
|
|
@@ -16,30 +15,6 @@ from aws_durable_execution_sdk_python_testing.stores.base import (
|
|
|
16
15
|
)
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
class DateTimeEncoder(json.JSONEncoder):
|
|
20
|
-
"""Custom JSON encoder that handles datetime objects."""
|
|
21
|
-
|
|
22
|
-
def default(self, obj):
|
|
23
|
-
if isinstance(obj, datetime):
|
|
24
|
-
return obj.timestamp()
|
|
25
|
-
return super().default(obj)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def datetime_object_hook(obj):
|
|
29
|
-
"""JSON object hook to convert unix timestamps back to datetime objects."""
|
|
30
|
-
if isinstance(obj, dict):
|
|
31
|
-
for key, value in obj.items():
|
|
32
|
-
if isinstance(value, int | float) and key.endswith(
|
|
33
|
-
("_timestamp", "_time", "Timestamp", "Time")
|
|
34
|
-
):
|
|
35
|
-
try: # noqa: SIM105
|
|
36
|
-
obj[key] = datetime.fromtimestamp(value, tz=UTC)
|
|
37
|
-
except (ValueError, OSError):
|
|
38
|
-
# Leave as number if not a valid timestamp
|
|
39
|
-
pass
|
|
40
|
-
return obj
|
|
41
|
-
|
|
42
|
-
|
|
43
18
|
class FileSystemExecutionStore(BaseExecutionStore):
|
|
44
19
|
"""File system-based execution store for persistence."""
|
|
45
20
|
|
|
@@ -69,10 +44,10 @@ class FileSystemExecutionStore(BaseExecutionStore):
|
|
|
69
44
|
def save(self, execution: Execution) -> None:
|
|
70
45
|
"""Save execution to file system."""
|
|
71
46
|
file_path = self._get_file_path(execution.durable_execution_arn)
|
|
72
|
-
data = execution.
|
|
47
|
+
data = execution.to_json_dict()
|
|
73
48
|
|
|
74
49
|
with open(file_path, "w", encoding="utf-8") as f:
|
|
75
|
-
json.dump(data, f, indent=2
|
|
50
|
+
json.dump(data, f, indent=2)
|
|
76
51
|
|
|
77
52
|
def load(self, execution_arn: str) -> Execution:
|
|
78
53
|
"""Load execution from file system."""
|
|
@@ -82,9 +57,9 @@ class FileSystemExecutionStore(BaseExecutionStore):
|
|
|
82
57
|
raise ResourceNotFoundException(msg)
|
|
83
58
|
|
|
84
59
|
with open(file_path, encoding="utf-8") as f:
|
|
85
|
-
data = json.load(f
|
|
60
|
+
data = json.load(f)
|
|
86
61
|
|
|
87
|
-
return Execution.
|
|
62
|
+
return Execution.from_json_dict(data)
|
|
88
63
|
|
|
89
64
|
def update(self, execution: Execution) -> None:
|
|
90
65
|
"""Update execution in file system (same as save)."""
|
|
@@ -96,8 +71,8 @@ class FileSystemExecutionStore(BaseExecutionStore):
|
|
|
96
71
|
for file_path in self._storage_dir.glob("*.json"):
|
|
97
72
|
try:
|
|
98
73
|
with open(file_path, encoding="utf-8") as f:
|
|
99
|
-
data = json.load(f
|
|
100
|
-
executions.append(Execution.
|
|
74
|
+
data = json.load(f)
|
|
75
|
+
executions.append(Execution.from_json_dict(data))
|
|
101
76
|
except (json.JSONDecodeError, KeyError, OSError) as e:
|
|
102
77
|
logging.warning("Skipping corrupted file %s: %s", file_path, e)
|
|
103
78
|
continue
|
|
@@ -17,10 +17,6 @@ from aws_durable_execution_sdk_python_testing.execution import Execution
|
|
|
17
17
|
from aws_durable_execution_sdk_python_testing.stores.base import (
|
|
18
18
|
ExecutionStore,
|
|
19
19
|
)
|
|
20
|
-
from aws_durable_execution_sdk_python_testing.stores.filesystem import (
|
|
21
|
-
DateTimeEncoder,
|
|
22
|
-
datetime_object_hook,
|
|
23
|
-
)
|
|
24
20
|
|
|
25
21
|
|
|
26
22
|
class SQLiteExecutionStore(ExecutionStore):
|
|
@@ -102,7 +98,7 @@ class SQLiteExecutionStore(ExecutionStore):
|
|
|
102
98
|
execution_op.end_timestamp.timestamp()
|
|
103
99
|
if execution_op.end_timestamp
|
|
104
100
|
else None,
|
|
105
|
-
json.dumps(execution.
|
|
101
|
+
json.dumps(execution.to_json_dict()),
|
|
106
102
|
),
|
|
107
103
|
)
|
|
108
104
|
except sqlite3.Error as e:
|
|
@@ -125,9 +121,7 @@ class SQLiteExecutionStore(ExecutionStore):
|
|
|
125
121
|
if not row:
|
|
126
122
|
raise ResourceNotFoundException(f"Execution {execution_arn} not found")
|
|
127
123
|
|
|
128
|
-
return Execution.
|
|
129
|
-
json.loads(row[0], object_hook=datetime_object_hook)
|
|
130
|
-
)
|
|
124
|
+
return Execution.from_json_dict(json.loads(row[0]))
|
|
131
125
|
except sqlite3.Error as e:
|
|
132
126
|
raise RuntimeError(f"Failed to load execution {execution_arn}: {e}") from e
|
|
133
127
|
except json.JSONDecodeError as e:
|
|
@@ -222,11 +216,7 @@ class SQLiteExecutionStore(ExecutionStore):
|
|
|
222
216
|
executions: list[Execution] = []
|
|
223
217
|
for durable_execution_arn, data in rows:
|
|
224
218
|
try:
|
|
225
|
-
executions.append(
|
|
226
|
-
Execution.from_dict(
|
|
227
|
-
json.loads(data, object_hook=datetime_object_hook)
|
|
228
|
-
)
|
|
229
|
-
)
|
|
219
|
+
executions.append(Execution.from_json_dict(json.loads(data)))
|
|
230
220
|
except (json.JSONDecodeError, ValueError) as e:
|
|
231
221
|
# Log corrupted data but continue with other records
|
|
232
222
|
print(
|
|
@@ -110,15 +110,10 @@ class AwsRestJsonSerializer:
|
|
|
110
110
|
InvalidParameterValueException: If serializer creation fails
|
|
111
111
|
"""
|
|
112
112
|
try:
|
|
113
|
-
package_path = os.path.dirname(aws_durable_execution_sdk_python.__file__)
|
|
114
|
-
data_path = f"{package_path}/botocore/data"
|
|
115
|
-
|
|
116
113
|
# Load service model
|
|
117
|
-
os.environ["AWS_DATA_PATH"] = data_path
|
|
118
114
|
loader = botocore.loaders.Loader()
|
|
119
|
-
loader.search_paths.append(data_path)
|
|
120
115
|
|
|
121
|
-
raw_model = loader.load_service_model("
|
|
116
|
+
raw_model = loader.load_service_model("lambda", "service-2")
|
|
122
117
|
service_model = ServiceModel(raw_model)
|
|
123
118
|
|
|
124
119
|
# Create serializer (rest-json protocol)
|
|
@@ -190,15 +185,10 @@ class AwsRestJsonDeserializer:
|
|
|
190
185
|
InvalidParameterValueException: If deserializer creation fails
|
|
191
186
|
"""
|
|
192
187
|
try:
|
|
193
|
-
package_path = os.path.dirname(aws_durable_execution_sdk_python.__file__)
|
|
194
|
-
data_path = f"{package_path}/botocore/data"
|
|
195
|
-
|
|
196
188
|
# Load service model
|
|
197
|
-
os.environ["AWS_DATA_PATH"] = data_path
|
|
198
189
|
loader = botocore.loaders.Loader()
|
|
199
|
-
loader.search_paths.append(data_path)
|
|
200
190
|
|
|
201
|
-
raw_model = loader.load_service_model("
|
|
191
|
+
raw_model = loader.load_service_model("lambda", "service-2")
|
|
202
192
|
service_model = ServiceModel(raw_model)
|
|
203
193
|
|
|
204
194
|
# Create parser (rest-json protocol)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws-durable-execution-sdk-python-testing
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: AWS Durable Execution Testing SDK for Python
|
|
5
5
|
Project-URL: Documentation, https://github.com/aws/aws-durable-execution-sdk-python-testing#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/aws/aws-durable-execution-sdk-python-testing/issues
|
|
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
|
19
19
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
20
20
|
Requires-Python: >=3.11
|
|
21
21
|
Requires-Dist: aws-durable-execution-sdk-python>=1.0.0
|
|
22
|
-
Requires-Dist: boto3>=1.
|
|
22
|
+
Requires-Dist: boto3>=1.42.1
|
|
23
23
|
Requires-Dist: requests>=2.25.0
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
|
|
@@ -28,6 +28,9 @@ Description-Content-Type: text/markdown
|
|
|
28
28
|
[](https://pypi.org/project/aws-durable-execution-sdk-python-testing)
|
|
29
29
|
[](https://pypi.org/project/aws-durable-execution-sdk-python-testing)
|
|
30
30
|
|
|
31
|
+
|
|
32
|
+
[](https://scorecard.dev/viewer/?uri=github.com/aws/aws-durable-execution-sdk-python-testing)
|
|
33
|
+
|
|
31
34
|
-----
|
|
32
35
|
|
|
33
36
|
## Table of Contents
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
aws_durable_execution_sdk_python_testing/__about__.py,sha256=
|
|
1
|
+
aws_durable_execution_sdk_python_testing/__about__.py,sha256=K6F0cNJyiPOnBo1OtQh0Zl8-xoMS7hubOJU6p2XfWG0,137
|
|
2
2
|
aws_durable_execution_sdk_python_testing/__init__.py,sha256=bNtlkAlTpEvWJlUyFHcadozQfnb0PjnDze6upzJiog4,483
|
|
3
|
-
aws_durable_execution_sdk_python_testing/cli.py,sha256=
|
|
3
|
+
aws_durable_execution_sdk_python_testing/cli.py,sha256=ET2C3pYX_54BtV6GpLfP7FKkwOTgGoubPl0G9ixLmJk,18875
|
|
4
4
|
aws_durable_execution_sdk_python_testing/client.py,sha256=1CFuUXBZIkM7YOWwlJu4OrcjrJSTk01-Zc3N75kYSR4,1682
|
|
5
5
|
aws_durable_execution_sdk_python_testing/exceptions.py,sha256=ZgFPDtKgBn4-tj7fqaye901CksNQWL9RmMhgJBhEu_U,9110
|
|
6
|
-
aws_durable_execution_sdk_python_testing/execution.py,sha256=
|
|
6
|
+
aws_durable_execution_sdk_python_testing/execution.py,sha256=cxbRYvqe8Fo1yvvd0fokIhXNbS_VkavOPwUVux-rQ2w,17476
|
|
7
7
|
aws_durable_execution_sdk_python_testing/executor.py,sha256=EOWLFXzRgd_h2lz0Smb5wvgPeDcruG11Q32a0vdztEw,48548
|
|
8
|
-
aws_durable_execution_sdk_python_testing/invoker.py,sha256=
|
|
8
|
+
aws_durable_execution_sdk_python_testing/invoker.py,sha256=Bpgz6MHPpBRoMvT91Epj148gZyCHHs8n-mwRM8gfpPI,13104
|
|
9
9
|
aws_durable_execution_sdk_python_testing/model.py,sha256=__3Vtq6n_FgcdRd0SbWN30y6eUcw9p7nj_agEX3KD1g,120112
|
|
10
10
|
aws_durable_execution_sdk_python_testing/observer.py,sha256=32MOYOfrmlKRqbfTXTM7m22iT38U2oYLGUkp7ar4Kvw,4935
|
|
11
11
|
aws_durable_execution_sdk_python_testing/py.typed,sha256=DbCDcAirv769HS1ibzZLXq8VPazYf7JCkKSzj3ctudM,58
|
|
12
|
-
aws_durable_execution_sdk_python_testing/runner.py,sha256=
|
|
12
|
+
aws_durable_execution_sdk_python_testing/runner.py,sha256=iRhNs3BDEkKj03i3toVTqCYoyK0C11P-FUf97g44S98,42559
|
|
13
13
|
aws_durable_execution_sdk_python_testing/scheduler.py,sha256=yqKGu8r3OoqPaERpILVNCIwjhFRxGOKxk5u2QJyF-44,8551
|
|
14
14
|
aws_durable_execution_sdk_python_testing/token.py,sha256=5rUpWMMcfZUVdOX_ptukRYiIRDsOdUA7faHXNyDGJRU,1530
|
|
15
15
|
aws_durable_execution_sdk_python_testing/checkpoint/__init__.py,sha256=sPmvbGOTRrDUvjiQwxsN8jS7uEQhpobt84yzYLEHfhk,81
|
|
@@ -34,19 +34,19 @@ aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/step.p
|
|
|
34
34
|
aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/wait.py,sha256=E6m_upz1qQ6vQPOpU7mht0i_bBLLqfBP0UMYhGQG00k,1626
|
|
35
35
|
aws_durable_execution_sdk_python_testing/stores/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
36
36
|
aws_durable_execution_sdk_python_testing/stores/base.py,sha256=LdvwrhRgY8yCjxvnT1yZX6manFGzg_wmHwshnE8tWCg,5454
|
|
37
|
-
aws_durable_execution_sdk_python_testing/stores/filesystem.py,sha256=
|
|
37
|
+
aws_durable_execution_sdk_python_testing/stores/filesystem.py,sha256=o9DJ18bThSl1QUpfR3nE_BffLHchslePpz2VxrvLrJI,2910
|
|
38
38
|
aws_durable_execution_sdk_python_testing/stores/memory.py,sha256=V9PQTU6r-EHUqWPRui8YnjvEpxnLKKJxvfteNK3kgBo,1076
|
|
39
|
-
aws_durable_execution_sdk_python_testing/stores/sqlite.py,sha256=
|
|
39
|
+
aws_durable_execution_sdk_python_testing/stores/sqlite.py,sha256=QvMY_BUyg3FAYNDzqQz7BMseGmCTlRLlPa0r02JYvMc,10822
|
|
40
40
|
aws_durable_execution_sdk_python_testing/web/__init__.py,sha256=S8pemv1lfMXK4Kp8MIOAPEDMaUQGt9MArobCJhUERxw,84
|
|
41
41
|
aws_durable_execution_sdk_python_testing/web/errors.py,sha256=8elkOXggINFhmfRFSPqu3XvD0msiJ2gd5GD86o7pTQU,340
|
|
42
42
|
aws_durable_execution_sdk_python_testing/web/handlers.py,sha256=TBbroWvf_45Xus9zUR0ENVVQJMWWrO1Gt65F3KlTj6c,29129
|
|
43
43
|
aws_durable_execution_sdk_python_testing/web/models.py,sha256=B4SKVcTculNsO4Qd53tqkPnwVxwguP5PjNgnWF7dp8o,8852
|
|
44
44
|
aws_durable_execution_sdk_python_testing/web/routes.py,sha256=AU9fMhuR0HF9fltNZ6TZMNOueQc8wEeNyJqoBpMctm0,19466
|
|
45
|
-
aws_durable_execution_sdk_python_testing/web/serialization.py,sha256=
|
|
45
|
+
aws_durable_execution_sdk_python_testing/web/serialization.py,sha256=qN6qJNgEYVqRQD9uhHupJVxyZfz4sc8KzIwxEqVIEcI,7747
|
|
46
46
|
aws_durable_execution_sdk_python_testing/web/server.py,sha256=DQWwgyb_GKkHbFw_OYgPG1o7uIZ4-sG7F-GAUclLYu0,8853
|
|
47
|
-
aws_durable_execution_sdk_python_testing-1.
|
|
48
|
-
aws_durable_execution_sdk_python_testing-1.
|
|
49
|
-
aws_durable_execution_sdk_python_testing-1.
|
|
50
|
-
aws_durable_execution_sdk_python_testing-1.
|
|
51
|
-
aws_durable_execution_sdk_python_testing-1.
|
|
52
|
-
aws_durable_execution_sdk_python_testing-1.
|
|
47
|
+
aws_durable_execution_sdk_python_testing-1.1.1.dist-info/METADATA,sha256=1ztYF0AAmomzwasmgoPM-hkiDwguejCEvKDOYwQ5muo,8924
|
|
48
|
+
aws_durable_execution_sdk_python_testing-1.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
49
|
+
aws_durable_execution_sdk_python_testing-1.1.1.dist-info/entry_points.txt,sha256=fMm3DMHWb7k4-PSseaQ-BjUxNV_3Z7RyJaDVSwqnkEo,87
|
|
50
|
+
aws_durable_execution_sdk_python_testing-1.1.1.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
51
|
+
aws_durable_execution_sdk_python_testing-1.1.1.dist-info/licenses/NOTICE,sha256=1CkO1kwu3Q_OHYTj-d-yiBJA_lNN73a4zSntavaD4oc,67
|
|
52
|
+
aws_durable_execution_sdk_python_testing-1.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|