hatchet-sdk 1.2.6__py3-none-any.whl → 1.3.0__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.

Files changed (60) hide show
  1. hatchet_sdk/__init__.py +7 -5
  2. hatchet_sdk/client.py +14 -6
  3. hatchet_sdk/clients/admin.py +57 -15
  4. hatchet_sdk/clients/dispatcher/action_listener.py +2 -2
  5. hatchet_sdk/clients/dispatcher/dispatcher.py +20 -7
  6. hatchet_sdk/clients/event_ts.py +25 -5
  7. hatchet_sdk/clients/listeners/durable_event_listener.py +125 -0
  8. hatchet_sdk/clients/listeners/pooled_listener.py +255 -0
  9. hatchet_sdk/clients/listeners/workflow_listener.py +62 -0
  10. hatchet_sdk/clients/rest/api/api_token_api.py +24 -24
  11. hatchet_sdk/clients/rest/api/default_api.py +64 -64
  12. hatchet_sdk/clients/rest/api/event_api.py +64 -64
  13. hatchet_sdk/clients/rest/api/github_api.py +8 -8
  14. hatchet_sdk/clients/rest/api/healthcheck_api.py +16 -16
  15. hatchet_sdk/clients/rest/api/log_api.py +16 -16
  16. hatchet_sdk/clients/rest/api/metadata_api.py +24 -24
  17. hatchet_sdk/clients/rest/api/rate_limits_api.py +8 -8
  18. hatchet_sdk/clients/rest/api/slack_api.py +16 -16
  19. hatchet_sdk/clients/rest/api/sns_api.py +24 -24
  20. hatchet_sdk/clients/rest/api/step_run_api.py +56 -56
  21. hatchet_sdk/clients/rest/api/task_api.py +56 -56
  22. hatchet_sdk/clients/rest/api/tenant_api.py +128 -128
  23. hatchet_sdk/clients/rest/api/user_api.py +96 -96
  24. hatchet_sdk/clients/rest/api/worker_api.py +24 -24
  25. hatchet_sdk/clients/rest/api/workflow_api.py +144 -144
  26. hatchet_sdk/clients/rest/api/workflow_run_api.py +48 -48
  27. hatchet_sdk/clients/rest/api/workflow_runs_api.py +40 -40
  28. hatchet_sdk/clients/rest/api_client.py +5 -8
  29. hatchet_sdk/clients/rest/configuration.py +7 -3
  30. hatchet_sdk/clients/rest/models/tenant_step_run_queue_metrics.py +2 -2
  31. hatchet_sdk/clients/rest/models/v1_task_summary.py +5 -0
  32. hatchet_sdk/clients/rest/models/workflow_runs_metrics.py +5 -1
  33. hatchet_sdk/clients/rest/rest.py +160 -111
  34. hatchet_sdk/clients/v1/api_client.py +2 -2
  35. hatchet_sdk/context/context.py +22 -21
  36. hatchet_sdk/features/cron.py +41 -40
  37. hatchet_sdk/features/logs.py +7 -6
  38. hatchet_sdk/features/metrics.py +19 -18
  39. hatchet_sdk/features/runs.py +88 -68
  40. hatchet_sdk/features/scheduled.py +42 -42
  41. hatchet_sdk/features/workers.py +17 -16
  42. hatchet_sdk/features/workflows.py +15 -14
  43. hatchet_sdk/hatchet.py +1 -1
  44. hatchet_sdk/runnables/standalone.py +12 -9
  45. hatchet_sdk/runnables/task.py +66 -2
  46. hatchet_sdk/runnables/types.py +8 -0
  47. hatchet_sdk/runnables/workflow.py +26 -125
  48. hatchet_sdk/waits.py +8 -8
  49. hatchet_sdk/worker/runner/run_loop_manager.py +4 -4
  50. hatchet_sdk/worker/runner/runner.py +22 -11
  51. hatchet_sdk/worker/worker.py +29 -25
  52. hatchet_sdk/workflow_run.py +55 -9
  53. {hatchet_sdk-1.2.6.dist-info → hatchet_sdk-1.3.0.dist-info}/METADATA +1 -1
  54. {hatchet_sdk-1.2.6.dist-info → hatchet_sdk-1.3.0.dist-info}/RECORD +57 -57
  55. hatchet_sdk/clients/durable_event_listener.py +0 -329
  56. hatchet_sdk/clients/workflow_listener.py +0 -288
  57. hatchet_sdk/utils/aio.py +0 -43
  58. /hatchet_sdk/clients/{run_event_listener.py → listeners/run_event_listener.py} +0 -0
  59. {hatchet_sdk-1.2.6.dist-info → hatchet_sdk-1.3.0.dist-info}/WHEEL +0 -0
  60. {hatchet_sdk-1.2.6.dist-info → hatchet_sdk-1.3.0.dist-info}/entry_points.txt +0 -0
@@ -11,6 +11,7 @@ from multiprocessing import Queue
11
11
  from multiprocessing.process import BaseProcess
12
12
  from types import FrameType
13
13
  from typing import Any, TypeVar, get_type_hints
14
+ from warnings import warn
14
15
 
15
16
  from aiohttp import web
16
17
  from aiohttp.web_request import Request
