hatchet-sdk 0.42.3__py3-none-any.whl → 0.42.5__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.
Potentially problematic release.
This version of hatchet-sdk might be problematic. Click here for more details.
- hatchet_sdk/clients/admin.py +6 -6
- hatchet_sdk/clients/dispatcher/dispatcher.py +22 -15
- hatchet_sdk/clients/events.py +3 -3
- hatchet_sdk/clients/rest/api/default_api.py +260 -0
- hatchet_sdk/context/context.py +9 -7
- hatchet_sdk/context/worker_context.py +5 -5
- hatchet_sdk/contracts/dispatcher_pb2.py +15 -5
- hatchet_sdk/contracts/dispatcher_pb2_grpc.py +203 -52
- hatchet_sdk/contracts/events_pb2.py +13 -3
- hatchet_sdk/contracts/events_pb2_grpc.py +91 -20
- hatchet_sdk/contracts/workflows_pb2.py +22 -12
- hatchet_sdk/contracts/workflows_pb2.pyi +2 -0
- hatchet_sdk/contracts/workflows_pb2_grpc.py +91 -20
- hatchet_sdk/hatchet.py +64 -48
- hatchet_sdk/labels.py +1 -1
- hatchet_sdk/utils/aio_utils.py +13 -4
- hatchet_sdk/utils/typing.py +4 -1
- hatchet_sdk/v2/callable.py +23 -20
- hatchet_sdk/v2/concurrency.py +10 -8
- hatchet_sdk/v2/hatchet.py +38 -36
- hatchet_sdk/worker/runner/runner.py +1 -1
- hatchet_sdk/worker/worker.py +16 -9
- hatchet_sdk/workflow.py +21 -9
- {hatchet_sdk-0.42.3.dist-info → hatchet_sdk-0.42.5.dist-info}/METADATA +4 -4
- {hatchet_sdk-0.42.3.dist-info → hatchet_sdk-0.42.5.dist-info}/RECORD +27 -27
- {hatchet_sdk-0.42.3.dist-info → hatchet_sdk-0.42.5.dist-info}/WHEEL +0 -0
- {hatchet_sdk-0.42.3.dist-info → hatchet_sdk-0.42.5.dist-info}/entry_points.txt +0 -0
hatchet_sdk/v2/concurrency.py
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
from typing import Callable
|
|
1
|
+
from typing import Any, Callable
|
|
2
2
|
|
|
3
|
-
from hatchet_sdk.context import Context
|
|
4
|
-
from hatchet_sdk.contracts.workflows_pb2 import
|
|
3
|
+
from hatchet_sdk.context.context import Context
|
|
4
|
+
from hatchet_sdk.contracts.workflows_pb2 import ( # type: ignore[attr-defined]
|
|
5
|
+
ConcurrencyLimitStrategy,
|
|
6
|
+
)
|
|
5
7
|
|
|
6
8
|
|
|
7
9
|
class ConcurrencyFunction:
|
|
@@ -18,19 +20,19 @@ class ConcurrencyFunction:
|
|
|
18
20
|
self.limit_strategy = limit_strategy
|
|
19
21
|
self.namespace = "default"
|
|
20
22
|
|
|
21
|
-
def set_namespace(self, namespace: str):
|
|
23
|
+
def set_namespace(self, namespace: str) -> None:
|
|
22
24
|
self.namespace = namespace
|
|
23
25
|
|
|
24
26
|
def get_action_name(self) -> str:
|
|
25
27
|
return self.namespace + ":" + self.name
|
|
26
28
|
|
|
27
|
-
def __call__(self, *args, **kwargs):
|
|
29
|
+
def __call__(self, *args: Any, **kwargs: Any) -> str:
|
|
28
30
|
return self.func(*args, **kwargs)
|
|
29
31
|
|
|
30
|
-
def __str__(self):
|
|
32
|
+
def __str__(self) -> str:
|
|
31
33
|
return f"{self.name}({self.max_runs})"
|
|
32
34
|
|
|
33
|
-
def __repr__(self):
|
|
35
|
+
def __repr__(self) -> str:
|
|
34
36
|
return f"{self.name}({self.max_runs})"
|
|
35
37
|
|
|
36
38
|
|
|
@@ -38,7 +40,7 @@ def concurrency(
|
|
|
38
40
|
name: str = "",
|
|
39
41
|
max_runs: int = 1,
|
|
40
42
|
limit_strategy: ConcurrencyLimitStrategy = ConcurrencyLimitStrategy.GROUP_ROUND_ROBIN,
|
|
41
|
-
):
|
|
43
|
+
) -> Callable[[Callable[[Context], str]], ConcurrencyFunction]:
|
|
42
44
|
def inner(func: Callable[[Context], str]) -> ConcurrencyFunction:
|
|
43
45
|
return ConcurrencyFunction(func, name, max_runs, limit_strategy)
|
|
44
46
|
|
hatchet_sdk/v2/hatchet.py
CHANGED
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
from typing import
|
|
2
|
-
|
|
3
|
-
from hatchet_sdk
|
|
4
|
-
from hatchet_sdk.
|
|
1
|
+
from typing import Any, Callable, TypeVar, Union
|
|
2
|
+
|
|
3
|
+
from hatchet_sdk import Worker
|
|
4
|
+
from hatchet_sdk.context.context import Context
|
|
5
|
+
from hatchet_sdk.contracts.workflows_pb2 import ( # type: ignore[attr-defined]
|
|
6
|
+
ConcurrencyLimitStrategy,
|
|
7
|
+
StickyStrategy,
|
|
8
|
+
)
|
|
5
9
|
from hatchet_sdk.hatchet import Hatchet as HatchetV1
|
|
6
10
|
from hatchet_sdk.hatchet import workflow
|
|
7
11
|
from hatchet_sdk.labels import DesiredWorkerLabel
|
|
8
12
|
from hatchet_sdk.rate_limit import RateLimit
|
|
9
|
-
from hatchet_sdk.v2.callable import HatchetCallable
|
|
13
|
+
from hatchet_sdk.v2.callable import DurableContext, HatchetCallable
|
|
10
14
|
from hatchet_sdk.v2.concurrency import ConcurrencyFunction
|
|
11
15
|
from hatchet_sdk.worker.worker import register_on_worker
|
|
12
16
|
|
|
13
|
-
from ..worker import Worker
|
|
14
|
-
|
|
15
17
|
T = TypeVar("T")
|
|
16
18
|
|
|
17
19
|
|
|
18
20
|
def function(
|
|
19
21
|
name: str = "",
|
|
20
22
|
auto_register: bool = True,
|
|
21
|
-
on_events: list | None = None,
|
|
22
|
-
on_crons: list | None = None,
|
|
23
|
+
on_events: list[str] | None = None,
|
|
24
|
+
on_crons: list[str] | None = None,
|
|
23
25
|
version: str = "",
|
|
24
26
|
timeout: str = "60m",
|
|
25
27
|
schedule_timeout: str = "5m",
|
|
26
28
|
sticky: StickyStrategy = None,
|
|
27
29
|
retries: int = 0,
|
|
28
|
-
rate_limits:
|
|
29
|
-
desired_worker_labels: dict[str
|
|
30
|
+
rate_limits: list[RateLimit] | None = None,
|
|
31
|
+
desired_worker_labels: dict[str, DesiredWorkerLabel] = {},
|
|
30
32
|
concurrency: ConcurrencyFunction | None = None,
|
|
31
|
-
on_failure:
|
|
33
|
+
on_failure: Union["HatchetCallable[T]", None] = None,
|
|
32
34
|
default_priority: int | None = None,
|
|
33
|
-
):
|
|
35
|
+
) -> Callable[[Callable[[Context], str]], HatchetCallable[T]]:
|
|
34
36
|
def inner(func: Callable[[Context], T]) -> HatchetCallable[T]:
|
|
35
37
|
return HatchetCallable(
|
|
36
38
|
func=func,
|
|
@@ -56,20 +58,20 @@ def function(
|
|
|
56
58
|
def durable(
|
|
57
59
|
name: str = "",
|
|
58
60
|
auto_register: bool = True,
|
|
59
|
-
on_events: list | None = None,
|
|
60
|
-
on_crons: list | None = None,
|
|
61
|
+
on_events: list[str] | None = None,
|
|
62
|
+
on_crons: list[str] | None = None,
|
|
61
63
|
version: str = "",
|
|
62
64
|
timeout: str = "60m",
|
|
63
65
|
schedule_timeout: str = "5m",
|
|
64
66
|
sticky: StickyStrategy = None,
|
|
65
67
|
retries: int = 0,
|
|
66
|
-
rate_limits:
|
|
67
|
-
desired_worker_labels: dict[str
|
|
68
|
+
rate_limits: list[RateLimit] | None = None,
|
|
69
|
+
desired_worker_labels: dict[str, DesiredWorkerLabel] = {},
|
|
68
70
|
concurrency: ConcurrencyFunction | None = None,
|
|
69
|
-
on_failure: HatchetCallable | None = None,
|
|
71
|
+
on_failure: HatchetCallable[T] | None = None,
|
|
70
72
|
default_priority: int | None = None,
|
|
71
|
-
):
|
|
72
|
-
def inner(func: HatchetCallable) -> HatchetCallable:
|
|
73
|
+
) -> Callable[[HatchetCallable[T]], HatchetCallable[T]]:
|
|
74
|
+
def inner(func: HatchetCallable[T]) -> HatchetCallable[T]:
|
|
73
75
|
func.durable = True
|
|
74
76
|
|
|
75
77
|
f = function(
|
|
@@ -102,7 +104,7 @@ def concurrency(
|
|
|
102
104
|
name: str = "concurrency",
|
|
103
105
|
max_runs: int = 1,
|
|
104
106
|
limit_strategy: ConcurrencyLimitStrategy = ConcurrencyLimitStrategy.GROUP_ROUND_ROBIN,
|
|
105
|
-
):
|
|
107
|
+
) -> Callable[[Callable[[Context], str]], ConcurrencyFunction]:
|
|
106
108
|
def inner(func: Callable[[Context], str]) -> ConcurrencyFunction:
|
|
107
109
|
return ConcurrencyFunction(func, name, max_runs, limit_strategy)
|
|
108
110
|
|
|
@@ -113,24 +115,24 @@ class Hatchet(HatchetV1):
|
|
|
113
115
|
dag = staticmethod(workflow)
|
|
114
116
|
concurrency = staticmethod(concurrency)
|
|
115
117
|
|
|
116
|
-
functions:
|
|
118
|
+
functions: list[HatchetCallable[T]] = []
|
|
117
119
|
|
|
118
120
|
def function(
|
|
119
121
|
self,
|
|
120
122
|
name: str = "",
|
|
121
123
|
auto_register: bool = True,
|
|
122
|
-
on_events: list | None = None,
|
|
123
|
-
on_crons: list | None = None,
|
|
124
|
+
on_events: list[str] | None = None,
|
|
125
|
+
on_crons: list[str] | None = None,
|
|
124
126
|
version: str = "",
|
|
125
127
|
timeout: str = "60m",
|
|
126
128
|
schedule_timeout: str = "5m",
|
|
127
129
|
retries: int = 0,
|
|
128
|
-
rate_limits:
|
|
129
|
-
desired_worker_labels: dict[str
|
|
130
|
+
rate_limits: list[RateLimit] | None = None,
|
|
131
|
+
desired_worker_labels: dict[str, DesiredWorkerLabel] = {},
|
|
130
132
|
concurrency: ConcurrencyFunction | None = None,
|
|
131
|
-
on_failure:
|
|
133
|
+
on_failure: Union["HatchetCallable[T]", None] = None,
|
|
132
134
|
default_priority: int | None = None,
|
|
133
|
-
):
|
|
135
|
+
) -> Callable[[Callable[[Context], Any]], Callable[[Context], Any]]:
|
|
134
136
|
resp = function(
|
|
135
137
|
name=name,
|
|
136
138
|
auto_register=auto_register,
|
|
@@ -147,7 +149,7 @@ class Hatchet(HatchetV1):
|
|
|
147
149
|
default_priority=default_priority,
|
|
148
150
|
)
|
|
149
151
|
|
|
150
|
-
def wrapper(func: Callable[[Context],
|
|
152
|
+
def wrapper(func: Callable[[Context], str]) -> HatchetCallable[T]:
|
|
151
153
|
wrapped_resp = resp(func)
|
|
152
154
|
|
|
153
155
|
if wrapped_resp.function_auto_register:
|
|
@@ -163,19 +165,19 @@ class Hatchet(HatchetV1):
|
|
|
163
165
|
self,
|
|
164
166
|
name: str = "",
|
|
165
167
|
auto_register: bool = True,
|
|
166
|
-
on_events: list | None = None,
|
|
167
|
-
on_crons: list | None = None,
|
|
168
|
+
on_events: list[str] | None = None,
|
|
169
|
+
on_crons: list[str] | None = None,
|
|
168
170
|
version: str = "",
|
|
169
171
|
timeout: str = "60m",
|
|
170
172
|
schedule_timeout: str = "5m",
|
|
171
173
|
sticky: StickyStrategy = None,
|
|
172
174
|
retries: int = 0,
|
|
173
|
-
rate_limits:
|
|
174
|
-
desired_worker_labels: dict[str
|
|
175
|
+
rate_limits: list[RateLimit] | None = None,
|
|
176
|
+
desired_worker_labels: dict[str, DesiredWorkerLabel] = {},
|
|
175
177
|
concurrency: ConcurrencyFunction | None = None,
|
|
176
|
-
on_failure:
|
|
178
|
+
on_failure: Union["HatchetCallable[T]", None] = None,
|
|
177
179
|
default_priority: int | None = None,
|
|
178
|
-
) -> Callable[[
|
|
180
|
+
) -> Callable[[Callable[[DurableContext], Any]], Callable[[DurableContext], Any]]:
|
|
179
181
|
resp = durable(
|
|
180
182
|
name=name,
|
|
181
183
|
auto_register=auto_register,
|
|
@@ -193,7 +195,7 @@ class Hatchet(HatchetV1):
|
|
|
193
195
|
default_priority=default_priority,
|
|
194
196
|
)
|
|
195
197
|
|
|
196
|
-
def wrapper(func:
|
|
198
|
+
def wrapper(func: HatchetCallable[T]) -> HatchetCallable[T]:
|
|
197
199
|
wrapped_resp = resp(func)
|
|
198
200
|
|
|
199
201
|
if wrapped_resp.function_auto_register:
|
|
@@ -21,7 +21,7 @@ from hatchet_sdk.clients.run_event_listener import new_listener
|
|
|
21
21
|
from hatchet_sdk.clients.workflow_listener import PooledWorkflowRunListener
|
|
22
22
|
from hatchet_sdk.context import Context # type: ignore[attr-defined]
|
|
23
23
|
from hatchet_sdk.context.worker_context import WorkerContext
|
|
24
|
-
from hatchet_sdk.contracts.dispatcher_pb2 import (
|
|
24
|
+
from hatchet_sdk.contracts.dispatcher_pb2 import (
|
|
25
25
|
GROUP_KEY_EVENT_TYPE_COMPLETED,
|
|
26
26
|
GROUP_KEY_EVENT_TYPE_FAILED,
|
|
27
27
|
GROUP_KEY_EVENT_TYPE_STARTED,
|
hatchet_sdk/worker/worker.py
CHANGED
|
@@ -12,14 +12,15 @@ from multiprocessing.process import BaseProcess
|
|
|
12
12
|
from types import FrameType
|
|
13
13
|
from typing import Any, Callable, TypeVar, get_type_hints
|
|
14
14
|
|
|
15
|
+
from pydantic import BaseModel
|
|
16
|
+
|
|
15
17
|
from hatchet_sdk import Context
|
|
16
18
|
from hatchet_sdk.client import Client, new_client_raw
|
|
17
|
-
from hatchet_sdk.contracts.workflows_pb2 import
|
|
18
|
-
CreateWorkflowVersionOpts,
|
|
19
|
-
)
|
|
19
|
+
from hatchet_sdk.contracts.workflows_pb2 import CreateWorkflowVersionOpts
|
|
20
20
|
from hatchet_sdk.loader import ClientConfig
|
|
21
21
|
from hatchet_sdk.logger import logger
|
|
22
22
|
from hatchet_sdk.utils.types import WorkflowValidator
|
|
23
|
+
from hatchet_sdk.utils.typing import is_basemodel_subclass
|
|
23
24
|
from hatchet_sdk.v2.callable import HatchetCallable
|
|
24
25
|
from hatchet_sdk.v2.concurrency import ConcurrencyFunction
|
|
25
26
|
from hatchet_sdk.worker.action_listener_process import worker_action_listener_process
|
|
@@ -41,6 +42,9 @@ class WorkerStartOptions:
|
|
|
41
42
|
loop: asyncio.AbstractEventLoop | None = field(default=None)
|
|
42
43
|
|
|
43
44
|
|
|
45
|
+
TWorkflow = TypeVar("TWorkflow", bound=object)
|
|
46
|
+
|
|
47
|
+
|
|
44
48
|
class Worker:
|
|
45
49
|
def __init__(
|
|
46
50
|
self,
|
|
@@ -62,7 +66,7 @@ class Worker:
|
|
|
62
66
|
|
|
63
67
|
self.client: Client
|
|
64
68
|
|
|
65
|
-
self.action_registry: dict[str, Callable[[Context],
|
|
69
|
+
self.action_registry: dict[str, Callable[[Context], Any]] = {}
|
|
66
70
|
self.validator_registry: dict[str, WorkflowValidator] = {}
|
|
67
71
|
|
|
68
72
|
self.killing: bool = False
|
|
@@ -84,9 +88,7 @@ class Worker:
|
|
|
84
88
|
|
|
85
89
|
self._setup_signal_handlers()
|
|
86
90
|
|
|
87
|
-
def register_function(
|
|
88
|
-
self, action: str, func: HatchetCallable[Any] | ConcurrencyFunction
|
|
89
|
-
) -> None:
|
|
91
|
+
def register_function(self, action: str, func: Callable[[Context], Any]) -> None:
|
|
90
92
|
self.action_registry[action] = func
|
|
91
93
|
|
|
92
94
|
def register_workflow_from_opts(
|
|
@@ -99,7 +101,10 @@ class Worker:
|
|
|
99
101
|
logger.error(e)
|
|
100
102
|
sys.exit(1)
|
|
101
103
|
|
|
102
|
-
def register_workflow(self, workflow:
|
|
104
|
+
def register_workflow(self, workflow: TWorkflow) -> None:
|
|
105
|
+
## Hack for typing
|
|
106
|
+
assert isinstance(workflow, WorkflowInterface)
|
|
107
|
+
|
|
103
108
|
namespace = self.client.config.namespace
|
|
104
109
|
|
|
105
110
|
try:
|
|
@@ -127,8 +132,10 @@ class Worker:
|
|
|
127
132
|
for action_name, action_func in workflow.get_actions(namespace):
|
|
128
133
|
self.action_registry[action_name] = create_action_function(action_func)
|
|
129
134
|
return_type = get_type_hints(action_func).get("return")
|
|
135
|
+
|
|
130
136
|
self.validator_registry[action_name] = WorkflowValidator(
|
|
131
|
-
workflow_input=workflow.input_validator,
|
|
137
|
+
workflow_input=workflow.input_validator,
|
|
138
|
+
step_output=return_type if is_basemodel_subclass(return_type) else None,
|
|
132
139
|
)
|
|
133
140
|
|
|
134
141
|
def status(self) -> WorkerStatus:
|
hatchet_sdk/workflow.py
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import functools
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import (
|
|
3
|
+
Any,
|
|
4
|
+
Callable,
|
|
5
|
+
Protocol,
|
|
6
|
+
Type,
|
|
7
|
+
TypeVar,
|
|
8
|
+
Union,
|
|
9
|
+
cast,
|
|
10
|
+
get_type_hints,
|
|
11
|
+
runtime_checkable,
|
|
12
|
+
)
|
|
3
13
|
|
|
4
14
|
from pydantic import BaseModel
|
|
5
15
|
|
|
6
16
|
from hatchet_sdk import ConcurrencyLimitStrategy
|
|
7
|
-
from hatchet_sdk.contracts.workflows_pb2 import (
|
|
17
|
+
from hatchet_sdk.contracts.workflows_pb2 import (
|
|
8
18
|
CreateWorkflowJobOpts,
|
|
9
19
|
CreateWorkflowStepOpts,
|
|
10
20
|
CreateWorkflowVersionOpts,
|
|
@@ -69,6 +79,7 @@ class ConcurrencyExpression:
|
|
|
69
79
|
self.limit_strategy = limit_strategy
|
|
70
80
|
|
|
71
81
|
|
|
82
|
+
@runtime_checkable
|
|
72
83
|
class WorkflowInterface(Protocol):
|
|
73
84
|
def get_name(self, namespace: str) -> str: ...
|
|
74
85
|
|
|
@@ -76,13 +87,13 @@ class WorkflowInterface(Protocol):
|
|
|
76
87
|
|
|
77
88
|
def get_create_opts(self, namespace: str) -> Any: ...
|
|
78
89
|
|
|
79
|
-
on_events: list[str]
|
|
80
|
-
on_crons: list[str]
|
|
90
|
+
on_events: list[str] | None
|
|
91
|
+
on_crons: list[str] | None
|
|
81
92
|
name: str
|
|
82
93
|
version: str
|
|
83
94
|
timeout: str
|
|
84
95
|
schedule_timeout: str
|
|
85
|
-
sticky: Union[StickyStrategy.Value, None]
|
|
96
|
+
sticky: Union[StickyStrategy.Value, None] # type: ignore[name-defined]
|
|
86
97
|
default_priority: int | None
|
|
87
98
|
concurrency_expression: ConcurrencyExpression | None
|
|
88
99
|
input_validator: Type[BaseModel] | None
|
|
@@ -120,6 +131,7 @@ class WorkflowMeta(type):
|
|
|
120
131
|
@functools.cache
|
|
121
132
|
def get_actions(self: TW, namespace: str) -> StepsType:
|
|
122
133
|
serviceName = get_service_name(namespace)
|
|
134
|
+
|
|
123
135
|
func_actions = [
|
|
124
136
|
(serviceName + ":" + func_name, func) for func_name, func in steps
|
|
125
137
|
]
|
|
@@ -165,8 +177,8 @@ class WorkflowMeta(type):
|
|
|
165
177
|
inputs="{}",
|
|
166
178
|
parents=[x for x in func._step_parents],
|
|
167
179
|
retries=func._step_retries,
|
|
168
|
-
rate_limits=func._step_rate_limits,
|
|
169
|
-
worker_labels=func._step_desired_worker_labels,
|
|
180
|
+
rate_limits=func._step_rate_limits, # type: ignore[arg-type]
|
|
181
|
+
worker_labels=func._step_desired_worker_labels, # type: ignore[arg-type]
|
|
170
182
|
backoff_factor=func._step_backoff_factor,
|
|
171
183
|
backoff_max_seconds=func._step_backoff_max_seconds,
|
|
172
184
|
)
|
|
@@ -196,7 +208,7 @@ class WorkflowMeta(type):
|
|
|
196
208
|
"Error: Both concurrencyActions and concurrency_expression are defined. Please use only one concurrency configuration method."
|
|
197
209
|
)
|
|
198
210
|
|
|
199
|
-
on_failure_job:
|
|
211
|
+
on_failure_job: CreateWorkflowJobOpts | None = None
|
|
200
212
|
|
|
201
213
|
if len(onFailureSteps) > 0:
|
|
202
214
|
func_name, func = onFailureSteps[0]
|
|
@@ -210,7 +222,7 @@ class WorkflowMeta(type):
|
|
|
210
222
|
inputs="{}",
|
|
211
223
|
parents=[],
|
|
212
224
|
retries=func._on_failure_step_retries,
|
|
213
|
-
rate_limits=func._on_failure_step_rate_limits,
|
|
225
|
+
rate_limits=func._on_failure_step_rate_limits, # type: ignore[arg-type]
|
|
214
226
|
backoff_factor=func._on_failure_step_backoff_factor,
|
|
215
227
|
backoff_max_seconds=func._on_failure_step_backoff_max_seconds,
|
|
216
228
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hatchet-sdk
|
|
3
|
-
Version: 0.42.
|
|
3
|
+
Version: 0.42.5
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Alexander Belanger
|
|
6
6
|
Author-email: alexander@hatchet.run
|
|
@@ -13,8 +13,8 @@ Requires-Dist: aiohttp (>=3.10.5,<4.0.0)
|
|
|
13
13
|
Requires-Dist: aiohttp-retry (>=2.8.3,<3.0.0)
|
|
14
14
|
Requires-Dist: aiostream (>=0.5.2,<0.6.0)
|
|
15
15
|
Requires-Dist: cel-python (>=0.1.5,<0.2.0)
|
|
16
|
-
Requires-Dist: grpcio (>=1.
|
|
17
|
-
Requires-Dist: grpcio-tools (>=1.
|
|
16
|
+
Requires-Dist: grpcio (>=1.68.1,<2.0.0)
|
|
17
|
+
Requires-Dist: grpcio-tools (>=1.68.1,<2.0.0)
|
|
18
18
|
Requires-Dist: loguru (>=0.7.2,<0.8.0)
|
|
19
19
|
Requires-Dist: nest-asyncio (>=1.6.0,<2.0.0)
|
|
20
20
|
Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0)
|
|
@@ -23,7 +23,7 @@ Requires-Dist: opentelemetry-exporter-otlp (>=1.27.0,<2.0.0)
|
|
|
23
23
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.27.0,<2.0.0)
|
|
24
24
|
Requires-Dist: opentelemetry-instrumentation (>=0.48b0,<0.49)
|
|
25
25
|
Requires-Dist: opentelemetry-sdk (>=1.27.0,<2.0.0)
|
|
26
|
-
Requires-Dist: protobuf (>=
|
|
26
|
+
Requires-Dist: protobuf (>=5.29.1,<6.0.0)
|
|
27
27
|
Requires-Dist: pydantic (>=2.6.3,<3.0.0)
|
|
28
28
|
Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
|
|
29
29
|
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
hatchet_sdk/__init__.py,sha256=R5ogd_Dn_6gA_u9a5W2URNq6eDtN1i56cObBv1tOwyU,9408
|
|
2
2
|
hatchet_sdk/client.py,sha256=ajjLd-gZptVuAx25gG_SdAW8xDA4V7HMIhgYuh9MkVY,3486
|
|
3
|
-
hatchet_sdk/clients/admin.py,sha256=
|
|
3
|
+
hatchet_sdk/clients/admin.py,sha256=RGi-cXGTn54EmgiqbUsnb9a9gbA3WFr9Qo2VdBHdSzQ,21530
|
|
4
4
|
hatchet_sdk/clients/dispatcher/action_listener.py,sha256=eOq5z29MhC7ynbOOegDRQr-RqDhpS3gfeLswIlZbuGg,15378
|
|
5
|
-
hatchet_sdk/clients/dispatcher/dispatcher.py,sha256=
|
|
5
|
+
hatchet_sdk/clients/dispatcher/dispatcher.py,sha256=qTcfIXn9EpfUlafff8Wun_fWTvz-UxOa4i4m6ZVIAnM,6402
|
|
6
6
|
hatchet_sdk/clients/event_ts.py,sha256=ACGvDdfhvK6ZLKdsPxy-PksLhjIU69P9cdH3AxX-X10,728
|
|
7
|
-
hatchet_sdk/clients/events.py,sha256=
|
|
7
|
+
hatchet_sdk/clients/events.py,sha256=8QOHv4ObSNXb6t5EnaXPwkwr1hN4D087iWn02TRtXb0,7505
|
|
8
8
|
hatchet_sdk/clients/rest/__init__.py,sha256=AQBp3fX79IKrcjUmzLRGFaFKMYBnEbQD9DnwYOHU0jQ,14157
|
|
9
9
|
hatchet_sdk/clients/rest/api/__init__.py,sha256=LaTEK7cYklb8R0iYj727C-jVk-MGHenADN8TJpoIASs,1067
|
|
10
10
|
hatchet_sdk/clients/rest/api/api_token_api.py,sha256=C10FEIHHGBpwq-bIKkrBhvPlg6az4aHlREWEUlJHWl0,33577
|
|
11
|
-
hatchet_sdk/clients/rest/api/default_api.py,sha256=
|
|
11
|
+
hatchet_sdk/clients/rest/api/default_api.py,sha256=YAMiuMO-Ye5AmbuA-5IODgBAoM_93B2EyGgnIjcvAP8,79629
|
|
12
12
|
hatchet_sdk/clients/rest/api/event_api.py,sha256=YbvcNJTDY9aa69SdWsiXS4gbQ0x51LiAxUQmsPzwVXs,100154
|
|
13
13
|
hatchet_sdk/clients/rest/api/github_api.py,sha256=1eKhvrqPPekfiu7WLh-ngcpOYMJwpRSwliEKoJ85Kjs,12107
|
|
14
14
|
hatchet_sdk/clients/rest/api/healthcheck_api.py,sha256=WGsezrIxWK_geHLIERjUwlCtXE65SSmt_XTe7oc25VE,18779
|
|
@@ -190,46 +190,46 @@ hatchet_sdk/clients/run_event_listener.py,sha256=51WTg52_aISgYPOFPHJ21rb4IO6aEd7
|
|
|
190
190
|
hatchet_sdk/clients/workflow_listener.py,sha256=Q_WJcGlZNHJGSpxzDac9wELjgxhP0vLaNTXRy_xnxc8,9466
|
|
191
191
|
hatchet_sdk/connection.py,sha256=593aUGAj7Ouf00lcVwx_pmhdQ9NOC5ANT1Jrf8nwkHs,2165
|
|
192
192
|
hatchet_sdk/context/__init__.py,sha256=Pl_seJ_SJpW34BBZp4KixuZ8GiRK9sJFfegf9u3m7zk,29
|
|
193
|
-
hatchet_sdk/context/context.py,sha256=
|
|
194
|
-
hatchet_sdk/context/worker_context.py,sha256=
|
|
195
|
-
hatchet_sdk/contracts/dispatcher_pb2.py,sha256
|
|
193
|
+
hatchet_sdk/context/context.py,sha256=R2RsPgzBNYi1FJvg4MOowSY-V1Yf69qUmXe3MsAWkyo,13518
|
|
194
|
+
hatchet_sdk/context/worker_context.py,sha256=OVcEWvdT_Kpd0nlg61VAPUgIPSFzSLs0aSrXWj-1GX4,974
|
|
195
|
+
hatchet_sdk/contracts/dispatcher_pb2.py,sha256=-9YGf7pfuMyRpkjjcmFa6jlr-95gha4CJw9hG3seNFI,14573
|
|
196
196
|
hatchet_sdk/contracts/dispatcher_pb2.pyi,sha256=2dvxvN4OETOc-OhLNWDntN7GvI4QUxbMiGLdK7FM1wE,18224
|
|
197
|
-
hatchet_sdk/contracts/dispatcher_pb2_grpc.py,sha256=
|
|
198
|
-
hatchet_sdk/contracts/events_pb2.py,sha256=
|
|
197
|
+
hatchet_sdk/contracts/dispatcher_pb2_grpc.py,sha256=6qOOsSM9lUeRG1Hk1h6Yv8gPEGmpccRrhrRY4Y2mLJU,24459
|
|
198
|
+
hatchet_sdk/contracts/events_pb2.py,sha256=bf8_S6cDhFoN869ZcS-xCLNirsH_NoYvHCR1yXk2aNA,4308
|
|
199
199
|
hatchet_sdk/contracts/events_pb2.pyi,sha256=eoHvNI5gY98ZfFleiynbtIz3SiW_X49ggMBOlOgAP74,4014
|
|
200
|
-
hatchet_sdk/contracts/events_pb2_grpc.py,sha256=
|
|
201
|
-
hatchet_sdk/contracts/workflows_pb2.py,sha256=
|
|
202
|
-
hatchet_sdk/contracts/workflows_pb2.pyi,sha256=
|
|
203
|
-
hatchet_sdk/contracts/workflows_pb2_grpc.py,sha256=
|
|
200
|
+
hatchet_sdk/contracts/events_pb2_grpc.py,sha256=7opRptwLBvJE3ymhufaD-MmeLvY8UcuINg4CcZhiH_4,9980
|
|
201
|
+
hatchet_sdk/contracts/workflows_pb2.py,sha256=TvegbF5Kw9oVBHuSHNmpQMiF4xzEM7ioH4dhKdDxnsY,11975
|
|
202
|
+
hatchet_sdk/contracts/workflows_pb2.pyi,sha256=2r5d4DWaR0kwY8jKSzcffTAMMlWrusRXCziE_03SFYc,15434
|
|
203
|
+
hatchet_sdk/contracts/workflows_pb2_grpc.py,sha256=AFu0wRpfyCyNVIYZLKian6s5qPnVDCwtuE91JMaMmUI,10522
|
|
204
204
|
hatchet_sdk/features/cron.py,sha256=4lKMH0MqiN8cHJk2jhF0Ueqs6z5ozwJzlOeSeaWqvO0,10217
|
|
205
205
|
hatchet_sdk/features/scheduled.py,sha256=YhEbNWl8dWOH61rXVjAyu8iG1BZqpSkD4kgaxkKIHgY,9504
|
|
206
|
-
hatchet_sdk/hatchet.py,sha256=
|
|
207
|
-
hatchet_sdk/labels.py,sha256=
|
|
206
|
+
hatchet_sdk/hatchet.py,sha256=UpCDv3q-Mrbwi7tFHS2FonBwwXlbs5kRFfCfx4DJVeI,10027
|
|
207
|
+
hatchet_sdk/labels.py,sha256=Axfp1yUNowzE9mL8AQA1ADqwOaNmq3QP_45wb1Ed1aI,272
|
|
208
208
|
hatchet_sdk/loader.py,sha256=dGs6Tt8wdEgHeCBesbbQsP6ZYiARBvoqwIdXIO1P5Os,7913
|
|
209
209
|
hatchet_sdk/logger.py,sha256=5uOr52T4mImSQm1QvWT8HvZFK5WfPNh3Y1cBQZRFgUQ,333
|
|
210
210
|
hatchet_sdk/metadata.py,sha256=M_Cb-CXRKitzVMQHeaHUtbY28ET__fAbyGX1YKaeN4I,80
|
|
211
211
|
hatchet_sdk/rate_limit.py,sha256=IIzpe65i-518t9kQcZVEykDQ2VY8sOw2F7qlQ4wlAjw,4421
|
|
212
212
|
hatchet_sdk/semver.py,sha256=PrgBL0TnyXl3p_OK1iSMk9Gpujfh5asQpJ4DHJLCW2k,998
|
|
213
213
|
hatchet_sdk/token.py,sha256=Ap3jnbaPAL10F2G_D71wj7OpBcvrI3RuE0keqXx1lAE,698
|
|
214
|
-
hatchet_sdk/utils/aio_utils.py,sha256=
|
|
214
|
+
hatchet_sdk/utils/aio_utils.py,sha256=D92Z1lc84u8f1mVE3XzOv9XtRKfCIvwfdfL-Bo5fJA8,4336
|
|
215
215
|
hatchet_sdk/utils/backoff.py,sha256=6B5Rb5nLKw_TqqgpJMYjIBV1PTTtbOMRZCveisVhg_I,353
|
|
216
216
|
hatchet_sdk/utils/serialization.py,sha256=P2Uq0yxg-Cea5Lmf6IOh2r7W17MNF1Hv2qxSny6BUk8,451
|
|
217
217
|
hatchet_sdk/utils/tracing.py,sha256=UjTw2vMLg1p6GjOGwt634nYJaNZh8c70PBxOBVLiDQ4,2261
|
|
218
218
|
hatchet_sdk/utils/types.py,sha256=qhx1OoeXh77AN6s4SMaGpB3zK3hPm7ocv-23JFa6_wE,191
|
|
219
|
-
hatchet_sdk/utils/typing.py,sha256=
|
|
220
|
-
hatchet_sdk/v2/callable.py,sha256=
|
|
221
|
-
hatchet_sdk/v2/concurrency.py,sha256=
|
|
222
|
-
hatchet_sdk/v2/hatchet.py,sha256=
|
|
219
|
+
hatchet_sdk/utils/typing.py,sha256=ab1FdF8OAXjcFq9Ui7Bd6yi8ZX473rIqFAqXJnh5AEM,261
|
|
220
|
+
hatchet_sdk/v2/callable.py,sha256=DqBc3VS7WAk5qU9Ef1HnyAzdgxUq1hDzj-CwQYQrvcA,6948
|
|
221
|
+
hatchet_sdk/v2/concurrency.py,sha256=mRsbCj3G2kwkAJjHOg67y226mYdXVmd0uka3ypdRKUQ,1434
|
|
222
|
+
hatchet_sdk/v2/hatchet.py,sha256=mQZoloWuRCIEwDwXeTaJL2kBjgs9YLHy7UPWxBD5070,7282
|
|
223
223
|
hatchet_sdk/worker/__init__.py,sha256=1Ze1seDuXx5yD1IfHmqGFgK5qrRazVW4ZcDVGl-Pddw,61
|
|
224
224
|
hatchet_sdk/worker/action_listener_process.py,sha256=tmlzDgyHWxGl8fJWE9NKqjvhqpGi9SMmOh5dFyiVL-Q,9979
|
|
225
225
|
hatchet_sdk/worker/runner/run_loop_manager.py,sha256=nV7fhNxJKCcrBm0ci118aszF_7AxenBkOTIe1UsBEt4,3490
|
|
226
|
-
hatchet_sdk/worker/runner/runner.py,sha256=
|
|
226
|
+
hatchet_sdk/worker/runner/runner.py,sha256=uNHPViiQvtwvX4uJ9TqcbFPonJnhhoEM3WNOWEKyop0,18517
|
|
227
227
|
hatchet_sdk/worker/runner/utils/capture_logs.py,sha256=s_BGxeykelVbusx6u31EPx3vv9c2BHkuBnYcaLW680E,2381
|
|
228
228
|
hatchet_sdk/worker/runner/utils/error_with_traceback.py,sha256=Iih_s8JNqrinXETFJ3ZS88EhaTekfM6m5fqIP7QWoIM,181
|
|
229
|
-
hatchet_sdk/worker/worker.py,sha256=
|
|
230
|
-
hatchet_sdk/workflow.py,sha256=
|
|
229
|
+
hatchet_sdk/worker/worker.py,sha256=R4UEf_1e7qe1LrXS8-0fjfriwcSb3W_38RUR6pOxBCo,11547
|
|
230
|
+
hatchet_sdk/workflow.py,sha256=XRj5jcCQSvPQMXxBipf-ZlARua2E8Z9igRzGcQ5alkI,9375
|
|
231
231
|
hatchet_sdk/workflow_run.py,sha256=BwK5cefvXXvyQ1Ednj_7LeejMwQJqWnvUC_FTBmJNxk,1805
|
|
232
|
-
hatchet_sdk-0.42.
|
|
233
|
-
hatchet_sdk-0.42.
|
|
234
|
-
hatchet_sdk-0.42.
|
|
235
|
-
hatchet_sdk-0.42.
|
|
232
|
+
hatchet_sdk-0.42.5.dist-info/METADATA,sha256=BztALlvM5Evu2RNQwVaMfnWJR6WqsKwgxCE3HCb4oZg,1514
|
|
233
|
+
hatchet_sdk-0.42.5.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
234
|
+
hatchet_sdk-0.42.5.dist-info/entry_points.txt,sha256=LTtQRABmSGYOxRI68cUVEz5dp9Qb57eqXGic9lU8RMo,1023
|
|
235
|
+
hatchet_sdk-0.42.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|