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 CHANGED
@@ -2,8 +2,8 @@
2
2
  """Loom CLI - Command-line interface for Loom workflow orchestration."""
3
3
 
4
4
  import asyncio
5
- import sys
6
5
  import os # Added import
6
+ import sys
7
7
  from typing import Any
8
8
 
9
9
  import click
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"], workflow_def["input"], history, {}
83
+ workflow_def["id"], workflow_input, history, {}
82
84
  )
83
85
 
84
86
  first_event = ctx._peek()
loom/core/state.py CHANGED
@@ -85,7 +85,7 @@ class StateProxy(Generic[InputT, StateT]):
85
85
  """
86
86
  if self._batch is not None:
87
87
  raise RuntimeError("Nested batches are not supported.")
88
- self._batch = [] # type: ignore
88
+ self._batch = [] # type: ignore
89
89
 
90
90
  try:
91
91
  yield
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: loom-core
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Durable workflow orchestration engine for Python
5
5
  Home-page: https://github.com/satadeep3927/loom
6
6
  Author: Satadeep Dasgupta
@@ -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=ejYHv0nPFAn4hzagTQWiAUK0cCAU8CeSM4jzi4SCoYQ,7860
4
- loom/common/activity.py,sha256=DXAKEJw5IgvUNJj8yr3Vu0UfxnBZW_KkKcBt70TnpyU,1078
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=YfiS0FBhzEBp71t6YKsqM7aNvklvFatb_h3RbgAormQ,1945
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=rZHl15Qa36zvv0r7XDi2f0NGzXoO6X3uHrKaA-jlax4,4202
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=jdFzSPanATeiWAkQewwcSDjjVseOyMRUdDfsc-a34mQ,2996
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.3.dist-info/licenses/LICENSE,sha256=8EpC-clAYRUfJQ92T3iQEIIWYjx2A3Kfk28zOd8lh7I,1095
46
- loom_core-0.1.3.dist-info/METADATA,sha256=gK55SSjL3qSR-3EkSC4P2Pu4wfdhMmpQA5PdFhZYoNE,8897
47
- loom_core-0.1.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
48
- loom_core-0.1.3.dist-info/entry_points.txt,sha256=Jx5HXHL2y7jvSjkwkH3QqF954cbSxiE6OGwL2coldyE,42
49
- loom_core-0.1.3.dist-info/top_level.txt,sha256=cAfRgAuCuit-cU9iBrf0bS4ovvmq-URykNd9fmYMojg,5
50
- loom_core-0.1.3.dist-info/RECORD,,
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,,