@@ -38,6 +39,10 @@ from hatchet_sdk.worker.runner.run_loop_manager import (
38
39
  T = TypeVar("T")
39
40
 
40
41
 
42
+ class LoopAlreadyRunningException(Exception):
43
+ pass
44
+
45
+
41
46
  class WorkerStatus(Enum):
42
47
  INITIALIZED = 1
43
48
  STARTING = 2
@@ -128,24 +133,20 @@ class Worker:
128
133
  sys.exit(1)
129
134
 
130
135
  def register_workflow(self, workflow: BaseWorkflow[Any]) -> None:
131
- namespace = self.client.config.namespace
132
-
133
- opts = workflow._get_create_opts(namespace)
134
- name = workflow._get_name(namespace)
136
+ opts = workflow.to_proto()
137
+ name = workflow.name
135
138
 
136
139
  try:
137
140
  self.client.admin.put_workflow(name, opts)
138
141
  except Exception as e:
139
- logger.error(
140
- f"failed to register workflow: {workflow._get_name(namespace)}"
141
- )
142
+ logger.error(f"failed to register workflow: {workflow.name}")
142
143
  logger.error(e)
143
144
  sys.exit(1)
144
145
 
145
146
  for step in workflow.tasks:
146
- action_name = workflow._create_action_name(namespace, step)
147
+ action_name = workflow._create_action_name(step)
147
148
 
148
- if workflow.is_durable:
149
+ if step.is_durable:
149
150
  self.has_any_durable = True
150
151
  self.durable_action_registry[action_name] = step
151
152
  else:
@@ -167,22 +168,20 @@ class Worker:
167
168
  def status(self) -> WorkerStatus:
168
169
  return self._status
169
170
 
170
- def _setup_loop(self, loop: asyncio.AbstractEventLoop | None = None) -> bool:
171
+ def _setup_loop(self) -> None:
171
172
  try:
172
- self.loop = loop or asyncio.get_running_loop()
173
- logger.debug("using existing event loop")
174
-
175
- created_loop = False
173
+ asyncio.get_running_loop()
174
+ raise LoopAlreadyRunningException(
175
+ "An event loop is already running. This worker requires its own dedicated event loop. "
176
+ "Make sure you're not using asyncio.run() or other loop-creating functions in the main thread."
177
+ )
176
178
  except RuntimeError:
177
- self.loop = asyncio.new_event_loop()
178
-
179
- logger.debug("creating new event loop")
180
- created_loop = True
179
+ pass
181
180
 
181
+ logger.debug("Creating new event loop")
182
+ self.loop = asyncio.new_event_loop()
182
183
  asyncio.set_event_loop(self.loop)
183
184
 
184
- return created_loop
185
-
186
185
  async def _health_check_handler(self, request: Request) -> Response:
187
186
  response = HealthCheckResponse(
188
187
  status=self.status.name,
@@ -224,7 +223,13 @@ class Worker:
224
223
  logger.info(f"healthcheck server running on port {port}")
225
224
 
226
225
  def start(self, options: WorkerStartOptions = WorkerStartOptions()) -> None:
227
- self.owned_loop = self._setup_loop(options.loop)
226
+ if options.loop is not None:
227
+ warn(
228
+ "Passing a custom event loop is deprecated and will be removed in the future. This option no longer has any effect",
229
+ DeprecationWarning,
230
+ )
231
+
232
+ self._setup_loop()
228
233
 
229
234
  if not self.loop:
230
235
  raise RuntimeError("event loop not set, cannot start worker")
@@ -232,11 +237,10 @@ class Worker:
232
237
  asyncio.run_coroutine_threadsafe(self._aio_start(), self.loop)
233
238
 
234
239
  # start the loop and wait until its closed
235
- if self.owned_loop:
236
- self.loop.run_forever()
240
+ self.loop.run_forever()
237
241
 
238
- if self.handle_kill:
239
- sys.exit(0)
242
+ if self.handle_kill:
243
+ sys.exit(0)
240
244
 
241
245
  async def _aio_start(self) -> None:
242
246
  main_pid = os.getpid()
@@ -1,23 +1,27 @@
1
+ import time
1
2
  from typing import Any
2
3
 
3
- from hatchet_sdk.clients.run_event_listener import (
4
+ from hatchet_sdk.clients.listeners.run_event_listener import (
4
5
  RunEventListener,
5
6
  RunEventListenerClient,
6
7
  )
7
- from hatchet_sdk.clients.workflow_listener import PooledWorkflowRunListener
8
- from hatchet_sdk.config import ClientConfig
9
- from hatchet_sdk.utils.aio import run_async_from_sync
8
+ from hatchet_sdk.clients.listeners.workflow_listener import PooledWorkflowRunListener
9
+ from hatchet_sdk.clients.rest.models.v1_task_status import V1TaskStatus
10
+ from hatchet_sdk.features.runs import RunsClient
10
11
 
11
12
 
12
13
  class WorkflowRunRef:
13
14
  def __init__(
14
15
  self,
15
16
  workflow_run_id: str,
16
- config: ClientConfig,
17
+ workflow_run_listener: PooledWorkflowRunListener,
18
+ workflow_run_event_listener: RunEventListenerClient,
19
+ runs_client: RunsClient,
17
20
  ):
18
21
  self.workflow_run_id = workflow_run_id
19
- self.workflow_listener = PooledWorkflowRunListener(config)
20
- self.workflow_run_event_listener = RunEventListenerClient(config=config)
22
+ self.workflow_run_listener = workflow_run_listener
23
+ self.workflow_run_event_listener = workflow_run_event_listener
24
+ self.runs_client = runs_client
21
25
 
22
26
  def __str__(self) -> str:
23
27
  return self.workflow_run_id
@@ -26,7 +30,49 @@ class WorkflowRunRef:
26
30
  return self.workflow_run_event_listener.stream(self.workflow_run_id)
27
31
 
28
32
  async def aio_result(self) -> dict[str, Any]:
29
- return await self.workflow_listener.aio_result(self.workflow_run_id)
33
+ return await self.workflow_run_listener.aio_result(self.workflow_run_id)
34
+
35
+ def _safely_get_action_name(self, action_id: str) -> str | None:
36
+ try:
37
+ return action_id.split(":", maxsplit=1)[1]
38
+ except IndexError:
39
+ return None
30
40
 
31
41
  def result(self) -> dict[str, Any]:
32
- return run_async_from_sync(self.aio_result)
42
+ retries = 0
43
+
44
+ while True:
45
+ try:
46
+ details = self.runs_client.get(self.workflow_run_id)
47
+ except Exception:
48
+ retries += 1
49
+
50
+ if retries > 10:
51
+ raise ValueError(f"Workflow run {self.workflow_run_id} not found")
52
+
53
+ time.sleep(1)
54
+ continue
55
+
56
+ match details.run.status:
57
+ case V1TaskStatus.RUNNING:
58
+ time.sleep(1)
59
+ case V1TaskStatus.FAILED:
60
+ raise ValueError(
61
+ f"Workflow run failed: {details.run.error_message}"
62
+ )
63
+ case V1TaskStatus.COMPLETED:
64
+ return {
65
+ name: t.output
66
+ for t in details.tasks
67
+ if (name := self._safely_get_action_name(t.action_id))
68
+ }
69
+ case V1TaskStatus.QUEUED:
70
+ time.sleep(1)
71
+ case V1TaskStatus.CANCELLED:
72
+ raise ValueError(
73
+ f"Workflow run cancelled: {details.run.error_message}"
74
+ )
75
+ case _:
76
+ raise ValueError(
77
+ f"Unknown workflow run status: {details.run.status}"
78
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hatchet-sdk
3
- Version: 1.2.6
3
+ Version: 1.3.0
4
4
  Summary:
5
5
  Author: Alexander Belanger
6
6
  Author-email: alexander@hatchet.run
@@ -1,34 +1,37 @@
1
- hatchet_sdk/__init__.py,sha256=o_06wLLKCKRq4uQuCF62yDRb8hTQYYcqPC3FIDNHxuQ,10002
2
- hatchet_sdk/client.py,sha256=lApcV1-qlvIdiHyGrQJAIlT9qzP96I0mQ2STZ1ZV_2g,1940
3
- hatchet_sdk/clients/admin.py,sha256=1pY3RlJmVjFAfxX6kwVMd7jO_JHxkei6jrz8XUJUaKI,15333
4
- hatchet_sdk/clients/dispatcher/action_listener.py,sha256=FogjHd6vhj4HeQs--Z-99kPwCfaETo1-EcotjdIkrig,16266
5
- hatchet_sdk/clients/dispatcher/dispatcher.py,sha256=7tHEoCvL2MKklxbT43oRsQdx9JuLIVCJvFuIUqTHjis,7794
6
- hatchet_sdk/clients/durable_event_listener.py,sha256=J5Tg8niikms-tEfB8wps_wgsPF7Fx-pYhYExd0lJo7Y,11791
7
- hatchet_sdk/clients/event_ts.py,sha256=tbWLz3NXrwMyIoEm0Q2TfitF5cNEpo3k42jWKciOK8A,1082
1
+ hatchet_sdk/__init__.py,sha256=LUj6VyGVSHCYTQTaoyiVhjyJLOfv6gMCmb-s4hRyISM,10031
2
+ hatchet_sdk/client.py,sha256=tbOeMuaJmgpyYSQg8QUz_J4AdqRNvV9E0aEZpgsiZTE,2207
3
+ hatchet_sdk/clients/admin.py,sha256=qY9-nB8o-jCpQQF65nooemH8HOioXjntp9ethpGke9o,17266
4
+ hatchet_sdk/clients/dispatcher/action_listener.py,sha256=sAboL2Dr59MAPBR3KcJ7sSBfOwnTR3rdsRTJ0bDRuuc,16279
5
+ hatchet_sdk/clients/dispatcher/dispatcher.py,sha256=IL-hDXG8Lzas9FieVuNr47E_3Gvpc-aL4Xu_l385Vp8,8140
6
+ hatchet_sdk/clients/event_ts.py,sha256=OjYc_y1K3fNNZ7QLRJYBDnfgsyUVERkxofYldO4QVVs,1672
8
7
  hatchet_sdk/clients/events.py,sha256=sKqzGwkrW_AKWW0Q_rxfwo9jXV5EUpLx7fTQvCNHaVo,5443
8
+ hatchet_sdk/clients/listeners/durable_event_listener.py,sha256=jpqnbZsuouWk3XaOIYL9apaGtVk65eKKq66eBP9klBs,4085
9
+ hatchet_sdk/clients/listeners/pooled_listener.py,sha256=E5WOuqUb53OgN6mL7D1fZJZURscO_ILnIj_FG23ufmE,8330
10
+ hatchet_sdk/clients/listeners/run_event_listener.py,sha256=rIjBLRF7d7FBoEq7RKbmbOA84lX_hHSU26trwnthqV8,10230
11
+ hatchet_sdk/clients/listeners/workflow_listener.py,sha256=EhBZZnHiidDLvAc4r54Re_LJXVypinbgTE9qKBybxj8,2054
9
12
  hatchet_sdk/clients/rest/__init__.py,sha256=Bee4HPFiMGDHx5xbHkxxVbLBz_mDgSZUqh-nIhvsD1k,16511
10
13
  hatchet_sdk/clients/rest/api/__init__.py,sha256=XWlkH9iwpQvJHDqKe7kWl3MUzcTOaH-JiFZbki_fg_U,1200
11
- hatchet_sdk/clients/rest/api/api_token_api.py,sha256=C10FEIHHGBpwq-bIKkrBhvPlg6az4aHlREWEUlJHWl0,33577
12
- hatchet_sdk/clients/rest/api/default_api.py,sha256=Ip9Z_VvS5dP2MAy4YgQkUHnylbxztg-cglFCbs7hy_c,89061
13
- hatchet_sdk/clients/rest/api/event_api.py,sha256=YbvcNJTDY9aa69SdWsiXS4gbQ0x51LiAxUQmsPzwVXs,100154
14
- hatchet_sdk/clients/rest/api/github_api.py,sha256=1eKhvrqPPekfiu7WLh-ngcpOYMJwpRSwliEKoJ85Kjs,12107
15
- hatchet_sdk/clients/rest/api/healthcheck_api.py,sha256=WGsezrIxWK_geHLIERjUwlCtXE65SSmt_XTe7oc25VE,18779
16
- hatchet_sdk/clients/rest/api/log_api.py,sha256=sN9ZkzZFJkTnXGlnO6bsIqGiGJOmb58oNWE9fCYxmDQ,27144
17
- hatchet_sdk/clients/rest/api/metadata_api.py,sha256=EZFQdkUW9QhmGU88N4y3-01JJ8_vN99KkJNNJGtrLzc,29052
18
- hatchet_sdk/clients/rest/api/rate_limits_api.py,sha256=yNSsyOp_qLQQgK3IkPJRwRtBOQ6jcETkjYsZptkLZ5Q,15973
19
- hatchet_sdk/clients/rest/api/slack_api.py,sha256=sJbQUF9T_LavlXf60Qh4bI5fRkVFwItNZrJarfK7H_o,21990
20
- hatchet_sdk/clients/rest/api/sns_api.py,sha256=q92h-xLfncaQcQWksHhwjxdTucPhYSrScbhq-4f1SZA,33785
21
- hatchet_sdk/clients/rest/api/step_run_api.py,sha256=HkEqiZHMroap-ELdtJngA3XfeVYpckp_TqIHnwf3HKQ,84841
22
- hatchet_sdk/clients/rest/api/task_api.py,sha256=B_PL78skEa53gdtFRgGS7LkaafzMJSddHgEImZ5jxe0,86703
23
- hatchet_sdk/clients/rest/api/tenant_api.py,sha256=A8398EINJtevoSkCYcIaxp6zH_eVuScgsOknWIWU_Hg,178261
24
- hatchet_sdk/clients/rest/api/user_api.py,sha256=4UiOXLiI0lqDNv-MhtnYumC8_R361p10a68QmmBmS2s,116356
25
- hatchet_sdk/clients/rest/api/worker_api.py,sha256=nKQtd__fKfIuuG9zo6Xe4-LmJBHKspImgZ-vRes4R18,33193
26
- hatchet_sdk/clients/rest/api/workflow_api.py,sha256=X2D80I1Wkuq8m9BVnv8klxT8h4YbnkDePPjaYhXbIi0,250678
27
- hatchet_sdk/clients/rest/api/workflow_run_api.py,sha256=6gU7ZflOTVcCpW4AjEaEU5mUxZaRGrbM-aMq8nAxzcE,78408
28
- hatchet_sdk/clients/rest/api/workflow_runs_api.py,sha256=jrPBPzJYY1D9Ui_48ilHDpEpRcbSh5GIIP2oUStjTds,70432
29
- hatchet_sdk/clients/rest/api_client.py,sha256=pRFyes5DDslYbL3wh60l5BnY6CtEEabA4-bZ_zB30VE,26920
14
+ hatchet_sdk/clients/rest/api/api_token_api.py,sha256=xzqMH_-wajBA0qLLs5Ta7tYg4FOLq0NjATyhZ1SV9jo,33433
15
+ hatchet_sdk/clients/rest/api/default_api.py,sha256=Y0jEhatVpdIX_W2MCt_n40K6iKvVegDB70qxexkeZDI,88677
16
+ hatchet_sdk/clients/rest/api/event_api.py,sha256=ke5CMD0KI351dQCD9kgOf_jGsVwQa2b4orJnP0Qy-5c,99770
17
+ hatchet_sdk/clients/rest/api/github_api.py,sha256=yoCCZ33r5rQYp9b2pp36TGzjq-zORSYX1LMp5Ibsll8,12059
18
+ hatchet_sdk/clients/rest/api/healthcheck_api.py,sha256=fr8DOMqCMe4igJFeyi0C2ZmAMlghJszAl2SQJMnUzKc,18683
19
+ hatchet_sdk/clients/rest/api/log_api.py,sha256=YaXZS69ZLin2KbWuUl_BAm6rd6wdfKAaOAEGqhLd_Bw,27048
20
+ hatchet_sdk/clients/rest/api/metadata_api.py,sha256=sUCeXtuh4e_iEIHhjpu-f_Vy-PCX3EvHaOfvTQ0x-tQ,28908
21
+ hatchet_sdk/clients/rest/api/rate_limits_api.py,sha256=e3CIX35R8SkV8LrgLMPCAy6KztrEhfO_96iU-TT70rU,15925
22
+ hatchet_sdk/clients/rest/api/slack_api.py,sha256=0xIUw3_1_3hSTn2yw7fLRO5yb38nYLu5aLM7IE2pnwk,21894
23
+ hatchet_sdk/clients/rest/api/sns_api.py,sha256=1LfhnZEA450uHwtZCoM_wycOeH4UGwfNP1pw4RWSe08,33641
24
+ hatchet_sdk/clients/rest/api/step_run_api.py,sha256=rqP4UIJSkw8DwbDnlEgupBDWUL0jlVH_Rm7bNGMUoG8,84505
25
+ hatchet_sdk/clients/rest/api/task_api.py,sha256=x2m8VTvpYJuWZ58KWS4EnKItlxJgP0Ch8_89t2yKlF8,86367
26
+ hatchet_sdk/clients/rest/api/tenant_api.py,sha256=LYUdJSsg-O-Y_7cuCDdtDHP5P0BQ9ch8RFLQKIiIreQ,177493
27
+ hatchet_sdk/clients/rest/api/user_api.py,sha256=NYuEKLeBjXO4q8gyYq1thtbuRm9m3g0R6-q6LIfv83U,115780
28
+ hatchet_sdk/clients/rest/api/worker_api.py,sha256=56jRXsyK7SDENly2b019EO80d8xOHU4bZnmOmjKY1iQ,33049
29
+ hatchet_sdk/clients/rest/api/workflow_api.py,sha256=o2Dov7KmjjlRmsnZaeOjPMsPWo3G80wD1vqSdCOyxoA,249814
30
+ hatchet_sdk/clients/rest/api/workflow_run_api.py,sha256=Jvge80z6DhlqL9OuLzUC49OtojeiCuagrMbNBThMYI4,78120
31
+ hatchet_sdk/clients/rest/api/workflow_runs_api.py,sha256=_zFmx0DTztKK2xa5BKBYhYqveIbNBc4g9DkNPIJeUxQ,70192
32
+ hatchet_sdk/clients/rest/api_client.py,sha256=g1ECXTfdPHyM2yZuX4FZWZwvl5FZ9dEok0EKyeqLkRA,26813
30
33
  hatchet_sdk/clients/rest/api_response.py,sha256=rSuCVGY-HE8X_WwteQP5wyANIuS-L5AmtZEUOwTicak,641
31
- hatchet_sdk/clients/rest/configuration.py,sha256=ITsNmD7Ts5fg3pm-TEPvUdGh2qTKYmr1NzDNJynQjV8,19049
34
+ hatchet_sdk/clients/rest/configuration.py,sha256=ijGxGorVe8OEikJruwJ0hPk1Rc0OAKOqeUrfcoEiYH8,19333
32
35
  hatchet_sdk/clients/rest/exceptions.py,sha256=5PTEjyGxLeGP8U_qqc79QzR-sN7SOhzBwknSUC-BU4c,6365
33
36
  hatchet_sdk/clients/rest/models/__init__.py,sha256=BAwgrsAKYGiS9A3ZtK2ROF9xjiKa3qA7Z_NqBOGgzXI,14931
34
37
  hatchet_sdk/clients/rest/models/accept_invite_request.py,sha256=_otOis3SuTHl0F_hhYD-rYqgyxCXRn83CK_eU9oMdn4,2427
@@ -133,7 +136,7 @@ hatchet_sdk/clients/rest/models/tenant_queue_metrics.py,sha256=cTZ_ccGXM9XDwksD-
133
136
  hatchet_sdk/clients/rest/models/tenant_resource.py,sha256=oQX7-Ekg_NAOHWgs59kmxfD8kIzTk5v7-jYtSquEnPg,802
134
137
  hatchet_sdk/clients/rest/models/tenant_resource_limit.py,sha256=iVkEliSDbLcdi1EYdh9jfA66Ft1bhCcrIQ2ZC9JgGe8,4236
135
138
  hatchet_sdk/clients/rest/models/tenant_resource_policy.py,sha256=laL2UxMLkn3CPULnK3og2tLxoLaCvdcqDYi4er9cAQo,3092
136
- hatchet_sdk/clients/rest/models/tenant_step_run_queue_metrics.py,sha256=Qtn8XWyOQCR8ZwBuaZp7LXg8D_RLxxZ6ZFyjnFtai5g,2417
139
+ hatchet_sdk/clients/rest/models/tenant_step_run_queue_metrics.py,sha256=pkbuRSwrKS2XDUC-7k6wsyiKWlK9ALUPU1Ys-ENgapk,2400
137
140
  hatchet_sdk/clients/rest/models/tenant_version.py,sha256=5izyls2uBLE-gHEPfBaRaWOE24k9iM-2T_TB_LYINJ8,649
138
141
  hatchet_sdk/clients/rest/models/trigger_workflow_run_request.py,sha256=8l1biY4plhSQFr8w6g4a_pcZjJSBuPO18WjCr4Dz75k,2644
139
142
  hatchet_sdk/clients/rest/models/update_tenant_alert_email_group_request.py,sha256=9KfQNVApba-LG49ioR-W16YAfk2W2HanV_RRDugQeho,2488
@@ -162,7 +165,7 @@ hatchet_sdk/clients/rest/models/v1_task_point_metrics.py,sha256=shKqLFLgNAKua865
162
165
  hatchet_sdk/clients/rest/models/v1_task_run_metric.py,sha256=8trEgJ_7AHAmUQi2Qty-v5XVjgN3g7VZ6gzMTjeZ1tY,2504
163
166
  hatchet_sdk/clients/rest/models/v1_task_run_status.py,sha256=tjipWHHNx7g4lUZBdu_DDZwEqSpxPKv06YiE2Q17cXo,753
164
167
  hatchet_sdk/clients/rest/models/v1_task_status.py,sha256=4Hqczjth228k8Y23vIaxAIzTpLaS9mh9I0PrTjY8JRY,742
165
- hatchet_sdk/clients/rest/models/v1_task_summary.py,sha256=0bToWZFHPtLqGKUNwbrVy33EIAtI2VaFoulOCchjuPM,8171
168
+ hatchet_sdk/clients/rest/models/v1_task_summary.py,sha256=8tx3foltT1Ro39NN47H_-tszJmCynI4MM0_FldrxUNc,8347
166
169
  hatchet_sdk/clients/rest/models/v1_task_summary_list.py,sha256=0m-xf_lY9BwwbLky9i6fkTYUwh2K9mADHVZoRyF66o4,3510
167
170
  hatchet_sdk/clients/rest/models/v1_trigger_workflow_run_request.py,sha256=tlveXz8hM8xnn36PhtPokyHljjrkPDSI3ZniSutdYT0,2850
168
171
  hatchet_sdk/clients/rest/models/v1_workflow_run.py,sha256=Sf6MZylQOvdil7p50kMcWAEj4dZACzhb_TLlKu8wAD0,5620
@@ -200,7 +203,7 @@ hatchet_sdk/clients/rest/models/workflow_run_shape_item_for_workflow_run_details
200
203
  hatchet_sdk/clients/rest/models/workflow_run_status.py,sha256=X_jDDvq3GhjTNvdGy_NXUVNlUiIFrwbsQTw9kG_7YPs,805
201
204
  hatchet_sdk/clients/rest/models/workflow_run_triggered_by.py,sha256=j6Ob3ICDL2wqZuFE2Bu1wuusH75HPwH0S53xpjQaRHY,3545
202
205
  hatchet_sdk/clients/rest/models/workflow_runs_cancel_request.py,sha256=57o2jz6LN3PB2gi2SH_PBmyyhg5_94uNx2Shv_EpiSE,2537
203
- hatchet_sdk/clients/rest/models/workflow_runs_metrics.py,sha256=VokrmzO64TRSpPhLDIbsoBRfX9c7-9tKWvzY0wO7p-4,2745
206
+ hatchet_sdk/clients/rest/models/workflow_runs_metrics.py,sha256=7CfcXlvHNny8Q496CR6iW_DBjyefgN4NZ3QhH8IhX3k,2865
204
207
  hatchet_sdk/clients/rest/models/workflow_runs_metrics_counts.py,sha256=8pe_pI8UXe0YeMaOTRwrog3_Gq1z0LR2kLtq9hwS28g,3217
205
208
  hatchet_sdk/clients/rest/models/workflow_tag.py,sha256=9aPXHeUYW6FV-6dB-I5Ex0P5g82YNePEuy8-VG5Ecrs,2494
206
209
  hatchet_sdk/clients/rest/models/workflow_trigger_cron_ref.py,sha256=_6r0laWazB6r_eC1Sc7RZOYACWzhnItasKkMtkqu4Eg,2498
@@ -212,15 +215,13 @@ hatchet_sdk/clients/rest/models/workflow_version_concurrency.py,sha256=ExPeo4cKc
212
215
  hatchet_sdk/clients/rest/models/workflow_version_definition.py,sha256=e18BUh1XO06i5bVrdEYHzTHReco7_6gIrcB6QoCANV8,2526
213
216
  hatchet_sdk/clients/rest/models/workflow_version_meta.py,sha256=TW4R7bAuYAg_LraN-8psdZqp2E8wH9hYyL5Sji86aLk,3791
214
217
  hatchet_sdk/clients/rest/models/workflow_workers_count.py,sha256=qhzqfvjjIDyARkiiLGluMIqEmqO-diHTsjlu0Doi0yg,2875
215
- hatchet_sdk/clients/rest/rest.py,sha256=NbmK_NvoL3-g6Oul6dsZgJO3XvCWtw2V0qAbr8pGfQE,6967
218
+ hatchet_sdk/clients/rest/rest.py,sha256=zZHTzgl-NBdcK6XhG23m_s9RKRONGPPItzGe407s7GA,9262
216
219
  hatchet_sdk/clients/rest/tenacity_utils.py,sha256=n6QvwuGwinLQpiWNU5GxrDNhFBE8_wZdg3WNur21rJ0,1055
217
- hatchet_sdk/clients/run_event_listener.py,sha256=rIjBLRF7d7FBoEq7RKbmbOA84lX_hHSU26trwnthqV8,10230
218
- hatchet_sdk/clients/v1/api_client.py,sha256=L5dbAvIJMnoe9oiUuwLJx8Atn_NTpCctGJ_cXxE-KFs,1247
219
- hatchet_sdk/clients/workflow_listener.py,sha256=x6FQ8d786MiubARPG0B92L3Jbs4Ve0CQJFx_udJIB3s,10522
220
+ hatchet_sdk/clients/v1/api_client.py,sha256=mJQUZ3cOxlFJiwWKK5F8jBxcpNZ7A2292HucrBqurbg,1205
220
221
  hatchet_sdk/config.py,sha256=jJA76BOvVdfOQHy6TKclAvr2qyblcM-Pz5J-hVAdpQ4,3588
221
222
  hatchet_sdk/connection.py,sha256=B5gT5NL9BBB5-l9U_cN6pMlraQk880rEYMnqaK_dgL0,2590
222
223
  hatchet_sdk/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
- hatchet_sdk/context/context.py,sha256=jxT4HHrocY9dftiXxob-f06JRIYENRLrSgXE-t8hgxY,9347
224
+ hatchet_sdk/context/context.py,sha256=FUClTuxFETBAljI0gknOdqkCEgkY2EX1lOx2xib2xzk,9659
224
225
  hatchet_sdk/context/worker_context.py,sha256=OVcEWvdT_Kpd0nlg61VAPUgIPSFzSLs0aSrXWj-1GX4,974
225
226
  hatchet_sdk/contracts/dispatcher_pb2.py,sha256=SN4CIKeQwYkrbfRGhdhZo2uBn4nGzjUWIC1vvXdDeOQ,14503
226
227
  hatchet_sdk/contracts/dispatcher_pb2.pyi,sha256=ZSGio5eYxkw-QuQx2C5ASTNcKzeMQn5JTnWaRiThafM,18455
@@ -241,15 +242,15 @@ hatchet_sdk/contracts/workflows_pb2.py,sha256=9j6-YMrtgp2yxX-BePwyaqxuFhrI6OftoZ
241
242
  hatchet_sdk/contracts/workflows_pb2.pyi,sha256=2r5d4DWaR0kwY8jKSzcffTAMMlWrusRXCziE_03SFYc,15434
242
243
  hatchet_sdk/contracts/workflows_pb2_grpc.py,sha256=2V8E72DlJx5qlH2yiQpVCu5cQbKUba5X7T1yNrQDF_s,10819
243
244
  hatchet_sdk/exceptions.py,sha256=HGmYSZy3bCY2rBDEOQfhYGRa7_j9GvYT9Pc0B8Ic5Ug,49
244
- hatchet_sdk/features/cron.py,sha256=VRq5w15QpVYMkvkyIUgBO77IQpASbTxyplbgGukdmE8,9218
245
- hatchet_sdk/features/logs.py,sha256=Fm3l0f2VUlQ_YqYrKqHYviK5g_j9_wUEW6J_Ax9cYzc,724
246
- hatchet_sdk/features/metrics.py,sha256=Lmmu-3TITHyGGx5moA_emuzy-ZrbJhXLBDzR7Fm73pk,2897
245
+ hatchet_sdk/features/cron.py,sha256=eoS4hADSbae_rR-1J2Ng31WdJM-_neFSb2JcfKkXcMs,9132
246
+ hatchet_sdk/features/logs.py,sha256=LxyXsedewyiVhSFfGvDYxOA8FzTp8evKk8jeaonbwXo,674
247
+ hatchet_sdk/features/metrics.py,sha256=Rw6J2u-2sfb6p7dhcCJerrD2q62LZqaStJj0WvISGDY,2823
247
248
  hatchet_sdk/features/rate_limits.py,sha256=Df-DBFRpT1MHRf7qcvD4YJseNuFJUp5X9aO72yLkW6Q,1521
248
- hatchet_sdk/features/runs.py,sha256=0r1sRWgsmKxDGR96-u5uT1mZ66ZKuX99X1F9uOb178I,8390
249
- hatchet_sdk/features/scheduled.py,sha256=MfUrUOYNWewoX6GJ4YV2UWmKrxVJrgj4fX8wCxkkgv0,8900
250
- hatchet_sdk/features/workers.py,sha256=HpUX8LyvFfseNn677tTvQukNqyD90-uWPhdf10znUkA,1589
251
- hatchet_sdk/features/workflows.py,sha256=4hZgk7vhRhMK8wb2K3b9617TolnxRkeYL35aeLWHY2c,2143
252
- hatchet_sdk/hatchet.py,sha256=mVvUOovp_e6d0Z5GEHmz4AMKfsGePBK2b7BTQkhwD7U,22972
249
+ hatchet_sdk/features/runs.py,sha256=2069-4YUaouYloFUxa3-WmtkWhCjEIGMeGrN_nlnYCA,9089
250
+ hatchet_sdk/features/scheduled.py,sha256=1_GMP7jSC9UCFFWLVES5HtTGQInQd9cJeqJDhq0Hnmg,8813
251
+ hatchet_sdk/features/workers.py,sha256=fG8zoRXMm-lNNdNfeovKKpmJ0RzjZd6CIq_dVsu-ih0,1515
252
+ hatchet_sdk/features/workflows.py,sha256=x1Z_HZM_ZQZbWZhOfzJaEiPfRNSn6YX3IaTmFZ5D7MY,2069
253
+ hatchet_sdk/hatchet.py,sha256=7wDYLGBlPdQ0IvnJUdAe8Ms2B9IZWpedRED4AflZCW0,22982
253
254
  hatchet_sdk/labels.py,sha256=nATgxWE3lFxRTnfISEpoIRLGbMfAZsHF4lZTuG4Mfic,182
254
255
  hatchet_sdk/logger.py,sha256=5uOr52T4mImSQm1QvWT8HvZFK5WfPNh3Y1cBQZRFgUQ,333
255
256
  hatchet_sdk/metadata.py,sha256=XkRbhnghJJGCdVvF-uzyGBcNaTqpeQ3uiQvNNP1wyBc,107
@@ -257,12 +258,11 @@ hatchet_sdk/opentelemetry/instrumentor.py,sha256=KYZG1koVv4704kgr7YJ-M3QqRcTrZI2
257
258
  hatchet_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
259
  hatchet_sdk/rate_limit.py,sha256=TwbCuggiZaWpYuo4mjVLlE-z1OfQ2mRBiVvCSaG3lv4,3919
259
260
  hatchet_sdk/runnables/contextvars.py,sha256=6MDocAMmlyiRW37oQ1jyx10tAlJs-xgDjR3xPoPz05g,426
260
- hatchet_sdk/runnables/standalone.py,sha256=Qcg1oc7NlTw2ZCqq5D869fhssKBLUaZKUwDo4UVcVm4,6128
261
- hatchet_sdk/runnables/task.py,sha256=jQiRPeE9EbIzNOxv6hkmJ8RqyVR7hMLXX4cnGRl_GF8,4832
262
- hatchet_sdk/runnables/types.py,sha256=JWo4hkYb2XYoktIFVvnqud6Ywmo7AHMK_upYpdNmij0,4235
263
- hatchet_sdk/runnables/workflow.py,sha256=677DIWOErlVkIwJ2VeNwRAg7wkCUpOt_Av3wy3N2HcA,31090
261
+ hatchet_sdk/runnables/standalone.py,sha256=KyKA3UeuyU_IK0t-c0Q56Lm-W4rewILkfHlenjos474,6276
262
+ hatchet_sdk/runnables/task.py,sha256=R7QpxHsMKQSp6V84NeQ8oFdTNLPY77Ocx0MM1Q3xX40,7164
263
+ hatchet_sdk/runnables/types.py,sha256=1Y2mS7bDVY86rE7SSMzt9KKcF8qGiaiEmQ85jR8DMT4,4500
264
+ hatchet_sdk/runnables/workflow.py,sha256=FcmN7-cmI32GnnkKGKhUL2xV3z7vfBK43LmJVuKKiyo,27771
264
265
  hatchet_sdk/token.py,sha256=KjIiInwG5Kqd_FO4BSW1x_5Uc7PFbnzIVJqr50-ZldE,779
265
- hatchet_sdk/utils/aio.py,sha256=A9pKNn8eAKUeinY2uBkJn4jdrYI5vAw_A-gzz04xdvQ,1122
266
266
  hatchet_sdk/utils/backoff.py,sha256=6B5Rb5nLKw_TqqgpJMYjIBV1PTTtbOMRZCveisVhg_I,353
267
267
  hatchet_sdk/utils/proto_enums.py,sha256=0UybwE3s7TcqmzoQSO8YnhgAKOS8WZXsyPchB8-eksw,1247
268
268
  hatchet_sdk/utils/timedelta_to_expression.py,sha256=n5jIxlcswN9GwFPjktuMceedekzWWT6X7U6gbsZciIQ,455
@@ -498,15 +498,15 @@ hatchet_sdk/v0/worker/runner/utils/error_with_traceback.py,sha256=Iih_s8JNqrinXE
498
498
  hatchet_sdk/v0/worker/worker.py,sha256=0yU0z-0si7NzG0U9et9J0tiwfVBSHl4QSiOW-WNmTQM,13027
499
499
  hatchet_sdk/v0/workflow.py,sha256=d4o425efk7J3JgLIge34MW_A3pzwnwSRtwEOgIqM2pc,9387
500
500
  hatchet_sdk/v0/workflow_run.py,sha256=jsEZprXshrSV7i_TtL5uoCL03D18zQ3NeJCq7mp97Dg,1752
501
- hatchet_sdk/waits.py,sha256=mBJVOjvTJfhXCngyIfNccYFtg7eiFM2B2n7lcg90S3A,3327
501
+ hatchet_sdk/waits.py,sha256=dTrelK8Lk0W5anq3TlpJwAK5z8TJ0FW7XgoSg8bf8fA,3351
502
502
  hatchet_sdk/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
503
503
  hatchet_sdk/worker/action_listener_process.py,sha256=KxS7-wBpfKnsq0LNSvk-MG442Lh60iQMy3VpD1FW3mU,11703
504
- hatchet_sdk/worker/runner/run_loop_manager.py,sha256=GKIH2ncGdM7nwtPn--8f6dAxQqBQv6O82mZYCEM5qnk,3971
505
- hatchet_sdk/worker/runner/runner.py,sha256=ZocvR7dDgEvSxcHAWDDaoTasSz3Wio70TbEbBRE3GFA,17175
504
+ hatchet_sdk/worker/runner/run_loop_manager.py,sha256=P0iyKSfAb0IW5LDUnwzUOgCp0lPpAAKXCkeTXGQq8oY,3893
505
+ hatchet_sdk/worker/runner/runner.py,sha256=mfEsR2EDcKPkEIylkz3FLsMC33OqTs4r5zpxCIjitoc,17446
506
506
  hatchet_sdk/worker/runner/utils/capture_logs.py,sha256=nHRPSiDBqzhObM7i2X7t03OupVFnE7kQBdR2Ckgg-2w,2709
507
- hatchet_sdk/worker/worker.py,sha256=qyHs64H-grF9HR1CgH7MlnoDmTQ8mm4d8basx-ZDyWc,14490
508
- hatchet_sdk/workflow_run.py,sha256=Q1nTpnWNsFfjWWpx49xXYUHsVbqTnHL6JWnSKoFM3_I,1029
509
- hatchet_sdk-1.2.6.dist-info/METADATA,sha256=LfptC1FhJwxcjLrYm_Qc1EIQ6Yx6Gsqhc7msQrwYP6s,3571
510
- hatchet_sdk-1.2.6.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
511
- hatchet_sdk-1.2.6.dist-info/entry_points.txt,sha256=5mTp_AsCWK5raiVxP_MU9eBCgkRGl4OsN6chpHcvm7o,1235
512
- hatchet_sdk-1.2.6.dist-info/RECORD,,
507
+ hatchet_sdk/worker/worker.py,sha256=dcJEMeogodhLEi_5a0ldJLZ5EEN7DNcr8aiFLknTb18,14667
508
+ hatchet_sdk/workflow_run.py,sha256=JmKDscazfUP5uFcRP6jAdssMUePfTLXad_uv2mJwueI,2707
509
+ hatchet_sdk-1.3.0.dist-info/METADATA,sha256=s4OUMCQczkxe2JImLBIPJ0zXsFahO-576DHl5pfUb_o,3571
510
+ hatchet_sdk-1.3.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
511
+ hatchet_sdk-1.3.0.dist-info/entry_points.txt,sha256=5mTp_AsCWK5raiVxP_MU9eBCgkRGl4OsN6chpHcvm7o,1235
512
+ hatchet_sdk-1.3.0.dist-info/RECORD,,