aws-durable-execution-sdk-python-testing 1.0.0.post1__tar.gz → 1.0.0.post2__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.
Files changed (52) hide show
  1. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/PKG-INFO +2 -2
  2. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/__about__.py +1 -1
  3. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/executor.py +19 -0
  4. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/pyproject.toml +1 -1
  5. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/.gitignore +0 -0
  6. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/LICENSE +0 -0
  7. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/NOTICE +0 -0
  8. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/README.md +0 -0
  9. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/__init__.py +0 -0
  10. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/__init__.py +0 -0
  11. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processor.py +0 -0
  12. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/__init__.py +0 -0
  13. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/base.py +0 -0
  14. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/callback.py +0 -0
  15. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/context.py +0 -0
  16. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/execution.py +0 -0
  17. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/step.py +0 -0
  18. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/processors/wait.py +0 -0
  19. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/transformer.py +0 -0
  20. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/__init__.py +0 -0
  21. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/checkpoint.py +0 -0
  22. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/__init__.py +0 -0
  23. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/callback.py +0 -0
  24. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/context.py +0 -0
  25. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/execution.py +0 -0
  26. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/invoke.py +0 -0
  27. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/step.py +0 -0
  28. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/operations/wait.py +0 -0
  29. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/checkpoint/validators/transitions.py +0 -0
  30. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/cli.py +0 -0
  31. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/client.py +0 -0
  32. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/exceptions.py +0 -0
  33. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/execution.py +0 -0
  34. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/invoker.py +0 -0
  35. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/model.py +0 -0
  36. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/observer.py +0 -0
  37. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/py.typed +0 -0
  38. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/runner.py +0 -0
  39. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/scheduler.py +0 -0
  40. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/stores/__init__.py +0 -0
  41. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/stores/base.py +0 -0
  42. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/stores/filesystem.py +0 -0
  43. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/stores/memory.py +0 -0
  44. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/stores/sqlite.py +0 -0
  45. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/token.py +0 -0
  46. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/__init__.py +0 -0
  47. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/errors.py +0 -0
  48. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/handlers.py +0 -0
  49. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/models.py +0 -0
  50. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/routes.py +0 -0
  51. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/serialization.py +0 -0
  52. {aws_durable_execution_sdk_python_testing-1.0.0.post1 → aws_durable_execution_sdk_python_testing-1.0.0.post2}/aws_durable_execution_sdk_python_testing/web/server.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-durable-execution-sdk-python-testing
3
- Version: 1.0.0.post1
4
- Summary: This is the Python SDK for AWS Lambda Durable Execution.
3
+ Version: 1.0.0.post2
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
7
7
  Project-URL: Source, https://github.com/aws/aws-durable-execution-sdk-python-testing
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2025-present Amazon.com, Inc. or its affiliates.
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
- __version__ = "1.0.0.post1"
4
+ __version__ = "1.0.0.post2"
@@ -90,6 +90,7 @@ class Executor(ExecutionObserver):
90
90
  self._completion_events: dict[str, Event] = {}
91
91
  self._callback_timeouts: dict[str, Future] = {}
92
92
  self._callback_heartbeats: dict[str, Future] = {}
93
+ self._execution_timeout: Future | None = None
93
94
 
94
95
  def start_execution(
95
96
  self,
@@ -118,6 +119,21 @@ class Executor(ExecutionObserver):
118
119
  completion_event = self._scheduler.create_event()
119
120
  self._completion_events[execution.durable_execution_arn] = completion_event
120
121
 
122
+ # Schedule execution timeout
123
+ if input.execution_timeout_seconds > 0:
124
+
125
+ def timeout_handler():
126
+ error = ErrorObject.from_message(
127
+ f"Execution timed out after {input.execution_timeout_seconds} seconds."
128
+ )
129
+ self.on_timed_out(execution.durable_execution_arn, error)
130
+
131
+ self._execution_timeout = self._scheduler.call_later(
132
+ timeout_handler,
133
+ delay=input.execution_timeout_seconds,
134
+ completion_event=completion_event,
135
+ )
136
+
121
137
  # Schedule initial invocation to run immediately
122
138
  self._invoke_execution(execution.durable_execution_arn)
123
139
 
@@ -897,6 +913,9 @@ class Executor(ExecutionObserver):
897
913
  # complete doesn't actually checkpoint explicitly
898
914
  if event := self._completion_events.get(execution_arn):
899
915
  event.set()
916
+ if self._execution_timeout:
917
+ self._execution_timeout.cancel()
918
+ self._execution_timeout = None
900
919
 
901
920
  def wait_until_complete(
902
921
  self, execution_arn: str, timeout: float | None = None
@@ -5,7 +5,7 @@ build-backend = "hatchling.build"
5
5
  [project]
6
6
  name = "aws-durable-execution-sdk-python-testing"
7
7
  dynamic = ["version"]
8
- description = 'This is the Python SDK for AWS Lambda Durable Execution.'
8
+ description = 'AWS Durable Execution Testing SDK for Python'
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
11
11
  license = "Apache-2.0"