simpleflow 0.34.3__tar.gz → 0.35.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.
Files changed (114) hide show
  1. {simpleflow-0.34.3 → simpleflow-0.35.0}/PKG-INFO +1 -1
  2. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/__init__.py +1 -1
  3. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/task.py +13 -1
  4. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/task.py +15 -3
  5. {simpleflow-0.34.3 → simpleflow-0.35.0}/.gitignore +0 -0
  6. {simpleflow-0.34.3 → simpleflow-0.35.0}/LICENSE +0 -0
  7. {simpleflow-0.34.3 → simpleflow-0.35.0}/README.md +0 -0
  8. {simpleflow-0.34.3 → simpleflow-0.35.0}/pyproject.toml +0 -0
  9. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/__main__.py +0 -0
  10. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/_decorators.py +0 -0
  11. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/activity.py +0 -0
  12. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/base.py +0 -0
  13. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/boto3_utils.py +0 -0
  14. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/canvas.py +0 -0
  15. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/command.py +0 -0
  16. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/constants.py +0 -0
  17. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/dispatch/__init__.py +0 -0
  18. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/dispatch/by_module.py +0 -0
  19. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/dispatch/dry_run.py +0 -0
  20. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/dispatch/dynamic_dispatcher.py +0 -0
  21. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/dispatch/exceptions.py +0 -0
  22. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/dispatch/from_task_registry.py +0 -0
  23. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/download.py +0 -0
  24. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/exceptions.py +0 -0
  25. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/execute.py +0 -0
  26. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/executor.py +0 -0
  27. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/format.py +0 -0
  28. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/futures.py +0 -0
  29. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/history.py +0 -0
  30. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/job/__init__.py +0 -0
  31. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/local/__init__.py +0 -0
  32. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/local/executor.py +0 -0
  33. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/log.py +0 -0
  34. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/logging_context.py +0 -0
  35. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/marker.py +0 -0
  36. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/metrology.py +0 -0
  37. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/process/__init__.py +0 -0
  38. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/process/_named_mixin.py +0 -0
  39. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/process/_supervisor.py +0 -0
  40. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/registry.py +0 -0
  41. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/runtime/__init__.py +0 -0
  42. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/settings/__init__.py +0 -0
  43. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/settings/base.py +0 -0
  44. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/settings/default.py +0 -0
  45. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/signal.py +0 -0
  46. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/step/__init__.py +0 -0
  47. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/step/constants.py +0 -0
  48. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/step/submittable.py +0 -0
  49. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/step/tasks.py +0 -0
  50. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/step/utils.py +0 -0
  51. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/step/workflow.py +0 -0
  52. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/storage.py +0 -0
  53. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/__init__.py +0 -0
  54. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/constants.py +0 -0
  55. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/executor.py +0 -0
  56. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/helpers.py +0 -0
  57. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/__init__.py +0 -0
  58. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/actors/__init__.py +0 -0
  59. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/actors/core.py +0 -0
  60. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/actors/decider.py +0 -0
  61. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/actors/worker.py +0 -0
  62. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/constants.py +0 -0
  63. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/core.py +0 -0
  64. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/exceptions.py +0 -0
  65. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/__init__.py +0 -0
  66. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/activity.py +0 -0
  67. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/base.py +0 -0
  68. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/decision/__init__.py +0 -0
  69. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/decision/base.py +0 -0
  70. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/decision/marker.py +0 -0
  71. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/decision/task.py +0 -0
  72. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/decision/timer.py +0 -0
  73. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/decision/workflow.py +0 -0
  74. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/domain.py +0 -0
  75. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/__init__.py +0 -0
  76. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/base.py +0 -0
  77. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/compiler.py +0 -0
  78. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/factory.py +0 -0
  79. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/marker.py +0 -0
  80. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/task.py +0 -0
  81. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/timer.py +0 -0
  82. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/event/workflow.py +0 -0
  83. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/history/__init__.py +0 -0
  84. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/history/base.py +0 -0
  85. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/history/builder.py +0 -0
  86. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/models/workflow.py +0 -0
  87. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/querysets/__init__.py +0 -0
  88. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/querysets/activity.py +0 -0
  89. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/querysets/base.py +0 -0
  90. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/querysets/domain.py +0 -0
  91. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/querysets/history.py +0 -0
  92. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/querysets/workflow.py +0 -0
  93. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/responses/__init__.py +0 -0
  94. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/responses/_base.py +0 -0
  95. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/settings.py +0 -0
  96. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/mapper/utils.py +0 -0
  97. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/__init__.py +0 -0
  98. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/decider/__init__.py +0 -0
  99. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/decider/base.py +0 -0
  100. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/decider/command.py +0 -0
  101. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/decider/helpers.py +0 -0
  102. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/poller.py +0 -0
  103. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/worker/__init__.py +0 -0
  104. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/worker/base.py +0 -0
  105. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/process/worker/command.py +0 -0
  106. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/stats/__init__.py +0 -0
  107. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/stats/base.py +0 -0
  108. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/stats/pretty.py +0 -0
  109. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/swf/utils.py +0 -0
  110. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/utils/__init__.py +0 -0
  111. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/utils/_dict.py +0 -0
  112. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/utils/_json.py +0 -0
  113. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/utils/retry.py +0 -0
  114. {simpleflow-0.34.3 → simpleflow-0.35.0}/simpleflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simpleflow
