loom-core 0.1.3__py3-none-any.whl → 0.1.4__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.
- loom/cli/cli.py +1 -1
- loom/common/activity.py +6 -0
- loom/common/workflow.py +6 -0
- loom/core/engine.py +3 -1
- loom/core/state.py +1 -1
- {loom_core-0.1.3.dist-info → loom_core-0.1.4.dist-info}/METADATA +1 -1
- {loom_core-0.1.3.dist-info → loom_core-0.1.4.dist-info}/RECORD +11 -11
- {loom_core-0.1.3.dist-info → loom_core-0.1.4.dist-info}/WHEEL +0 -0
- {loom_core-0.1.3.dist-info → loom_core-0.1.4.dist-info}/entry_points.txt +0 -0
- {loom_core-0.1.3.dist-info → loom_core-0.1.4.dist-info}/licenses/LICENSE +0 -0
- {loom_core-0.1.3.dist-info → loom_core-0.1.4.dist-info}/top_level.txt +0 -0
loom/cli/cli.py
CHANGED
loom/common/activity.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import importlib
|
|
2
|
+
import sys
|
|
2
3
|
from typing import Any, Awaitable, Callable, cast
|
|
3
4
|
|
|
4
5
|
|
|
@@ -6,6 +7,11 @@ def load_activity(module: str, func: str) -> Callable[..., Awaitable[Any]]:
|
|
|
6
7
|
|
|
7
8
|
try:
|
|
8
9
|
activity_module = importlib.import_module(module)
|
|
10
|
+
|
|
11
|
+
# Force reload the module to get latest changes
|
|
12
|
+
if module in sys.modules:
|
|
13
|
+
activity_module = importlib.reload(activity_module)
|
|
14
|
+
|
|
9
15
|
except ModuleNotFoundError as e:
|
|
10
16
|
raise ModuleNotFoundError(
|
|
11
17
|
f"Cannot import activity module '{module}'. "
|
loom/common/workflow.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import importlib
|
|
2
|
+
import sys
|
|
2
3
|
from typing import Any, Type
|
|
3
4
|
|
|
4
5
|
from ..core.workflow import Workflow
|
|
@@ -32,6 +33,11 @@ def workflow_registry(module: str, cls: str) -> Type[Workflow[Any, Any]]:
|
|
|
32
33
|
"""
|
|
33
34
|
try:
|
|
34
35
|
workflow_module = importlib.import_module(module)
|
|
36
|
+
|
|
37
|
+
# Force reload the module to get latest changes
|
|
38
|
+
if module in sys.modules:
|
|
39
|
+
workflow_module = importlib.reload(workflow_module)
|
|
40
|
+
|
|
35
41
|
except ModuleNotFoundError as e:
|
|
36
42
|
raise ModuleNotFoundError(
|
|
37
43
|
f"Cannot import workflow module '{module}'. "
|
loom/core/engine.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import json
|
|
1
2
|
from datetime import datetime, timedelta, timezone
|
|
2
3
|
from typing import Generic
|
|
3
4
|
|
|
@@ -76,9 +77,10 @@ class Engine(Generic[InputT, StateT]):
|
|
|
76
77
|
async with Database[InputT, StateT]() as db:
|
|
77
78
|
workflow_def = await db.get_workflow_info(workflow_id)
|
|
78
79
|
history = await db.get_workflow_events(workflow_id=workflow_def["id"])
|
|
80
|
+
workflow_input = json.loads(workflow_def["input"])
|
|
79
81
|
|
|
80
82
|
ctx: WorkflowContext = WorkflowContext(
|
|
81
|
-
workflow_def["id"],
|
|
83
|
+
workflow_def["id"], workflow_input, history, {}
|
|
82
84
|
)
|
|
83
85
|
|
|
84
86
|
first_event = ctx._peek()
|
loom/core/state.py
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
loom/__init__.py,sha256=TB3TM8_wzxiwiYDix7Qc5sExsp7cqBZgiOkOFTIzi5k,1301
|
|
2
2
|
loom/cli/__init__.py,sha256=BI8VfSIB5MF4_D9GxHFJwynNEvosDHReVGvsliS99ho,73
|
|
3
|
-
loom/cli/cli.py,sha256=
|
|
4
|
-
loom/common/activity.py,sha256=
|
|
3
|
+
loom/cli/cli.py,sha256=HCZjcWRRqI8ONjgCyGR4cec_IepP4qDwkbTPxoo-eXs,7860
|
|
4
|
+
loom/common/activity.py,sha256=QUqx8AqK0a-lv8Gttw-XMxpo_t4o1I4b64kA7QiRHzU,1251
|
|
5
5
|
loom/common/config.py,sha256=NZHW07CzpWCaLv77nhULycmD7_QMHdF-3AsrxDFid4A,273
|
|
6
6
|
loom/common/errors.py,sha256=jc7_XS8dUPS8fg5pb7kJaTuIR1e6eKBZyZtbsHW3lgM,1712
|
|
7
|
-
loom/common/workflow.py,sha256=
|
|
7
|
+
loom/common/workflow.py,sha256=R4X1vt6duqTJz6kGk6YI866O-CleOiyw0dXdUVo_qAE,2118
|
|
8
8
|
loom/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
loom/core/compiled.py,sha256=Y2NQDMZVLee65ILgJoK2Ny_OcR1T4LJnOQWQcyg0Z7U,1178
|
|
10
10
|
loom/core/context.py,sha256=rVWWSOaAmdVOzKKFh9TwpJVX-4Rm0h7bC76ipEcqVBw,9219
|
|
11
|
-
loom/core/engine.py,sha256=
|
|
11
|
+
loom/core/engine.py,sha256=twrZ8bABmQS7aVrj6qObPvx4zxhQTTFm2LY-KyGrhYs,4268
|
|
12
12
|
loom/core/handle.py,sha256=beOVmJit-gSrk7II4c2KuSubmr5OIPls82_vJ-pI04U,5532
|
|
13
13
|
loom/core/logger.py,sha256=4ej95IdHOdBh-y7PQoRFz_H22PJYDXvAioBoId8mOhg,1729
|
|
14
14
|
loom/core/runner.py,sha256=pYITY35Q88ItZA4EuSWmNE5sgxL0tExXrm9j5vSaz6o,1718
|
|
15
|
-
loom/core/state.py,sha256=
|
|
15
|
+
loom/core/state.py,sha256=oXiZ442PL2kl_JyQXLZOFeBLs_cTF2iEjykKVVUNiAI,2997
|
|
16
16
|
loom/core/worker.py,sha256=jpTtvM1rIToVkG4SwJu1W9Q-eL3bw8b3N8KsxxrRovA,5322
|
|
17
17
|
loom/core/workflow.py,sha256=E_A2rI6iaW3liZmVy3X98oxSeBDXMGiQnRZRq3Cp3BA,5755
|
|
18
18
|
loom/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -42,9 +42,9 @@ loom/schemas/database.py,sha256=DlMBvacsJ9oceBHkrMiJC7uD3_rCHFe6Kwa2STFcKOw,283
|
|
|
42
42
|
loom/schemas/events.py,sha256=Gz-R836nVXNSsp4Y54idhKs_WTvzFPmx5KlA8PunP28,2216
|
|
43
43
|
loom/schemas/tasks.py,sha256=DJbLInggIGxI-CfP1kSyK79Bz83e3sZyEKh6C2HE8q4,1341
|
|
44
44
|
loom/schemas/workflow.py,sha256=F1cNEJRuEWLjPhGinEZE2T6vwchDC8RuTHmxEIaH6Ls,671
|
|
45
|
-
loom_core-0.1.
|
|
46
|
-
loom_core-0.1.
|
|
47
|
-
loom_core-0.1.
|
|
48
|
-
loom_core-0.1.
|
|
49
|
-
loom_core-0.1.
|
|
50
|
-
loom_core-0.1.
|
|
45
|
+
loom_core-0.1.4.dist-info/licenses/LICENSE,sha256=8EpC-clAYRUfJQ92T3iQEIIWYjx2A3Kfk28zOd8lh7I,1095
|
|
46
|
+
loom_core-0.1.4.dist-info/METADATA,sha256=pRtqEJf1DiwSbXPfnE-cHfuxZs8t2ol1I4LiXfAnm50,8897
|
|
47
|
+
loom_core-0.1.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
48
|
+
loom_core-0.1.4.dist-info/entry_points.txt,sha256=Jx5HXHL2y7jvSjkwkH3QqF954cbSxiE6OGwL2coldyE,42
|
|
49
|
+
loom_core-0.1.4.dist-info/top_level.txt,sha256=cAfRgAuCuit-cU9iBrf0bS4ovvmq-URykNd9fmYMojg,5
|
|
50
|
+
loom_core-0.1.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|