pyworkflow-engine 0.1.7__py3-none-any.whl → 0.1.10__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.
- pyworkflow/__init__.py +10 -1
- pyworkflow/celery/tasks.py +272 -24
- pyworkflow/cli/__init__.py +4 -1
- pyworkflow/cli/commands/runs.py +4 -4
- pyworkflow/cli/commands/setup.py +203 -4
- pyworkflow/cli/utils/config_generator.py +76 -3
- pyworkflow/cli/utils/docker_manager.py +232 -0
- pyworkflow/config.py +94 -17
- pyworkflow/context/__init__.py +13 -0
- pyworkflow/context/base.py +26 -0
- pyworkflow/context/local.py +80 -0
- pyworkflow/context/step_context.py +295 -0
- pyworkflow/core/registry.py +6 -1
- pyworkflow/core/step.py +141 -0
- pyworkflow/core/workflow.py +56 -0
- pyworkflow/engine/events.py +30 -0
- pyworkflow/engine/replay.py +39 -0
- pyworkflow/primitives/child_workflow.py +1 -1
- pyworkflow/runtime/local.py +1 -1
- pyworkflow/storage/__init__.py +14 -0
- pyworkflow/storage/base.py +35 -0
- pyworkflow/storage/cassandra.py +1747 -0
- pyworkflow/storage/config.py +69 -0
- pyworkflow/storage/dynamodb.py +31 -2
- pyworkflow/storage/file.py +28 -0
- pyworkflow/storage/memory.py +18 -0
- pyworkflow/storage/mysql.py +1159 -0
- pyworkflow/storage/postgres.py +27 -2
- pyworkflow/storage/schemas.py +4 -3
- pyworkflow/storage/sqlite.py +25 -2
- {pyworkflow_engine-0.1.7.dist-info → pyworkflow_engine-0.1.10.dist-info}/METADATA +7 -4
- pyworkflow_engine-0.1.10.dist-info/RECORD +91 -0
- pyworkflow_engine-0.1.10.dist-info/top_level.txt +1 -0
- dashboard/backend/app/__init__.py +0 -1
- dashboard/backend/app/config.py +0 -32
- dashboard/backend/app/controllers/__init__.py +0 -6
- dashboard/backend/app/controllers/run_controller.py +0 -86
- dashboard/backend/app/controllers/workflow_controller.py +0 -33
- dashboard/backend/app/dependencies/__init__.py +0 -5
- dashboard/backend/app/dependencies/storage.py +0 -50
- dashboard/backend/app/repositories/__init__.py +0 -6
- dashboard/backend/app/repositories/run_repository.py +0 -80
- dashboard/backend/app/repositories/workflow_repository.py +0 -27
- dashboard/backend/app/rest/__init__.py +0 -8
- dashboard/backend/app/rest/v1/__init__.py +0 -12
- dashboard/backend/app/rest/v1/health.py +0 -33
- dashboard/backend/app/rest/v1/runs.py +0 -133
- dashboard/backend/app/rest/v1/workflows.py +0 -41
- dashboard/backend/app/schemas/__init__.py +0 -23
- dashboard/backend/app/schemas/common.py +0 -16
- dashboard/backend/app/schemas/event.py +0 -24
- dashboard/backend/app/schemas/hook.py +0 -25
- dashboard/backend/app/schemas/run.py +0 -54
- dashboard/backend/app/schemas/step.py +0 -28
- dashboard/backend/app/schemas/workflow.py +0 -31
- dashboard/backend/app/server.py +0 -87
- dashboard/backend/app/services/__init__.py +0 -6
- dashboard/backend/app/services/run_service.py +0 -240
- dashboard/backend/app/services/workflow_service.py +0 -155
- dashboard/backend/main.py +0 -18
- docs/concepts/cancellation.mdx +0 -362
- docs/concepts/continue-as-new.mdx +0 -434
- docs/concepts/events.mdx +0 -266
- docs/concepts/fault-tolerance.mdx +0 -370
- docs/concepts/hooks.mdx +0 -552
- docs/concepts/limitations.mdx +0 -167
- docs/concepts/schedules.mdx +0 -775
- docs/concepts/sleep.mdx +0 -312
- docs/concepts/steps.mdx +0 -301
- docs/concepts/workflows.mdx +0 -255
- docs/guides/cli.mdx +0 -942
- docs/guides/configuration.mdx +0 -560
- docs/introduction.mdx +0 -155
- docs/quickstart.mdx +0 -279
- examples/__init__.py +0 -1
- examples/celery/__init__.py +0 -1
- examples/celery/durable/docker-compose.yml +0 -55
- examples/celery/durable/pyworkflow.config.yaml +0 -12
- examples/celery/durable/workflows/__init__.py +0 -122
- examples/celery/durable/workflows/basic.py +0 -87
- examples/celery/durable/workflows/batch_processing.py +0 -102
- examples/celery/durable/workflows/cancellation.py +0 -273
- examples/celery/durable/workflows/child_workflow_patterns.py +0 -240
- examples/celery/durable/workflows/child_workflows.py +0 -202
- examples/celery/durable/workflows/continue_as_new.py +0 -260
- examples/celery/durable/workflows/fault_tolerance.py +0 -210
- examples/celery/durable/workflows/hooks.py +0 -211
- examples/celery/durable/workflows/idempotency.py +0 -112
- examples/celery/durable/workflows/long_running.py +0 -99
- examples/celery/durable/workflows/retries.py +0 -101
- examples/celery/durable/workflows/schedules.py +0 -209
- examples/celery/transient/01_basic_workflow.py +0 -91
- examples/celery/transient/02_fault_tolerance.py +0 -257
- examples/celery/transient/__init__.py +0 -20
- examples/celery/transient/pyworkflow.config.yaml +0 -25
- examples/local/__init__.py +0 -1
- examples/local/durable/01_basic_workflow.py +0 -94
- examples/local/durable/02_file_storage.py +0 -132
- examples/local/durable/03_retries.py +0 -169
- examples/local/durable/04_long_running.py +0 -119
- examples/local/durable/05_event_log.py +0 -145
- examples/local/durable/06_idempotency.py +0 -148
- examples/local/durable/07_hooks.py +0 -334
- examples/local/durable/08_cancellation.py +0 -233
- examples/local/durable/09_child_workflows.py +0 -198
- examples/local/durable/10_child_workflow_patterns.py +0 -265
- examples/local/durable/11_continue_as_new.py +0 -249
- examples/local/durable/12_schedules.py +0 -198
- examples/local/durable/__init__.py +0 -1
- examples/local/transient/01_quick_tasks.py +0 -87
- examples/local/transient/02_retries.py +0 -130
- examples/local/transient/03_sleep.py +0 -141
- examples/local/transient/__init__.py +0 -1
- pyworkflow_engine-0.1.7.dist-info/RECORD +0 -196
- pyworkflow_engine-0.1.7.dist-info/top_level.txt +0 -5
- tests/examples/__init__.py +0 -0
- tests/integration/__init__.py +0 -0
- tests/integration/test_cancellation.py +0 -330
- tests/integration/test_child_workflows.py +0 -439
- tests/integration/test_continue_as_new.py +0 -428
- tests/integration/test_dynamodb_storage.py +0 -1146
- tests/integration/test_fault_tolerance.py +0 -369
- tests/integration/test_schedule_storage.py +0 -484
- tests/unit/__init__.py +0 -0
- tests/unit/backends/__init__.py +0 -1
- tests/unit/backends/test_dynamodb_storage.py +0 -1554
- tests/unit/backends/test_postgres_storage.py +0 -1281
- tests/unit/backends/test_sqlite_storage.py +0 -1460
- tests/unit/conftest.py +0 -41
- tests/unit/test_cancellation.py +0 -364
- tests/unit/test_child_workflows.py +0 -680
- tests/unit/test_continue_as_new.py +0 -441
- tests/unit/test_event_limits.py +0 -316
- tests/unit/test_executor.py +0 -320
- tests/unit/test_fault_tolerance.py +0 -334
- tests/unit/test_hooks.py +0 -495
- tests/unit/test_registry.py +0 -261
- tests/unit/test_replay.py +0 -420
- tests/unit/test_schedule_schemas.py +0 -285
- tests/unit/test_schedule_utils.py +0 -286
- tests/unit/test_scheduled_workflow.py +0 -274
- tests/unit/test_step.py +0 -353
- tests/unit/test_workflow.py +0 -243
- {pyworkflow_engine-0.1.7.dist-info → pyworkflow_engine-0.1.10.dist-info}/WHEEL +0 -0
- {pyworkflow_engine-0.1.7.dist-info → pyworkflow_engine-0.1.10.dist-info}/entry_points.txt +0 -0
- {pyworkflow_engine-0.1.7.dist-info → pyworkflow_engine-0.1.10.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Transient Workflow - Async Sleep
|
|
3
|
-
|
|
4
|
-
This example demonstrates sleep() behavior in transient mode.
|
|
5
|
-
- Uses asyncio.sleep() under the hood (blocks workflow)
|
|
6
|
-
- No workflow suspension (unlike durable mode)
|
|
7
|
-
- Simple delay mechanism
|
|
8
|
-
- Perfect for rate limiting and delays
|
|
9
|
-
|
|
10
|
-
Run: python examples/local/transient/03_sleep.py 2>/dev/null
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
import asyncio
|
|
14
|
-
from datetime import datetime
|
|
15
|
-
|
|
16
|
-
from pyworkflow import (
|
|
17
|
-
configure,
|
|
18
|
-
reset_config,
|
|
19
|
-
sleep,
|
|
20
|
-
start,
|
|
21
|
-
step,
|
|
22
|
-
workflow,
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
# --- Steps ---
|
|
27
|
-
@step()
|
|
28
|
-
async def start_task(task_id: str) -> dict:
|
|
29
|
-
"""Start a task."""
|
|
30
|
-
timestamp = datetime.now().strftime("%H:%M:%S")
|
|
31
|
-
print(f" [{timestamp}] Starting task {task_id}...")
|
|
32
|
-
return {"task_id": task_id, "status": "started"}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
@step()
|
|
36
|
-
async def process_task(task: dict) -> dict:
|
|
37
|
-
"""Process the task."""
|
|
38
|
-
timestamp = datetime.now().strftime("%H:%M:%S")
|
|
39
|
-
print(f" [{timestamp}] Processing task {task['task_id']}...")
|
|
40
|
-
return {**task, "status": "processed"}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
@step()
|
|
44
|
-
async def complete_task(task: dict) -> dict:
|
|
45
|
-
"""Complete the task."""
|
|
46
|
-
timestamp = datetime.now().strftime("%H:%M:%S")
|
|
47
|
-
print(f" [{timestamp}] Completing task {task['task_id']}...")
|
|
48
|
-
return {**task, "status": "completed"}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
# --- Workflows ---
|
|
52
|
-
@workflow(durable=False, tags=["local", "transient"])
|
|
53
|
-
async def delayed_workflow(task_id: str, delay_seconds: int) -> dict:
|
|
54
|
-
"""Workflow with sleep delay."""
|
|
55
|
-
task = await start_task(task_id)
|
|
56
|
-
|
|
57
|
-
timestamp = datetime.now().strftime("%H:%M:%S")
|
|
58
|
-
print(f" [{timestamp}] Sleeping for {delay_seconds} seconds...")
|
|
59
|
-
await sleep(f"{delay_seconds}s") # Uses asyncio.sleep() in transient mode
|
|
60
|
-
|
|
61
|
-
timestamp = datetime.now().strftime("%H:%M:%S")
|
|
62
|
-
print(f" [{timestamp}] Woke up from sleep!")
|
|
63
|
-
|
|
64
|
-
task = await process_task(task)
|
|
65
|
-
task = await complete_task(task)
|
|
66
|
-
return task
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
@workflow(durable=False, tags=["local", "transient"])
|
|
70
|
-
async def rate_limited_workflow(task_id: str) -> dict:
|
|
71
|
-
"""Workflow demonstrating rate limiting pattern."""
|
|
72
|
-
task = await start_task(task_id)
|
|
73
|
-
|
|
74
|
-
# Simulate rate limiting between API calls
|
|
75
|
-
print(" Rate limiting: waiting 2 seconds before next API call...")
|
|
76
|
-
await sleep("2s")
|
|
77
|
-
|
|
78
|
-
task = await process_task(task)
|
|
79
|
-
|
|
80
|
-
# Another rate limit delay
|
|
81
|
-
print(" Rate limiting: waiting 2 seconds before final call...")
|
|
82
|
-
await sleep("2s")
|
|
83
|
-
|
|
84
|
-
task = await complete_task(task)
|
|
85
|
-
return task
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
async def main():
|
|
89
|
-
# Configure for transient mode
|
|
90
|
-
reset_config()
|
|
91
|
-
configure(default_durable=False)
|
|
92
|
-
|
|
93
|
-
print("=== Transient Workflow - Async Sleep ===\n")
|
|
94
|
-
|
|
95
|
-
# Example 1: Basic sleep
|
|
96
|
-
print("Example 1: Basic sleep (3 seconds)\n")
|
|
97
|
-
start_time = datetime.now()
|
|
98
|
-
|
|
99
|
-
run_id = await start(delayed_workflow, "task-001", 3)
|
|
100
|
-
|
|
101
|
-
end_time = datetime.now()
|
|
102
|
-
elapsed = (end_time - start_time).total_seconds()
|
|
103
|
-
|
|
104
|
-
print(f"\nWorkflow completed: {run_id}")
|
|
105
|
-
print(f"Total time: {elapsed:.1f} seconds")
|
|
106
|
-
|
|
107
|
-
# Example 2: Rate limiting
|
|
108
|
-
print("\n" + "=" * 60)
|
|
109
|
-
print("\nExample 2: Rate limiting with multiple sleeps\n")
|
|
110
|
-
start_time = datetime.now()
|
|
111
|
-
|
|
112
|
-
run_id = await start(rate_limited_workflow, "task-002")
|
|
113
|
-
|
|
114
|
-
end_time = datetime.now()
|
|
115
|
-
elapsed = (end_time - start_time).total_seconds()
|
|
116
|
-
|
|
117
|
-
print(f"\nWorkflow completed: {run_id}")
|
|
118
|
-
print(f"Total time: {elapsed:.1f} seconds")
|
|
119
|
-
|
|
120
|
-
print("\n=== Sleep Behavior in Transient Mode ===")
|
|
121
|
-
print("✓ Uses asyncio.sleep() (blocks the workflow)")
|
|
122
|
-
print("✓ No workflow suspension (process keeps running)")
|
|
123
|
-
print("✓ No resource release during sleep")
|
|
124
|
-
print("✓ Perfect for short delays and rate limiting")
|
|
125
|
-
|
|
126
|
-
print("\n=== Sleep Format Support ===")
|
|
127
|
-
print('sleep("5s") - 5 seconds')
|
|
128
|
-
print('sleep("2m") - 2 minutes')
|
|
129
|
-
print('sleep("1h") - 1 hour')
|
|
130
|
-
print("sleep(30) - 30 seconds (int)")
|
|
131
|
-
print("sleep(timedelta(seconds=10)) - 10 seconds")
|
|
132
|
-
|
|
133
|
-
print("\n=== Difference from Durable Mode ===")
|
|
134
|
-
print("Transient: sleep() blocks using asyncio.sleep()")
|
|
135
|
-
print("Durable: sleep() suspends workflow, can resume later")
|
|
136
|
-
print("\nFor long-running workflows with suspension:")
|
|
137
|
-
print(" See examples/local/durable/04_long_running.py")
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if __name__ == "__main__":
|
|
141
|
-
asyncio.run(main())
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# PyWorkflow Local Transient Examples Package
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
dashboard/backend/main.py,sha256=0w7mg8gHbJJPlbD-JQPMJxLsswIvZRW8lNDnjBhY8R4,338
|
|
2
|
-
dashboard/backend/app/__init__.py,sha256=VhJu_FV9ke7EZlC3VowVxOmVrcPWPGU2AfMkRgLwEPA,36
|
|
3
|
-
dashboard/backend/app/config.py,sha256=SofNanrybmZhgtF0wFT6WZeJrbz9ackwK0XvdjOxglY,814
|
|
4
|
-
dashboard/backend/app/server.py,sha256=Vp9y5Eu1ktN9ZDVgFYfRWcVz7QdJmJhVmgfQocldOWI,2405
|
|
5
|
-
dashboard/backend/app/controllers/__init__.py,sha256=EUqGJEODJkug1YFHzEgSJTJftIWzzVvXnHZpML7jdYc,201
|
|
6
|
-
dashboard/backend/app/controllers/run_controller.py,sha256=HeSw4K3D2txkJFjU5afLnrOg53uWBoLW5aUHPBQdB5w,2716
|
|
7
|
-
dashboard/backend/app/controllers/workflow_controller.py,sha256=q0_IzWKsC-qpa7MzF_brO01xjNKzGPKKY1oXut8GQiw,1024
|
|
8
|
-
dashboard/backend/app/dependencies/__init__.py,sha256=Bn-fjVgsjNf_Tcai8PyKhwDs3yT86CwmN7fB7VNSiNs,105
|
|
9
|
-
dashboard/backend/app/dependencies/storage.py,sha256=rBeHnGQa49vn95peNIouaVHGaGOrsaIAfXEwkqCslR0,1703
|
|
10
|
-
dashboard/backend/app/repositories/__init__.py,sha256=T-esMlJimz-Mu1ZhHcPmZI7Mil6n0Hl-HSos_PEIWr4,202
|
|
11
|
-
dashboard/backend/app/repositories/run_repository.py,sha256=GhjCGjBdKxYCeA9zJZcZRJea-1PBoLZ3iyFPvEQEkzU,2357
|
|
12
|
-
dashboard/backend/app/repositories/workflow_repository.py,sha256=LMSm28-_iWFedQQvzsnGwQGwAj0RXj29v-ZQQEQsqkc,752
|
|
13
|
-
dashboard/backend/app/rest/__init__.py,sha256=VruucqKlRXLgK9eoa5M_DoPRJzZhHUY6-3MiTixAwME,172
|
|
14
|
-
dashboard/backend/app/rest/v1/__init__.py,sha256=GCUz23b_z8vqLiU-9M3qYlZ5axv6_nesInPdGGJrkRk,443
|
|
15
|
-
dashboard/backend/app/rest/v1/health.py,sha256=Zmt0CA5PJcIO_hHPFuM15zrnzZroFdtg4uToleWpY1c,773
|
|
16
|
-
dashboard/backend/app/rest/v1/runs.py,sha256=E4XVQYjzSqBTT44gmOA6Io-q7cta465MTwbqv4S3lac,4146
|
|
17
|
-
dashboard/backend/app/rest/v1/workflows.py,sha256=ygfM6yettagC-nrJuHo1JGrouGhXFg8saa1-HULpCF4,1078
|
|
18
|
-
dashboard/backend/app/schemas/__init__.py,sha256=12Dxel8goPL1-lBRXIq7ieIKVTvUZwlfEAFaZrC7UzY,730
|
|
19
|
-
dashboard/backend/app/schemas/common.py,sha256=lIzI4CK4w0YssZG2zEP90fLNa6autOWilAAELFoQCaU,281
|
|
20
|
-
dashboard/backend/app/schemas/event.py,sha256=Yb_wPbFNV4njP2SodCnYOscBhUhkUrASzVm7B6a4EB4,462
|
|
21
|
-
dashboard/backend/app/schemas/hook.py,sha256=Fo-NLU35JC7rJjgT_la-lR13Sz2aOHddlfUFlBk286U,501
|
|
22
|
-
dashboard/backend/app/schemas/run.py,sha256=BfnRSDDS3jnSLX5g6EJvPNP4tT4UQw4_YP38v2OeaZw,1228
|
|
23
|
-
dashboard/backend/app/schemas/step.py,sha256=nL9CJtl5nQ3M1xZt4LwlzPkf5j4VKVDzOW3V4GC1-74,600
|
|
24
|
-
dashboard/backend/app/schemas/workflow.py,sha256=I-ULGItjMPSqtxqQ1mcRmmb4dVSMebKHUTT5Vh9by70,708
|
|
25
|
-
dashboard/backend/app/services/__init__.py,sha256=CiywPcgYKoHfOqqGolfE-LrlZ64Wxa2mpBWoFQQLJRo,174
|
|
26
|
-
dashboard/backend/app/services/run_service.py,sha256=WOpp9AzrJdMRWx9NYqYp2LhcL5y3X8-_KLOYeq8fUa0,7178
|
|
27
|
-
dashboard/backend/app/services/workflow_service.py,sha256=A0-4-GA7nVnBqolISHblboy6UuxMDeaBb9fjILBAPCo,4287
|
|
28
|
-
docs/introduction.mdx,sha256=S_J9FZcVMwBWn5gehphz-6DhYMcRleAtXySpjA9m8BI,5613
|
|
29
|
-
docs/quickstart.mdx,sha256=_MYZu3qxdBc1B_Hn7gebCNj6Z0HWANb1mKmDPb0l3DU,7464
|
|
30
|
-
docs/concepts/cancellation.mdx,sha256=AaBfXHgNlrXmvDpyZEppgKTu0D4yAp0TG5--hDh0G9E,11568
|
|
31
|
-
docs/concepts/continue-as-new.mdx,sha256=F6xBMwXLk5j8doLwIeL7aoS-GjL2PwALnYBVg8jE_gY,13599
|
|
32
|
-
docs/concepts/events.mdx,sha256=v4qyp3vu5MVEs7n17Q1Wz4kyPPY-wFfKe0apagEFCWs,7868
|
|
33
|
-
docs/concepts/fault-tolerance.mdx,sha256=I2YmY7wcDFST1V4jdBX-Kib0LBJbliORIztYdzkAQwA,14054
|
|
34
|
-
docs/concepts/hooks.mdx,sha256=prXaPOGjdKWcOwjKbAFpcjJwUk6qBNuY5L0cu4JBzlk,15393
|
|
35
|
-
docs/concepts/limitations.mdx,sha256=-RcgqGtc2KdtORKWTk7LLmXihvP1uGEMyMH5lvXBBcc,5422
|
|
36
|
-
docs/concepts/schedules.mdx,sha256=aM6UVyQOQ4cMoXH7nGJA_5k2o_Yo7qxN6dstlix2Ro4,21897
|
|
37
|
-
docs/concepts/sleep.mdx,sha256=pxB6P-Ruvp6hgyQiGVzijmkhvzMWqz2ROMOhdFynVc4,7430
|
|
38
|
-
docs/concepts/steps.mdx,sha256=Q933pi1W8zln8EU50Ozk98C97Pc1gKTfKFuElUju31Q,8091
|
|
39
|
-
docs/concepts/workflows.mdx,sha256=M8MD0tU-hnGhnpdvGCrGwNbfwpJJjA2rh9M2KNgiolg,8010
|
|
40
|
-
docs/guides/cli.mdx,sha256=vRhdght9ZoQZ48YqIPb_8d6ABmv2x1lSnJ65cLd9Sak,24072
|
|
41
|
-
docs/guides/configuration.mdx,sha256=Qs1yO96HOl8WJism6-0Rqz48XW4Gd6wfVqKaARhYF68,15044
|
|
42
|
-
examples/__init__.py,sha256=ZKOmZiyKXe_C014WCgNlcrEHb2FweH2Obl5_jy4tFtI,30
|
|
43
|
-
examples/celery/__init__.py,sha256=_WVdfeZVa-byrFJtEm3ox6kTv4MwJ8Q2XIv8VF5kIx4,37
|
|
44
|
-
examples/celery/durable/docker-compose.yml,sha256=6clHtaRi974en3ELhZBLcWZnQDd9UivLXuXjNuEfV50,1528
|
|
45
|
-
examples/celery/durable/pyworkflow.config.yaml,sha256=s5RQCQTaTnHKwGYhWs7qvnnQxhH0UcmLqY1rlUCAb4g,293
|
|
46
|
-
examples/celery/durable/workflows/__init__.py,sha256=sEy7aJnx5rLPRdbGs5iIHFaSBkvp6Y7OUPBSM7r5sxQ,3287
|
|
47
|
-
examples/celery/durable/workflows/basic.py,sha256=2CrQ31Y59rWtgeprPG0j1-hH7FfkxB3H-QOsP8sEeuY,2796
|
|
48
|
-
examples/celery/durable/workflows/batch_processing.py,sha256=E3Mz9lnrOzb4EaOJ8jarWVqrbz1gxLYtFOE07Fxo5dQ,3371
|
|
49
|
-
examples/celery/durable/workflows/cancellation.py,sha256=EMFr-4aZGW15dCgKtFuLQKPC9eBsxgfkw8XTueLXV34,9117
|
|
50
|
-
examples/celery/durable/workflows/child_workflow_patterns.py,sha256=L-koPTtjM_JQpt4IXt1s-Z_cJV6C0tu6TocRV1MMCtg,8468
|
|
51
|
-
examples/celery/durable/workflows/child_workflows.py,sha256=8ycbf5lpJpACMcm1FiLHPUvd-oKesADvDSg37s9WMfk,7174
|
|
52
|
-
examples/celery/durable/workflows/continue_as_new.py,sha256=Z3Ey9bE8fCRHQvih10aRDpd6VHdx7fSAzjfmYfXzjAU,8028
|
|
53
|
-
examples/celery/durable/workflows/fault_tolerance.py,sha256=CIblbq9T_zsSKYMuEkLOuZCSMCQ5x8KUp0KEy7QwgOQ,6971
|
|
54
|
-
examples/celery/durable/workflows/hooks.py,sha256=3kY276H-vlBxK04zLCKl9BMVTPCVkSutszGbhLlDHB4,6851
|
|
55
|
-
examples/celery/durable/workflows/idempotency.py,sha256=3LHGvrL7Jw8dPDPktTWYAiy407lpzFeJRRE3DK65sf4,3984
|
|
56
|
-
examples/celery/durable/workflows/long_running.py,sha256=V5t-_fO3GXH3xsflLWruOc4NymJ-nSQanFxUBh6lWBc,3177
|
|
57
|
-
examples/celery/durable/workflows/retries.py,sha256=3-zJnF3mvcHrkaUO8afkUOOFroO1iCY8jWjQP3z-QDQ,3284
|
|
58
|
-
examples/celery/durable/workflows/schedules.py,sha256=U2Ni8rRFt-3Oau3ek5pzsTC-IrxhnYupNqOcMteEHJY,6672
|
|
59
|
-
examples/celery/transient/01_basic_workflow.py,sha256=WuRHofa8wvdnzCu2vtx601cKCivhDD8CVfJIM0xPWDg,2774
|
|
60
|
-
examples/celery/transient/02_fault_tolerance.py,sha256=ihoCnuYq2DwIMI88hxY_YM0LPwAO2IBuxphCG2jThbM,9052
|
|
61
|
-
examples/celery/transient/__init__.py,sha256=pFNAED54Oj2PSksFPxjtv2KrgMLnRDobHZ53rZQUNGA,798
|
|
62
|
-
examples/celery/transient/pyworkflow.config.yaml,sha256=uBxlq4NLyFJrFrPU3ZEh6rbOHCHNuuSSxeMA7t9xAfo,685
|
|
63
|
-
examples/local/__init__.py,sha256=ESXk4CALCAUStP3YsGz9cW0h0tw_C7lpfpABM5HGGyQ,36
|
|
64
|
-
examples/local/durable/01_basic_workflow.py,sha256=dXk7YeTlzpp2LEtOewmsww0WAC-J7Org_Xf71OCvLPc,2768
|
|
65
|
-
examples/local/durable/02_file_storage.py,sha256=4V_MoQBqe-nuMlJhQVFOTgPD4Nl1QgMqYpjwbsu8plw,4330
|
|
66
|
-
examples/local/durable/03_retries.py,sha256=Z2fSj3ldMWrLSt2pvg2Uyup9Jv5NiKsCHsL_k_DE_2o,5807
|
|
67
|
-
examples/local/durable/04_long_running.py,sha256=fiYpa5QuwZmZKswiSsHspiCBa_tFko3w2pMDa3wGtfw,3892
|
|
68
|
-
examples/local/durable/05_event_log.py,sha256=V7n_74u_51THG9vgNDf-1Sqd_TWC6jiszFxx4w5gUx4,4467
|
|
69
|
-
examples/local/durable/06_idempotency.py,sha256=6DOT2ws6-Kf-95mGIPU5OVkugoGON9idyFDYX0sIUuc,5047
|
|
70
|
-
examples/local/durable/07_hooks.py,sha256=yPOfz1npQ_u7FHkU1LjZCO82kd6xihUOeau2nzWoyZo,10432
|
|
71
|
-
examples/local/durable/08_cancellation.py,sha256=bDaZsgnfOfHed7zaY45IUx38Dl9uyta6nm72nxpDGns,7423
|
|
72
|
-
examples/local/durable/09_child_workflows.py,sha256=uAH26iBxMsKBcFvn5zVZO2uiuDXK8rMXffiPJNnz8FY,6731
|
|
73
|
-
examples/local/durable/10_child_workflow_patterns.py,sha256=tyK0QAJLQJe53jdPgH7ay7GWA0WfqJoav_oRIL8KJGA,8476
|
|
74
|
-
examples/local/durable/11_continue_as_new.py,sha256=AHTwKWit1vR1d2zk-o3xZBLBbzX4B7oz_93BNuG6E_s,7747
|
|
75
|
-
examples/local/durable/12_schedules.py,sha256=0zzHhUvhmVrqsBd_4bsewWvlUOnVIeQFx9meX11auQA,6219
|
|
76
|
-
examples/local/durable/__init__.py,sha256=AnkHdfpABaF0GImcTV0Go9ygGGY00HDgDcl_so7xPIY,44
|
|
77
|
-
examples/local/transient/01_quick_tasks.py,sha256=BzbSy69MvnQeyOtYlweqF-nZrIUFDxVJwfDOVcZjl74,2516
|
|
78
|
-
examples/local/transient/02_retries.py,sha256=cxgnnZTNYYEv0dnriyzWa_ClqIiQUutsnj2AIVrZsN4,3976
|
|
79
|
-
examples/local/transient/03_sleep.py,sha256=j7MXbiJ20OZcHPydITx6BtZV81cBmYp4wmSP8RsmPws,4233
|
|
80
|
-
examples/local/transient/__init__.py,sha256=JA91ksUYQCZPAL4mSe71LjFnWuk_dr6fV0m8SQMSKjA,46
|
|
81
|
-
pyworkflow/__init__.py,sha256=42YUz_F3w2W8AUjIML5ivo3l_5KVLF_uv2h2ZeIeAVc,6061
|
|
82
|
-
pyworkflow/config.py,sha256=a_UvywIwmPtGy0SzeWYVk3DVCEeUlIRkDrt-4KfTtE8,11019
|
|
83
|
-
pyworkflow/discovery.py,sha256=snW3l4nvY3Nc067TGlwtn_qdzTU9ybN7YPr8FbvY8iM,8066
|
|
84
|
-
pyworkflow/aws/__init__.py,sha256=Ak_xHcR9LTRX-CwcS0XecYmzrXZw4EM3V9aKBBDEmIk,1741
|
|
85
|
-
pyworkflow/aws/context.py,sha256=Vjyjip6U1Emg-WA5TlBaxFhcg15rf9mVJiPfT4VywHc,8217
|
|
86
|
-
pyworkflow/aws/handler.py,sha256=0SnQuIfQVD99QKMCRFPtrsrV_l1LYKFkzPIRx_2UkSI,5849
|
|
87
|
-
pyworkflow/aws/testing.py,sha256=WrRk9wjbycM-UyHFQWNnA83UE9IrYnhfT38WrbxQT2U,8844
|
|
88
|
-
pyworkflow/celery/__init__.py,sha256=FywVyqnT8AYz9cXkr-wel7_-N7dHFsPNASEPMFESf4Q,1179
|
|
89
|
-
pyworkflow/celery/app.py,sha256=EsmRqervXqnJn7Jl76ZDV9OIcNnIb6fRjDeuZEfYJL8,6456
|
|
90
|
-
pyworkflow/celery/scheduler.py,sha256=Ms4rqRpdpMiLM8l4y3DK-Divunj9afYuUaGGoNQe7P4,11288
|
|
91
|
-
pyworkflow/celery/tasks.py,sha256=s4S7VTjtrEdUCM9QaalAqLSe2uJ3B9FAN-HuyYZytaY,56453
|
|
92
|
-
pyworkflow/cli/__init__.py,sha256=OzK8lQ0qaxy2iQ_TjY9n3Mjd-rKjMxJtkFgJTtAlaQA,3787
|
|
93
|
-
pyworkflow/cli/__main__.py,sha256=LxLLS4FEEPXa5rWpLTtKuivn6Xp9pGia-QKGoxt9SS0,148
|
|
94
|
-
pyworkflow/cli/commands/__init__.py,sha256=IXvnTgukALckkO8fTlZhVRq80ojSqpnIIgboAg_-yZU,39
|
|
95
|
-
pyworkflow/cli/commands/hooks.py,sha256=UtTjfuo4qMwkV0UfdvgWLIqhTw69hnHLjg6-KTVZyRY,21139
|
|
96
|
-
pyworkflow/cli/commands/quickstart.py,sha256=4i_eiCLPAkzXpVoDtlEMgU_JtJpmcffKlgb2dIag5aw,14352
|
|
97
|
-
pyworkflow/cli/commands/runs.py,sha256=QeA3e-SV6CfWm3N6Gni2cHRGREdXNVzUMftliNmunsU,25109
|
|
98
|
-
pyworkflow/cli/commands/scheduler.py,sha256=w2iUoJ1CtEtOg_4TWslTHbzEPVsV-YybqWU9jkf38gs,3706
|
|
99
|
-
pyworkflow/cli/commands/schedules.py,sha256=UCKZLTWsiLwCewCEXmqOVQnptvvuIKsWSTXai61RYbM,23466
|
|
100
|
-
pyworkflow/cli/commands/setup.py,sha256=XuUCjSpmkgayIMIgIMtDuITj7QvPQT8ZKXTs_SGhI6k,23878
|
|
101
|
-
pyworkflow/cli/commands/worker.py,sha256=UJ8bQJTXMEk3BoMiivClTCKNt_f-g75jJ5O-khfcfsY,12110
|
|
102
|
-
pyworkflow/cli/commands/workflows.py,sha256=zRBFeqCa4Uo_wwEjgk0SBmkqgcaMznS6ghe1N0ub8Zs,42673
|
|
103
|
-
pyworkflow/cli/output/__init__.py,sha256=5VxKL3mXah5rCKmctxcAKVwp42T47qT1oBK5LFVHHEg,48
|
|
104
|
-
pyworkflow/cli/output/formatters.py,sha256=QzsgPR3cjIbH0723wuG_HzUx9xC7XMA6-NkT2y2lwtM,8785
|
|
105
|
-
pyworkflow/cli/output/styles.py,sha256=WK6GHq_zQGMITGf16U3Vhc4gG4E7YFlE8_d-uBLGbBk,3035
|
|
106
|
-
pyworkflow/cli/utils/__init__.py,sha256=yzEuZNPwj-ts1oR8QBD3pObRmGbL0oullXF-jIve5wo,40
|
|
107
|
-
pyworkflow/cli/utils/async_helpers.py,sha256=B7bPBiUWV9rzHjtXnINEh7AHO57ytQH1xU6TtxnA2dU,786
|
|
108
|
-
pyworkflow/cli/utils/config.py,sha256=Lb75T6-y45v0JiLS-fNNvFU2KDoMIBWyNqmFG_jsEeU,3928
|
|
109
|
-
pyworkflow/cli/utils/config_generator.py,sha256=fid3UIfG5dTvF3d_FF3R5BYEMSjdYfN35pZ_UGru_Lc,10905
|
|
110
|
-
pyworkflow/cli/utils/discovery.py,sha256=v-5FMresm-kYPW-hQbql6dOIu6sqIoW_TddD16B8SKo,1467
|
|
111
|
-
pyworkflow/cli/utils/docker_manager.py,sha256=nCkPcEg9aLLhc7lbKKan58Tg1HLQWwYYuiyLtOhSY-I,18931
|
|
112
|
-
pyworkflow/cli/utils/interactive.py,sha256=S2Ell-rUzzt3V10diGo5XCgiDcYFYSxoXNYkJ5EQ_Yc,9740
|
|
113
|
-
pyworkflow/cli/utils/storage.py,sha256=a5Iu2Xe1_mPgBVYc8B6I63MFfW12ko7wURqcpq3RBPA,4018
|
|
114
|
-
pyworkflow/context/__init__.py,sha256=HJAz4H2nT7BoRTgTmNSZJP7eXK7er0uwMwNFZug5uV4,1825
|
|
115
|
-
pyworkflow/context/aws.py,sha256=MYxrFsRzCgaZ0YQAyE26UOT_ryxuag5DwiDSodclQIg,7571
|
|
116
|
-
pyworkflow/context/base.py,sha256=-Q49kL8Ow6zRre6Xm60PzYymkvDtxR3SHM8PgfLucI4,12693
|
|
117
|
-
pyworkflow/context/local.py,sha256=m1sNxxmmiPS9BliJsgjg669GFQqvd7vudFW_Jj0E3JQ,32995
|
|
118
|
-
pyworkflow/context/mock.py,sha256=TJzQ3P3_ZHm1lCJZJACIFFvz2ydFxz2cT9eEGOQS5I0,12061
|
|
119
|
-
pyworkflow/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
120
|
-
pyworkflow/core/exceptions.py,sha256=F2nbXyoed7wlIJMeGfpgsIC8ZyWcYN0iKtOnBA7-xnQ,10719
|
|
121
|
-
pyworkflow/core/registry.py,sha256=vUtEv2cYJaqG3229-pQ2X8CZXYk416ilFn-hhahgros,9056
|
|
122
|
-
pyworkflow/core/scheduled.py,sha256=479A7IvjHiMob7ZrZtfE6VqtypG6DLIGMGhh16jLIWM,10522
|
|
123
|
-
pyworkflow/core/step.py,sha256=zUXC8oIbe4_x4c94pwsUwtGtkNau6vu6t5XfaNqZVo4,17805
|
|
124
|
-
pyworkflow/core/workflow.py,sha256=NQACOCFLb0M5QN_wGJpm6U3dwsEy_Lr4R5G3g91mU5g,9597
|
|
125
|
-
pyworkflow/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
pyworkflow/engine/events.py,sha256=enH1mFOUi50OQUOUWc_cWJAUqtnoq47-IbM8cox2I-8,24368
|
|
127
|
-
pyworkflow/engine/executor.py,sha256=5b50m-a4XjrOoIS9hS4Rsgk_N114s5js6b-LuW2L0Jw,20333
|
|
128
|
-
pyworkflow/engine/replay.py,sha256=bmMb4wzPKaZwPOage3Z-g_5DndYNoSmavMZ9sPiFzYI,9386
|
|
129
|
-
pyworkflow/observability/__init__.py,sha256=M_Uc3WdtshQSxLnj3T8D0M7f4zcCuFzVs8e8PKCuXDc,380
|
|
130
|
-
pyworkflow/observability/logging.py,sha256=4b_N4bIHUxlgOzEn5u1uB-ngCWPNDSU7daKAKxkjBUM,7018
|
|
131
|
-
pyworkflow/primitives/__init__.py,sha256=rEahSVLhG3nSxvcRhJeM1LBSBIV7AkcRTnxuMLmZMTM,1041
|
|
132
|
-
pyworkflow/primitives/child_handle.py,sha256=7NcIaNUQdZEoxmk5gQH1CJ6uQzpro3eFo-sEaM6l6w0,5466
|
|
133
|
-
pyworkflow/primitives/child_workflow.py,sha256=-KU9puqd9wnhdkvT6j7mE_7V1QiHNFtMOqiCT77h4PI,13141
|
|
134
|
-
pyworkflow/primitives/continue_as_new.py,sha256=NKcimHsgr5ExkvRvfO28hxgPw_I7Q74Vz9WL8r0PhPc,3329
|
|
135
|
-
pyworkflow/primitives/define_hook.py,sha256=gNzk7DuObfWG1T9AdHnDnGLHNKjnApiVRlCKPObugfY,4443
|
|
136
|
-
pyworkflow/primitives/hooks.py,sha256=ws9U81ymsY8M4FFTvJ2X4EMGmIrilb3vCKZ0V_EGZdE,3085
|
|
137
|
-
pyworkflow/primitives/resume_hook.py,sha256=q6gb0qsAhOkFRKMs-PkbLSFLnLerx0VGMkPp9CbkXZQ,6192
|
|
138
|
-
pyworkflow/primitives/schedule.py,sha256=2hVM2Swl9dRx3RHd5nblJLaU8HaSy-NHYue2Cf9TOcU,14961
|
|
139
|
-
pyworkflow/primitives/shield.py,sha256=MUYakU0euZoYNb6MbFyRfJN8GEXsRFkIbZEo84vRN9c,2924
|
|
140
|
-
pyworkflow/primitives/sleep.py,sha256=iH1e5CoWY-jZbYNAU3GRW1xR_8EtCuPIcIohzU4jWJo,3097
|
|
141
|
-
pyworkflow/runtime/__init__.py,sha256=DkwTgFCMRGyyW8NGcW7Nyy9beOg5kO1TXhqhysj1-aY,649
|
|
142
|
-
pyworkflow/runtime/base.py,sha256=-X2pct03XuA3o1P6yD5ywTDgegN6_a450gG8MBVeKRE,5190
|
|
143
|
-
pyworkflow/runtime/celery.py,sha256=0hSwN4alL69ZgnIgYiITcJ0s_iTi8A_xrsdKo89k4Hs,9431
|
|
144
|
-
pyworkflow/runtime/factory.py,sha256=TRbqWPfyZ0tPFKb0faI9SkBRXxE5AEVTwGW4pS2diM8,2684
|
|
145
|
-
pyworkflow/runtime/local.py,sha256=J3OTbPWtTzD8bMVuFV-0EmJZGI1nI0j9vrwvnmOgG6Q,24129
|
|
146
|
-
pyworkflow/scheduler/__init__.py,sha256=lQQo0Cia_ULIg-KPIrqILV30rUIzybxj1k_ZZTQNZyg,222
|
|
147
|
-
pyworkflow/scheduler/local.py,sha256=CnK4UC6ofD3_AZJUlO9iUAdgAnbMmJvPaL_VucNKs5Q,8154
|
|
148
|
-
pyworkflow/serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
|
-
pyworkflow/serialization/decoder.py,sha256=F7Ofuw1Yzo82iSFFXiK2yoW_v2YRbLMpX3CQbKjm0Ls,3860
|
|
150
|
-
pyworkflow/serialization/encoder.py,sha256=ZBwAxe5Bb4MCfFJePHw7ArJlIbBieSwUgsysGCI2iPU,4108
|
|
151
|
-
pyworkflow/storage/__init__.py,sha256=dzsZbxtAkouWGVbIi6euHyMMYnfAJ6L5v2ze5tI6-vw,1466
|
|
152
|
-
pyworkflow/storage/base.py,sha256=nYub8nwp7G0pD4k-I_FG88G4BA1Sry5sjeEbMiyVhKw,15153
|
|
153
|
-
pyworkflow/storage/config.py,sha256=Tg3uWcc-lYZ2NtFhZLi946aygcQhRCINxo2Yoc011tc,6534
|
|
154
|
-
pyworkflow/storage/dynamodb.py,sha256=GB3vL9TuiIKx1Gt_wmITrTSYncq8_v7YLsK6azc8a70,52202
|
|
155
|
-
pyworkflow/storage/file.py,sha256=wKfFfjQnhQh8VT1fDrBTySxKFukmrNuSHBXTasihZnI,27898
|
|
156
|
-
pyworkflow/storage/memory.py,sha256=beE-H9tROs1TMIzn4otk9BrpAVYtwMB35patRC8D2sM,19178
|
|
157
|
-
pyworkflow/storage/postgres.py,sha256=CtVSwn3tHYy_1aULWymddkJnLLQr3W6t9oVcp-tlvO0,40569
|
|
158
|
-
pyworkflow/storage/schemas.py,sha256=9q0hOOnlilsZ9tVfhHpoLIw1z67P_Gf84mfa27RPq1k,17874
|
|
159
|
-
pyworkflow/storage/sqlite.py,sha256=T85b21tUMag8ARjFVrR3YdO9SB7gp6nURdxJCp91-gQ,38845
|
|
160
|
-
pyworkflow/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
-
pyworkflow/utils/duration.py,sha256=C-itmiSQQlplw7j6XB679hLF9xYGnyCwm7twO88OF8U,3978
|
|
162
|
-
pyworkflow/utils/schedule.py,sha256=dO_MkGFyfwZpb0LDlW6BGyZzlPuQIA6dc6j9nk9lc4Y,10691
|
|
163
|
-
pyworkflow_engine-0.1.7.dist-info/licenses/LICENSE,sha256=Y49RCTZ5ayn_yzBcRxnyIFdcMCyuYm150aty_FIznfY,1080
|
|
164
|
-
tests/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
|
-
tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
|
-
tests/integration/test_cancellation.py,sha256=Y57gJxSbFKa2CEeSCY6eZZ3zUEWKCam63svP6qXct8A,9998
|
|
167
|
-
tests/integration/test_child_workflows.py,sha256=nTtIqAVYgAnb3gKG_1oDoN2JGOILMZgE1rDyMNYEyFY,12243
|
|
168
|
-
tests/integration/test_continue_as_new.py,sha256=D2gkgGyW3ntcdgifb4gC9xyW_h08Su-1c-MAKw1yTtc,13756
|
|
169
|
-
tests/integration/test_dynamodb_storage.py,sha256=X9ZBKG05TaKeVRn86uzzI9diYsupVoSaj4RGDdW-Gj8,38093
|
|
170
|
-
tests/integration/test_fault_tolerance.py,sha256=yR3Nywb06fpA8pVJ-fgkxomWbYoVxGWGlOarc7Pfd9c,12474
|
|
171
|
-
tests/integration/test_schedule_storage.py,sha256=S-6T_x0Xe8H6P5Y54FgRUqw5C4IVT2SjJUCrzhoKqEA,16105
|
|
172
|
-
tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
|
-
tests/unit/conftest.py,sha256=5bVhDRtL3F9T5JGGL4R1K6xwbryZpR7ttsWt_29eKwY,997
|
|
174
|
-
tests/unit/test_cancellation.py,sha256=HaDpLdnsuBo-keY5FzkU8hvyxKhAlh37_PnoiT02pfI,12285
|
|
175
|
-
tests/unit/test_child_workflows.py,sha256=PMGNKpzdhOJ_Cn5FF-JPMZSthk9BAQTh4ieGFik0Zm0,24449
|
|
176
|
-
tests/unit/test_continue_as_new.py,sha256=uoicJsHTU8vEOUyHHpPwBb2l9iHoAJz_fvyUsbkfPQY,14870
|
|
177
|
-
tests/unit/test_event_limits.py,sha256=DWbj41jqmphcQjhz6vWNB4cm1QHvmExa55YMLyT8qxw,10729
|
|
178
|
-
tests/unit/test_executor.py,sha256=yL3In3LXEIDmMgn6q9OihPQnueyMVXICdhDIQS_BVB4,10685
|
|
179
|
-
tests/unit/test_fault_tolerance.py,sha256=wjKaHwVAEAJt6N0wrt8L3Qh74NZbEW-qhKF5LIOslbU,11120
|
|
180
|
-
tests/unit/test_hooks.py,sha256=nfBr-_FG5l_7LsUpJG-Uup06yNvrrh3NaneW7LdzHIU,16108
|
|
181
|
-
tests/unit/test_registry.py,sha256=Bcui3IFDXNbXyi96FDfyGkjdB21vwV-QX6RlGjeb-3E,7430
|
|
182
|
-
tests/unit/test_replay.py,sha256=2DifrAa_MNI09ZY2lewVvSJcQ-vjditzTJgHFG_JQzI,13086
|
|
183
|
-
tests/unit/test_schedule_schemas.py,sha256=1QS4Qbq_4UrevIJKE5zwWT2Uxlre8pnrzNstMRvAUIk,9607
|
|
184
|
-
tests/unit/test_schedule_utils.py,sha256=vP39cddGT4W_S5o9xMQ472EL47lePzbYqCu4uHh7ojo,9953
|
|
185
|
-
tests/unit/test_scheduled_workflow.py,sha256=YMPhwSavc9I5i7Wv0_H1mew2cPNVQyLik0FMsiq22fI,8632
|
|
186
|
-
tests/unit/test_step.py,sha256=Wr6sxgSSOIaIaiJhZFvMs07dS2ra8Hn3yNHGWOzvi34,11226
|
|
187
|
-
tests/unit/test_workflow.py,sha256=vb_kwSMQIJuf1PLmowCs9YMv6zfdZa_Z2zaWUIf6czc,7663
|
|
188
|
-
tests/unit/backends/__init__.py,sha256=IznqF3Rfz0wDcNHOIREA2JT7RfUXU6lWUiGmNhx1tJc,39
|
|
189
|
-
tests/unit/backends/test_dynamodb_storage.py,sha256=1HAOzxj-izijp54nZUtMH2rlhlhVpEcjZFNIOg17oQc,53890
|
|
190
|
-
tests/unit/backends/test_postgres_storage.py,sha256=NIxiS2TAzqWLeUTl0yZcMbLLzpMI85U6GLqBvyyrMvM,42829
|
|
191
|
-
tests/unit/backends/test_sqlite_storage.py,sha256=Oh3gvpVS8CxSvNUjk68Y2gYUSirUX3tvF4jwidp6NtU,43243
|
|
192
|
-
pyworkflow_engine-0.1.7.dist-info/METADATA,sha256=8pvD6W7ycGQEy10LsdprDg1XZxXMbKRLpwQ5cJRPyuA,19544
|
|
193
|
-
pyworkflow_engine-0.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
194
|
-
pyworkflow_engine-0.1.7.dist-info/entry_points.txt,sha256=3IGAfuylnS39U0YX0pxnjrj54kB4iT_bNYrmsiDB-dE,51
|
|
195
|
-
pyworkflow_engine-0.1.7.dist-info/top_level.txt,sha256=klYTMgil7t1g1J7tiSivbSluzH8gIP4_IXtWmRJY07M,41
|
|
196
|
-
pyworkflow_engine-0.1.7.dist-info/RECORD,,
|
tests/examples/__init__.py
DELETED
|
File without changes
|
tests/integration/__init__.py
DELETED
|
File without changes
|