3
- Version: 0.34.3
3
+ Version: 0.35.0
4
4
  Summary: Python library for dataflow programming with Amazon SWF
5
5
  Project-URL: documentation, https://botify-labs.github.io/simpleflow
6
6
  Project-URL: repository, https://github.com/botify-labs/simpleflow
@@ -5,6 +5,6 @@ from .runtime import logger # NOQA
5
5
  from .signal import WaitForSignal # NOQA
6
6
  from .workflow import Workflow # NOQA
7
7
 
8
- __version__ = "0.34.3"
8
+ __version__ = "0.35.0"
9
9
  __author__ = "Greg Leclercq"
10
10
  __license__ = "MIT"
@@ -161,7 +161,14 @@ class WorkflowTask(task.WorkflowTask, SwfTask):
161
161
  """
162
162
  Casts a generic simpleflow.task.WorkflowTask into a SWF one.
163
163
  """
164
- return cls(task.executor, task.workflow, *task._args, **task._kwargs)
164
+ # Preserve an explicit decision task list override set on the generic task.
165
+ return cls(
166
+ task.executor,
167
+ task.workflow,
168
+ *task._args,
169
+ workflow_task_list=task._task_list,
170
+ **task._kwargs,
171
+ )
165
172
 
166
173
  @property
167
174
  def name(self):
@@ -173,6 +180,11 @@ class WorkflowTask(task.WorkflowTask, SwfTask):
173
180
 
174
181
  @property
175
182
  def task_list(self) -> str | None:
183
+ # An explicit override (e.g. to make a child workflow inherit its
184
+ # parent's decision task list) wins over the workflow's own logic.
185
+ if self._task_list:
186
+ return self._task_list
187
+
176
188
  get_task_list = getattr(self.workflow, "get_task_list", None)
177
189
  if get_task_list:
178
190
  return get_task_list(self.workflow, *self.args, **self.kwargs)
@@ -146,7 +146,14 @@ class WorkflowTask(Task):
146
146
  Child workflow.
147
147
  """
148
148
 
149
- def __init__(self, executor: Executor | None, workflow: type[Workflow], *args, **kwargs) -> None:
149
+ def __init__(
150
+ self,
151
+ executor: Executor | None,
152
+ workflow: type[Workflow],
153
+ *args,
154
+ workflow_task_list: str | None = None,
155
+ **kwargs,
156
+ ) -> None:
150
157
  # Keep original arguments for use in subclasses
151
158
  # For instance this helps casting a generic class to a simpleflow.swf.task,
152
159
  # see simpleflow.swf.task.WorkflowTask.from_generic_task() factory
@@ -159,6 +166,11 @@ class WorkflowTask(Task):
159
166
  get_workflow_id = getattr(workflow, "get_workflow_id", None)
160
167
  self.args = self.resolve_args(*args)
161
168
  self.kwargs = self.resolve_kwargs(**kwargs)
169
+ # Explicit decision task list for the child workflow. When set, it takes
170
+ # precedence over the child workflow's own ``get_task_list``/``task_list``
171
+ # (see simpleflow.swf.task.WorkflowTask.task_list). It is *not* a run
172
+ # argument: it never reaches the child's ``run()``.
173
+ self._task_list = workflow_task_list
162
174
 
163
175
  if get_workflow_id:
164
176
  self.id: str | None = get_workflow_id(workflow, *self.args, **self.kwargs)
@@ -192,8 +204,8 @@ class ChildWorkflowTask(WorkflowTask):
192
204
  (yet).
193
205
  """
194
206
 
195
- def __init__(self, workflow: type[Workflow], *args, **kwargs) -> None:
196
- super().__init__(None, workflow, *args, **kwargs)
207
+ def __init__(self, workflow: type[Workflow], *args, workflow_task_list: str | None = None, **kwargs) -> None:
208
+ super().__init__(None, workflow, *args, workflow_task_list=workflow_task_list, **kwargs)
197
209
 
198
210
 
199
211
  class SignalTask(Task):
File without changes
File without changes
File without changes
File without changes