hatchet-sdk 1.18.1__py3-none-any.whl → 1.20.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 (234) hide show
  1. hatchet_sdk/clients/dispatcher/action_listener.py +0 -1
  2. hatchet_sdk/clients/dispatcher/dispatcher.py +0 -30
  3. hatchet_sdk/hatchet.py +0 -20
  4. hatchet_sdk/opentelemetry/instrumentor.py +1 -27
  5. hatchet_sdk/runnables/action.py +2 -5
  6. hatchet_sdk/runnables/task.py +0 -1
  7. hatchet_sdk/utils/opentelemetry.py +0 -1
  8. hatchet_sdk/worker/action_listener_process.py +0 -29
  9. hatchet_sdk/worker/runner/runner.py +1 -105
  10. {hatchet_sdk-1.18.1.dist-info → hatchet_sdk-1.20.0.dist-info}/METADATA +2 -3
  11. {hatchet_sdk-1.18.1.dist-info → hatchet_sdk-1.20.0.dist-info}/RECORD +13 -234
  12. hatchet_sdk/v0/__init__.py +0 -251
  13. hatchet_sdk/v0/client.py +0 -119
  14. hatchet_sdk/v0/clients/admin.py +0 -541
  15. hatchet_sdk/v0/clients/dispatcher/action_listener.py +0 -422
  16. hatchet_sdk/v0/clients/dispatcher/dispatcher.py +0 -204
  17. hatchet_sdk/v0/clients/event_ts.py +0 -28
  18. hatchet_sdk/v0/clients/events.py +0 -182
  19. hatchet_sdk/v0/clients/rest/__init__.py +0 -307
  20. hatchet_sdk/v0/clients/rest/api/__init__.py +0 -19
  21. hatchet_sdk/v0/clients/rest/api/api_token_api.py +0 -858
  22. hatchet_sdk/v0/clients/rest/api/default_api.py +0 -2259
  23. hatchet_sdk/v0/clients/rest/api/event_api.py +0 -2548
  24. hatchet_sdk/v0/clients/rest/api/github_api.py +0 -331
  25. hatchet_sdk/v0/clients/rest/api/healthcheck_api.py +0 -483
  26. hatchet_sdk/v0/clients/rest/api/log_api.py +0 -449
  27. hatchet_sdk/v0/clients/rest/api/metadata_api.py +0 -728
  28. hatchet_sdk/v0/clients/rest/api/rate_limits_api.py +0 -423
  29. hatchet_sdk/v0/clients/rest/api/slack_api.py +0 -577
  30. hatchet_sdk/v0/clients/rest/api/sns_api.py +0 -872
  31. hatchet_sdk/v0/clients/rest/api/step_run_api.py +0 -2202
  32. hatchet_sdk/v0/clients/rest/api/tenant_api.py +0 -4430
  33. hatchet_sdk/v0/clients/rest/api/user_api.py +0 -2888
  34. hatchet_sdk/v0/clients/rest/api/worker_api.py +0 -858
  35. hatchet_sdk/v0/clients/rest/api/workflow_api.py +0 -6312
  36. hatchet_sdk/v0/clients/rest/api/workflow_run_api.py +0 -1932
  37. hatchet_sdk/v0/clients/rest/api/workflow_runs_api.py +0 -610
  38. hatchet_sdk/v0/clients/rest/api_client.py +0 -759
  39. hatchet_sdk/v0/clients/rest/api_response.py +0 -22
  40. hatchet_sdk/v0/clients/rest/configuration.py +0 -611
  41. hatchet_sdk/v0/clients/rest/exceptions.py +0 -200
  42. hatchet_sdk/v0/clients/rest/models/__init__.py +0 -274
  43. hatchet_sdk/v0/clients/rest/models/accept_invite_request.py +0 -83
  44. hatchet_sdk/v0/clients/rest/models/api_error.py +0 -102
  45. hatchet_sdk/v0/clients/rest/models/api_errors.py +0 -100
  46. hatchet_sdk/v0/clients/rest/models/api_meta.py +0 -144
  47. hatchet_sdk/v0/clients/rest/models/api_meta_auth.py +0 -85
  48. hatchet_sdk/v0/clients/rest/models/api_meta_integration.py +0 -88
  49. hatchet_sdk/v0/clients/rest/models/api_meta_posthog.py +0 -90
  50. hatchet_sdk/v0/clients/rest/models/api_resource_meta.py +0 -98
  51. hatchet_sdk/v0/clients/rest/models/api_token.py +0 -105
  52. hatchet_sdk/v0/clients/rest/models/bulk_create_event_request.py +0 -100
  53. hatchet_sdk/v0/clients/rest/models/bulk_create_event_response.py +0 -110
  54. hatchet_sdk/v0/clients/rest/models/cancel_event_request.py +0 -85
  55. hatchet_sdk/v0/clients/rest/models/cancel_step_run_request.py +0 -83
  56. hatchet_sdk/v0/clients/rest/models/concurrency_limit_strategy.py +0 -39
  57. hatchet_sdk/v0/clients/rest/models/create_api_token_request.py +0 -92
  58. hatchet_sdk/v0/clients/rest/models/create_api_token_response.py +0 -83
  59. hatchet_sdk/v0/clients/rest/models/create_cron_workflow_trigger_request.py +0 -98
  60. hatchet_sdk/v0/clients/rest/models/create_event_request.py +0 -95
  61. hatchet_sdk/v0/clients/rest/models/create_pull_request_from_step_run.py +0 -83
  62. hatchet_sdk/v0/clients/rest/models/create_sns_integration_request.py +0 -85
  63. hatchet_sdk/v0/clients/rest/models/create_tenant_alert_email_group_request.py +0 -83
  64. hatchet_sdk/v0/clients/rest/models/create_tenant_invite_request.py +0 -86
  65. hatchet_sdk/v0/clients/rest/models/create_tenant_request.py +0 -84
  66. hatchet_sdk/v0/clients/rest/models/cron_workflows.py +0 -131
  67. hatchet_sdk/v0/clients/rest/models/cron_workflows_list.py +0 -110
  68. hatchet_sdk/v0/clients/rest/models/cron_workflows_method.py +0 -37
  69. hatchet_sdk/v0/clients/rest/models/cron_workflows_order_by_field.py +0 -37
  70. hatchet_sdk/v0/clients/rest/models/event.py +0 -143
  71. hatchet_sdk/v0/clients/rest/models/event_data.py +0 -83
  72. hatchet_sdk/v0/clients/rest/models/event_key_list.py +0 -98
  73. hatchet_sdk/v0/clients/rest/models/event_list.py +0 -110
  74. hatchet_sdk/v0/clients/rest/models/event_order_by_direction.py +0 -37
  75. hatchet_sdk/v0/clients/rest/models/event_order_by_field.py +0 -36
  76. hatchet_sdk/v0/clients/rest/models/event_update_cancel200_response.py +0 -85
  77. hatchet_sdk/v0/clients/rest/models/event_workflow_run_summary.py +0 -116
  78. hatchet_sdk/v0/clients/rest/models/events.py +0 -110
  79. hatchet_sdk/v0/clients/rest/models/get_step_run_diff_response.py +0 -100
  80. hatchet_sdk/v0/clients/rest/models/github_app_installation.py +0 -107
  81. hatchet_sdk/v0/clients/rest/models/github_branch.py +0 -86
  82. hatchet_sdk/v0/clients/rest/models/github_repo.py +0 -86
  83. hatchet_sdk/v0/clients/rest/models/info_get_version200_response.py +0 -83
  84. hatchet_sdk/v0/clients/rest/models/job.py +0 -132
  85. hatchet_sdk/v0/clients/rest/models/job_run.py +0 -176
  86. hatchet_sdk/v0/clients/rest/models/job_run_status.py +0 -41
  87. hatchet_sdk/v0/clients/rest/models/link_github_repository_request.py +0 -106
  88. hatchet_sdk/v0/clients/rest/models/list_api_tokens_response.py +0 -110
  89. hatchet_sdk/v0/clients/rest/models/list_github_app_installations_response.py +0 -112
  90. hatchet_sdk/v0/clients/rest/models/list_pull_requests_response.py +0 -100
  91. hatchet_sdk/v0/clients/rest/models/list_slack_webhooks.py +0 -110
  92. hatchet_sdk/v0/clients/rest/models/list_sns_integrations.py +0 -110
  93. hatchet_sdk/v0/clients/rest/models/log_line.py +0 -94
  94. hatchet_sdk/v0/clients/rest/models/log_line_level.py +0 -39
  95. hatchet_sdk/v0/clients/rest/models/log_line_list.py +0 -110
  96. hatchet_sdk/v0/clients/rest/models/log_line_order_by_direction.py +0 -37
  97. hatchet_sdk/v0/clients/rest/models/log_line_order_by_field.py +0 -36
  98. hatchet_sdk/v0/clients/rest/models/pagination_response.py +0 -95
  99. hatchet_sdk/v0/clients/rest/models/pull_request.py +0 -112
  100. hatchet_sdk/v0/clients/rest/models/pull_request_state.py +0 -37
  101. hatchet_sdk/v0/clients/rest/models/queue_metrics.py +0 -97
  102. hatchet_sdk/v0/clients/rest/models/rate_limit.py +0 -117
  103. hatchet_sdk/v0/clients/rest/models/rate_limit_list.py +0 -110
  104. hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_direction.py +0 -37
  105. hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_field.py +0 -38
  106. hatchet_sdk/v0/clients/rest/models/recent_step_runs.py +0 -118
  107. hatchet_sdk/v0/clients/rest/models/reject_invite_request.py +0 -83
  108. hatchet_sdk/v0/clients/rest/models/replay_event_request.py +0 -85
  109. hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_request.py +0 -85
  110. hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_response.py +0 -100
  111. hatchet_sdk/v0/clients/rest/models/rerun_step_run_request.py +0 -83
  112. hatchet_sdk/v0/clients/rest/models/schedule_workflow_run_request.py +0 -92
  113. hatchet_sdk/v0/clients/rest/models/scheduled_run_status.py +0 -42
  114. hatchet_sdk/v0/clients/rest/models/scheduled_workflows.py +0 -149
  115. hatchet_sdk/v0/clients/rest/models/scheduled_workflows_list.py +0 -110
  116. hatchet_sdk/v0/clients/rest/models/scheduled_workflows_method.py +0 -37
  117. hatchet_sdk/v0/clients/rest/models/scheduled_workflows_order_by_field.py +0 -37
  118. hatchet_sdk/v0/clients/rest/models/semaphore_slots.py +0 -113
  119. hatchet_sdk/v0/clients/rest/models/slack_webhook.py +0 -127
  120. hatchet_sdk/v0/clients/rest/models/sns_integration.py +0 -114
  121. hatchet_sdk/v0/clients/rest/models/step.py +0 -123
  122. hatchet_sdk/v0/clients/rest/models/step_run.py +0 -202
  123. hatchet_sdk/v0/clients/rest/models/step_run_archive.py +0 -142
  124. hatchet_sdk/v0/clients/rest/models/step_run_archive_list.py +0 -110
  125. hatchet_sdk/v0/clients/rest/models/step_run_diff.py +0 -91
  126. hatchet_sdk/v0/clients/rest/models/step_run_event.py +0 -122
  127. hatchet_sdk/v0/clients/rest/models/step_run_event_list.py +0 -110
  128. hatchet_sdk/v0/clients/rest/models/step_run_event_reason.py +0 -52
  129. hatchet_sdk/v0/clients/rest/models/step_run_event_severity.py +0 -38
  130. hatchet_sdk/v0/clients/rest/models/step_run_status.py +0 -44
  131. hatchet_sdk/v0/clients/rest/models/tenant.py +0 -118
  132. hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group.py +0 -98
  133. hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group_list.py +0 -112
  134. hatchet_sdk/v0/clients/rest/models/tenant_alerting_settings.py +0 -143
  135. hatchet_sdk/v0/clients/rest/models/tenant_invite.py +0 -120
  136. hatchet_sdk/v0/clients/rest/models/tenant_invite_list.py +0 -110
  137. hatchet_sdk/v0/clients/rest/models/tenant_list.py +0 -110
  138. hatchet_sdk/v0/clients/rest/models/tenant_member.py +0 -123
  139. hatchet_sdk/v0/clients/rest/models/tenant_member_list.py +0 -110
  140. hatchet_sdk/v0/clients/rest/models/tenant_member_role.py +0 -38
  141. hatchet_sdk/v0/clients/rest/models/tenant_queue_metrics.py +0 -116
  142. hatchet_sdk/v0/clients/rest/models/tenant_resource.py +0 -40
  143. hatchet_sdk/v0/clients/rest/models/tenant_resource_limit.py +0 -135
  144. hatchet_sdk/v0/clients/rest/models/tenant_resource_policy.py +0 -102
  145. hatchet_sdk/v0/clients/rest/models/tenant_step_run_queue_metrics.py +0 -83
  146. hatchet_sdk/v0/clients/rest/models/trigger_workflow_run_request.py +0 -91
  147. hatchet_sdk/v0/clients/rest/models/update_tenant_alert_email_group_request.py +0 -83
  148. hatchet_sdk/v0/clients/rest/models/update_tenant_invite_request.py +0 -85
  149. hatchet_sdk/v0/clients/rest/models/update_tenant_request.py +0 -137
  150. hatchet_sdk/v0/clients/rest/models/update_worker_request.py +0 -87
  151. hatchet_sdk/v0/clients/rest/models/user.py +0 -126
  152. hatchet_sdk/v0/clients/rest/models/user_change_password_request.py +0 -88
  153. hatchet_sdk/v0/clients/rest/models/user_login_request.py +0 -86
  154. hatchet_sdk/v0/clients/rest/models/user_register_request.py +0 -91
  155. hatchet_sdk/v0/clients/rest/models/user_tenant_memberships_list.py +0 -110
  156. hatchet_sdk/v0/clients/rest/models/user_tenant_public.py +0 -86
  157. hatchet_sdk/v0/clients/rest/models/webhook_worker.py +0 -100
  158. hatchet_sdk/v0/clients/rest/models/webhook_worker_create_request.py +0 -94
  159. hatchet_sdk/v0/clients/rest/models/webhook_worker_create_response.py +0 -98
  160. hatchet_sdk/v0/clients/rest/models/webhook_worker_created.py +0 -102
  161. hatchet_sdk/v0/clients/rest/models/webhook_worker_list_response.py +0 -110
  162. hatchet_sdk/v0/clients/rest/models/webhook_worker_request.py +0 -102
  163. hatchet_sdk/v0/clients/rest/models/webhook_worker_request_list_response.py +0 -104
  164. hatchet_sdk/v0/clients/rest/models/webhook_worker_request_method.py +0 -38
  165. hatchet_sdk/v0/clients/rest/models/worker.py +0 -239
  166. hatchet_sdk/v0/clients/rest/models/worker_label.py +0 -102
  167. hatchet_sdk/v0/clients/rest/models/worker_list.py +0 -110
  168. hatchet_sdk/v0/clients/rest/models/worker_runtime_info.py +0 -103
  169. hatchet_sdk/v0/clients/rest/models/worker_runtime_sdks.py +0 -38
  170. hatchet_sdk/v0/clients/rest/models/worker_type.py +0 -38
  171. hatchet_sdk/v0/clients/rest/models/workflow.py +0 -165
  172. hatchet_sdk/v0/clients/rest/models/workflow_concurrency.py +0 -107
  173. hatchet_sdk/v0/clients/rest/models/workflow_deployment_config.py +0 -136
  174. hatchet_sdk/v0/clients/rest/models/workflow_kind.py +0 -38
  175. hatchet_sdk/v0/clients/rest/models/workflow_list.py +0 -120
  176. hatchet_sdk/v0/clients/rest/models/workflow_metrics.py +0 -97
  177. hatchet_sdk/v0/clients/rest/models/workflow_run.py +0 -188
  178. hatchet_sdk/v0/clients/rest/models/workflow_run_cancel200_response.py +0 -85
  179. hatchet_sdk/v0/clients/rest/models/workflow_run_list.py +0 -110
  180. hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_direction.py +0 -37
  181. hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_field.py +0 -39
  182. hatchet_sdk/v0/clients/rest/models/workflow_run_shape.py +0 -186
  183. hatchet_sdk/v0/clients/rest/models/workflow_run_status.py +0 -42
  184. hatchet_sdk/v0/clients/rest/models/workflow_run_triggered_by.py +0 -112
  185. hatchet_sdk/v0/clients/rest/models/workflow_runs_cancel_request.py +0 -85
  186. hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics.py +0 -94
  187. hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics_counts.py +0 -104
  188. hatchet_sdk/v0/clients/rest/models/workflow_tag.py +0 -84
  189. hatchet_sdk/v0/clients/rest/models/workflow_trigger_cron_ref.py +0 -86
  190. hatchet_sdk/v0/clients/rest/models/workflow_trigger_event_ref.py +0 -86
  191. hatchet_sdk/v0/clients/rest/models/workflow_triggers.py +0 -141
  192. hatchet_sdk/v0/clients/rest/models/workflow_update_request.py +0 -85
  193. hatchet_sdk/v0/clients/rest/models/workflow_version.py +0 -170
  194. hatchet_sdk/v0/clients/rest/models/workflow_version_concurrency.py +0 -114
  195. hatchet_sdk/v0/clients/rest/models/workflow_version_definition.py +0 -85
  196. hatchet_sdk/v0/clients/rest/models/workflow_version_meta.py +0 -123
  197. hatchet_sdk/v0/clients/rest/models/workflow_workers_count.py +0 -95
  198. hatchet_sdk/v0/clients/rest/rest.py +0 -187
  199. hatchet_sdk/v0/clients/rest/tenacity_utils.py +0 -39
  200. hatchet_sdk/v0/clients/rest_client.py +0 -622
  201. hatchet_sdk/v0/clients/run_event_listener.py +0 -260
  202. hatchet_sdk/v0/clients/workflow_listener.py +0 -277
  203. hatchet_sdk/v0/connection.py +0 -63
  204. hatchet_sdk/v0/context/__init__.py +0 -1
  205. hatchet_sdk/v0/context/context.py +0 -446
  206. hatchet_sdk/v0/context/worker_context.py +0 -28
  207. hatchet_sdk/v0/features/cron.py +0 -286
  208. hatchet_sdk/v0/features/scheduled.py +0 -248
  209. hatchet_sdk/v0/hatchet.py +0 -310
  210. hatchet_sdk/v0/labels.py +0 -10
  211. hatchet_sdk/v0/loader.py +0 -244
  212. hatchet_sdk/v0/metadata.py +0 -2
  213. hatchet_sdk/v0/opentelemetry/instrumentor.py +0 -393
  214. hatchet_sdk/v0/rate_limit.py +0 -126
  215. hatchet_sdk/v0/semver.py +0 -30
  216. hatchet_sdk/v0/token.py +0 -27
  217. hatchet_sdk/v0/utils/aio_utils.py +0 -137
  218. hatchet_sdk/v0/utils/backoff.py +0 -9
  219. hatchet_sdk/v0/utils/types.py +0 -8
  220. hatchet_sdk/v0/utils/typing.py +0 -12
  221. hatchet_sdk/v0/v2/callable.py +0 -202
  222. hatchet_sdk/v0/v2/concurrency.py +0 -47
  223. hatchet_sdk/v0/v2/hatchet.py +0 -224
  224. hatchet_sdk/v0/worker/__init__.py +0 -1
  225. hatchet_sdk/v0/worker/action_listener_process.py +0 -294
  226. hatchet_sdk/v0/worker/runner/run_loop_manager.py +0 -112
  227. hatchet_sdk/v0/worker/runner/runner.py +0 -460
  228. hatchet_sdk/v0/worker/runner/utils/capture_logs.py +0 -81
  229. hatchet_sdk/v0/worker/runner/utils/error_with_traceback.py +0 -6
  230. hatchet_sdk/v0/worker/worker.py +0 -391
  231. hatchet_sdk/v0/workflow.py +0 -261
  232. hatchet_sdk/v0/workflow_run.py +0 -59
  233. {hatchet_sdk-1.18.1.dist-info → hatchet_sdk-1.20.0.dist-info}/WHEEL +0 -0
  234. {hatchet_sdk-1.18.1.dist-info → hatchet_sdk-1.20.0.dist-info}/entry_points.txt +0 -0
@@ -1,182 +0,0 @@
1
- import asyncio
2
- import datetime
3
- import json
4
- from typing import Any, Dict, List, Optional, TypedDict
5
- from uuid import uuid4
6
-
7
- import grpc
8
- from google.protobuf import timestamp_pb2
9
-
10
- from hatchet_sdk.contracts.events_pb2 import (
11
- BulkPushEventRequest,
12
- Event,
13
- PushEventRequest,
14
- PutLogRequest,
15
- PutStreamEventRequest,
16
- )
17
- from hatchet_sdk.contracts.events_pb2_grpc import EventsServiceStub
18
- from hatchet_sdk.v0.clients.rest.tenacity_utils import tenacity_retry
19
-
20
- from ..loader import ClientConfig
21
- from ..metadata import get_metadata
22
-
23
-
24
- def new_event(conn, config: ClientConfig):
25
- return EventClient(
26
- client=EventsServiceStub(conn),
27
- config=config,
28
- )
29
-
30
-
31
- def proto_timestamp_now():
32
- t = datetime.datetime.now().timestamp()
33
- seconds = int(t)
34
- nanos = int(t % 1 * 1e9)
35
-
36
- return timestamp_pb2.Timestamp(seconds=seconds, nanos=nanos)
37
-
38
-
39
- class PushEventOptions(TypedDict, total=False):
40
- additional_metadata: Dict[str, str] | None = None
41
- namespace: str | None = None
42
-
43
-
44
- class BulkPushEventOptions(TypedDict, total=False):
45
- namespace: str | None = None
46
-
47
-
48
- class BulkPushEventWithMetadata(TypedDict, total=False):
49
- key: str
50
- payload: Any
51
- additional_metadata: Optional[Dict[str, Any]] # Optional metadata
52
-
53
-
54
- class EventClient:
55
- def __init__(self, client: EventsServiceStub, config: ClientConfig):
56
- self.client = client
57
- self.token = config.token
58
- self.namespace = config.namespace
59
-
60
- async def async_push(
61
- self, event_key, payload, options: Optional[PushEventOptions] = None
62
- ) -> Event:
63
- return await asyncio.to_thread(
64
- self.push, event_key=event_key, payload=payload, options=options
65
- )
66
-
67
- async def async_bulk_push(
68
- self,
69
- events: List[BulkPushEventWithMetadata],
70
- options: Optional[BulkPushEventOptions] = None,
71
- ) -> List[Event]:
72
- return await asyncio.to_thread(self.bulk_push, events=events, options=options)
73
-
74
- ## IMPORTANT: Keep this method's signature in sync with the wrapper in the OTel instrumentor
75
- @tenacity_retry
76
- def push(self, event_key, payload, options: PushEventOptions = None) -> Event:
77
- namespace = self.namespace
78
-
79
- if (
80
- options is not None
81
- and "namespace" in options
82
- and options["namespace"] is not None
83
- ):
84
- namespace = options.pop("namespace")
85
-
86
- namespaced_event_key = namespace + event_key
87
-
88
- try:
89
- meta = dict() if options is None else options["additional_metadata"]
90
- meta_bytes = None if meta is None else json.dumps(meta).encode("utf-8")
91
- except Exception as e:
92
- raise ValueError(f"Error encoding meta: {e}")
93
-
94
- try:
95
- payload_bytes = json.dumps(payload).encode("utf-8")
96
- except json.UnicodeEncodeError as e:
97
- raise ValueError(f"Error encoding payload: {e}")
98
-
99
- request = PushEventRequest(
100
- key=namespaced_event_key,
101
- payload=payload_bytes,
102
- eventTimestamp=proto_timestamp_now(),
103
- additionalMetadata=meta_bytes,
104
- )
105
-
106
- return self.client.Push(request, metadata=get_metadata(self.token))
107
-
108
- ## IMPORTANT: Keep this method's signature in sync with the wrapper in the OTel instrumentor
109
- @tenacity_retry
110
- def bulk_push(
111
- self,
112
- events: List[BulkPushEventWithMetadata],
113
- options: BulkPushEventOptions = None,
114
- ) -> List[Event]:
115
- namespace = self.namespace
116
-
117
- if (
118
- options is not None
119
- and "namespace" in options
120
- and options["namespace"] is not None
121
- ):
122
- namespace = options.pop("namespace")
123
-
124
- bulk_events = []
125
- for event in events:
126
- event_key = namespace + event["key"]
127
- payload = event["payload"]
128
-
129
- try:
130
- meta = event.get("additional_metadata", {})
131
- meta_bytes = json.dumps(meta).encode("utf-8") if meta else None
132
- except Exception as e:
133
- raise ValueError(f"Error encoding meta: {e}")
134
-
135
- try:
136
- payload_bytes = json.dumps(payload).encode("utf-8")
137
- except json.UnicodeEncodeError as e:
138
- raise ValueError(f"Error encoding payload: {e}")
139
-
140
- request = PushEventRequest(
141
- key=event_key,
142
- payload=payload_bytes,
143
- eventTimestamp=proto_timestamp_now(),
144
- additionalMetadata=meta_bytes,
145
- )
146
- bulk_events.append(request)
147
-
148
- bulk_request = BulkPushEventRequest(events=bulk_events)
149
-
150
- response = self.client.BulkPush(bulk_request, metadata=get_metadata(self.token))
151
-
152
- return response.events
153
-
154
- def log(self, message: str, step_run_id: str):
155
- try:
156
- request = PutLogRequest(
157
- stepRunId=step_run_id,
158
- createdAt=proto_timestamp_now(),
159
- message=message,
160
- )
161
-
162
- self.client.PutLog(request, metadata=get_metadata(self.token))
163
- except Exception as e:
164
- raise ValueError(f"Error logging: {e}")
165
-
166
- def stream(self, data: str | bytes, step_run_id: str):
167
- try:
168
- if isinstance(data, str):
169
- data_bytes = data.encode("utf-8")
170
- elif isinstance(data, bytes):
171
- data_bytes = data
172
- else:
173
- raise ValueError("Invalid data type. Expected str, bytes, or file.")
174
-
175
- request = PutStreamEventRequest(
176
- stepRunId=step_run_id,
177
- createdAt=proto_timestamp_now(),
178
- message=data_bytes,
179
- )
180
- self.client.PutStreamEvent(request, metadata=get_metadata(self.token))
181
- except Exception as e:
182
- raise ValueError(f"Error putting stream event: {e}")
@@ -1,307 +0,0 @@
1
- # coding: utf-8
2
-
3
- # flake8: noqa
4
-
5
- """
6
- Hatchet API
7
-
8
- The Hatchet API
9
-
10
- The version of the OpenAPI document: 1.0.0
11
- Generated by OpenAPI Generator (https://openapi-generator.tech)
12
-
13
- Do not edit the class manually.
14
- """ # noqa: E501
15
-
16
-
17
- __version__ = "1.0.0"
18
-
19
- # import apis into sdk package
20
- from hatchet_sdk.v0.clients.rest.api.api_token_api import APITokenApi
21
- from hatchet_sdk.v0.clients.rest.api.default_api import DefaultApi
22
- from hatchet_sdk.v0.clients.rest.api.event_api import EventApi
23
- from hatchet_sdk.v0.clients.rest.api.github_api import GithubApi
24
- from hatchet_sdk.v0.clients.rest.api.healthcheck_api import HealthcheckApi
25
- from hatchet_sdk.v0.clients.rest.api.log_api import LogApi
26
- from hatchet_sdk.v0.clients.rest.api.metadata_api import MetadataApi
27
- from hatchet_sdk.v0.clients.rest.api.rate_limits_api import RateLimitsApi
28
- from hatchet_sdk.v0.clients.rest.api.slack_api import SlackApi
29
- from hatchet_sdk.v0.clients.rest.api.sns_api import SNSApi
30
- from hatchet_sdk.v0.clients.rest.api.step_run_api import StepRunApi
31
- from hatchet_sdk.v0.clients.rest.api.tenant_api import TenantApi
32
- from hatchet_sdk.v0.clients.rest.api.user_api import UserApi
33
- from hatchet_sdk.v0.clients.rest.api.worker_api import WorkerApi
34
- from hatchet_sdk.v0.clients.rest.api.workflow_api import WorkflowApi
35
- from hatchet_sdk.v0.clients.rest.api.workflow_run_api import WorkflowRunApi
36
- from hatchet_sdk.v0.clients.rest.api_client import ApiClient
37
-
38
- # import ApiClient
39
- from hatchet_sdk.v0.clients.rest.api_response import ApiResponse
40
- from hatchet_sdk.v0.clients.rest.configuration import Configuration
41
- from hatchet_sdk.v0.clients.rest.exceptions import (
42
- ApiAttributeError,
43
- ApiException,
44
- ApiKeyError,
45
- ApiTypeError,
46
- ApiValueError,
47
- OpenApiException,
48
- )
49
- from hatchet_sdk.v0.clients.rest.models.accept_invite_request import AcceptInviteRequest
50
-
51
- # import models into sdk package
52
- from hatchet_sdk.v0.clients.rest.models.api_error import APIError
53
- from hatchet_sdk.v0.clients.rest.models.api_errors import APIErrors
54
- from hatchet_sdk.v0.clients.rest.models.api_meta import APIMeta
55
- from hatchet_sdk.v0.clients.rest.models.api_meta_auth import APIMetaAuth
56
- from hatchet_sdk.v0.clients.rest.models.api_meta_integration import APIMetaIntegration
57
- from hatchet_sdk.v0.clients.rest.models.api_meta_posthog import APIMetaPosthog
58
- from hatchet_sdk.v0.clients.rest.models.api_resource_meta import APIResourceMeta
59
- from hatchet_sdk.v0.clients.rest.models.api_token import APIToken
60
- from hatchet_sdk.v0.clients.rest.models.bulk_create_event_request import (
61
- BulkCreateEventRequest,
62
- )
63
- from hatchet_sdk.v0.clients.rest.models.cancel_event_request import CancelEventRequest
64
- from hatchet_sdk.v0.clients.rest.models.concurrency_limit_strategy import (
65
- ConcurrencyLimitStrategy,
66
- )
67
- from hatchet_sdk.v0.clients.rest.models.create_api_token_request import (
68
- CreateAPITokenRequest,
69
- )
70
- from hatchet_sdk.v0.clients.rest.models.create_api_token_response import (
71
- CreateAPITokenResponse,
72
- )
73
- from hatchet_sdk.v0.clients.rest.models.create_cron_workflow_trigger_request import (
74
- CreateCronWorkflowTriggerRequest,
75
- )
76
- from hatchet_sdk.v0.clients.rest.models.create_event_request import CreateEventRequest
77
- from hatchet_sdk.v0.clients.rest.models.create_pull_request_from_step_run import (
78
- CreatePullRequestFromStepRun,
79
- )
80
- from hatchet_sdk.v0.clients.rest.models.create_sns_integration_request import (
81
- CreateSNSIntegrationRequest,
82
- )
83
- from hatchet_sdk.v0.clients.rest.models.create_tenant_alert_email_group_request import (
84
- CreateTenantAlertEmailGroupRequest,
85
- )
86
- from hatchet_sdk.v0.clients.rest.models.create_tenant_invite_request import (
87
- CreateTenantInviteRequest,
88
- )
89
- from hatchet_sdk.v0.clients.rest.models.create_tenant_request import CreateTenantRequest
90
- from hatchet_sdk.v0.clients.rest.models.cron_workflows import CronWorkflows
91
- from hatchet_sdk.v0.clients.rest.models.cron_workflows_list import CronWorkflowsList
92
- from hatchet_sdk.v0.clients.rest.models.cron_workflows_method import CronWorkflowsMethod
93
- from hatchet_sdk.v0.clients.rest.models.cron_workflows_order_by_field import (
94
- CronWorkflowsOrderByField,
95
- )
96
- from hatchet_sdk.v0.clients.rest.models.event import Event
97
- from hatchet_sdk.v0.clients.rest.models.event_data import EventData
98
- from hatchet_sdk.v0.clients.rest.models.event_key_list import EventKeyList
99
- from hatchet_sdk.v0.clients.rest.models.event_list import EventList
100
- from hatchet_sdk.v0.clients.rest.models.event_order_by_direction import (
101
- EventOrderByDirection,
102
- )
103
- from hatchet_sdk.v0.clients.rest.models.event_order_by_field import EventOrderByField
104
- from hatchet_sdk.v0.clients.rest.models.event_update_cancel200_response import (
105
- EventUpdateCancel200Response,
106
- )
107
- from hatchet_sdk.v0.clients.rest.models.event_workflow_run_summary import (
108
- EventWorkflowRunSummary,
109
- )
110
- from hatchet_sdk.v0.clients.rest.models.events import Events
111
- from hatchet_sdk.v0.clients.rest.models.get_step_run_diff_response import (
112
- GetStepRunDiffResponse,
113
- )
114
- from hatchet_sdk.v0.clients.rest.models.info_get_version200_response import (
115
- InfoGetVersion200Response,
116
- )
117
- from hatchet_sdk.v0.clients.rest.models.job import Job
118
- from hatchet_sdk.v0.clients.rest.models.job_run import JobRun
119
- from hatchet_sdk.v0.clients.rest.models.job_run_status import JobRunStatus
120
- from hatchet_sdk.v0.clients.rest.models.list_api_tokens_response import (
121
- ListAPITokensResponse,
122
- )
123
- from hatchet_sdk.v0.clients.rest.models.list_pull_requests_response import (
124
- ListPullRequestsResponse,
125
- )
126
- from hatchet_sdk.v0.clients.rest.models.list_slack_webhooks import ListSlackWebhooks
127
- from hatchet_sdk.v0.clients.rest.models.list_sns_integrations import ListSNSIntegrations
128
- from hatchet_sdk.v0.clients.rest.models.log_line import LogLine
129
- from hatchet_sdk.v0.clients.rest.models.log_line_level import LogLineLevel
130
- from hatchet_sdk.v0.clients.rest.models.log_line_list import LogLineList
131
- from hatchet_sdk.v0.clients.rest.models.log_line_order_by_direction import (
132
- LogLineOrderByDirection,
133
- )
134
- from hatchet_sdk.v0.clients.rest.models.log_line_order_by_field import (
135
- LogLineOrderByField,
136
- )
137
- from hatchet_sdk.v0.clients.rest.models.pagination_response import PaginationResponse
138
- from hatchet_sdk.v0.clients.rest.models.pull_request import PullRequest
139
- from hatchet_sdk.v0.clients.rest.models.pull_request_state import PullRequestState
140
- from hatchet_sdk.v0.clients.rest.models.queue_metrics import QueueMetrics
141
- from hatchet_sdk.v0.clients.rest.models.rate_limit import RateLimit
142
- from hatchet_sdk.v0.clients.rest.models.rate_limit_list import RateLimitList
143
- from hatchet_sdk.v0.clients.rest.models.rate_limit_order_by_direction import (
144
- RateLimitOrderByDirection,
145
- )
146
- from hatchet_sdk.v0.clients.rest.models.rate_limit_order_by_field import (
147
- RateLimitOrderByField,
148
- )
149
- from hatchet_sdk.v0.clients.rest.models.recent_step_runs import RecentStepRuns
150
- from hatchet_sdk.v0.clients.rest.models.reject_invite_request import RejectInviteRequest
151
- from hatchet_sdk.v0.clients.rest.models.replay_event_request import ReplayEventRequest
152
- from hatchet_sdk.v0.clients.rest.models.replay_workflow_runs_request import (
153
- ReplayWorkflowRunsRequest,
154
- )
155
- from hatchet_sdk.v0.clients.rest.models.replay_workflow_runs_response import (
156
- ReplayWorkflowRunsResponse,
157
- )
158
- from hatchet_sdk.v0.clients.rest.models.rerun_step_run_request import (
159
- RerunStepRunRequest,
160
- )
161
- from hatchet_sdk.v0.clients.rest.models.schedule_workflow_run_request import (
162
- ScheduleWorkflowRunRequest,
163
- )
164
- from hatchet_sdk.v0.clients.rest.models.scheduled_run_status import ScheduledRunStatus
165
- from hatchet_sdk.v0.clients.rest.models.scheduled_workflows import ScheduledWorkflows
166
- from hatchet_sdk.v0.clients.rest.models.scheduled_workflows_list import (
167
- ScheduledWorkflowsList,
168
- )
169
- from hatchet_sdk.v0.clients.rest.models.scheduled_workflows_method import (
170
- ScheduledWorkflowsMethod,
171
- )
172
- from hatchet_sdk.v0.clients.rest.models.scheduled_workflows_order_by_field import (
173
- ScheduledWorkflowsOrderByField,
174
- )
175
- from hatchet_sdk.v0.clients.rest.models.semaphore_slots import SemaphoreSlots
176
- from hatchet_sdk.v0.clients.rest.models.slack_webhook import SlackWebhook
177
- from hatchet_sdk.v0.clients.rest.models.sns_integration import SNSIntegration
178
- from hatchet_sdk.v0.clients.rest.models.step import Step
179
- from hatchet_sdk.v0.clients.rest.models.step_run import StepRun
180
- from hatchet_sdk.v0.clients.rest.models.step_run_archive import StepRunArchive
181
- from hatchet_sdk.v0.clients.rest.models.step_run_archive_list import StepRunArchiveList
182
- from hatchet_sdk.v0.clients.rest.models.step_run_diff import StepRunDiff
183
- from hatchet_sdk.v0.clients.rest.models.step_run_event import StepRunEvent
184
- from hatchet_sdk.v0.clients.rest.models.step_run_event_list import StepRunEventList
185
- from hatchet_sdk.v0.clients.rest.models.step_run_event_reason import StepRunEventReason
186
- from hatchet_sdk.v0.clients.rest.models.step_run_event_severity import (
187
- StepRunEventSeverity,
188
- )
189
- from hatchet_sdk.v0.clients.rest.models.step_run_status import StepRunStatus
190
- from hatchet_sdk.v0.clients.rest.models.tenant import Tenant
191
- from hatchet_sdk.v0.clients.rest.models.tenant_alert_email_group import (
192
- TenantAlertEmailGroup,
193
- )
194
- from hatchet_sdk.v0.clients.rest.models.tenant_alert_email_group_list import (
195
- TenantAlertEmailGroupList,
196
- )
197
- from hatchet_sdk.v0.clients.rest.models.tenant_alerting_settings import (
198
- TenantAlertingSettings,
199
- )
200
- from hatchet_sdk.v0.clients.rest.models.tenant_invite import TenantInvite
201
- from hatchet_sdk.v0.clients.rest.models.tenant_invite_list import TenantInviteList
202
- from hatchet_sdk.v0.clients.rest.models.tenant_list import TenantList
203
- from hatchet_sdk.v0.clients.rest.models.tenant_member import TenantMember
204
- from hatchet_sdk.v0.clients.rest.models.tenant_member_list import TenantMemberList
205
- from hatchet_sdk.v0.clients.rest.models.tenant_member_role import TenantMemberRole
206
- from hatchet_sdk.v0.clients.rest.models.tenant_queue_metrics import TenantQueueMetrics
207
- from hatchet_sdk.v0.clients.rest.models.tenant_resource import TenantResource
208
- from hatchet_sdk.v0.clients.rest.models.tenant_resource_limit import TenantResourceLimit
209
- from hatchet_sdk.v0.clients.rest.models.tenant_resource_policy import (
210
- TenantResourcePolicy,
211
- )
212
- from hatchet_sdk.v0.clients.rest.models.tenant_step_run_queue_metrics import (
213
- TenantStepRunQueueMetrics,
214
- )
215
- from hatchet_sdk.v0.clients.rest.models.trigger_workflow_run_request import (
216
- TriggerWorkflowRunRequest,
217
- )
218
- from hatchet_sdk.v0.clients.rest.models.update_tenant_alert_email_group_request import (
219
- UpdateTenantAlertEmailGroupRequest,
220
- )
221
- from hatchet_sdk.v0.clients.rest.models.update_tenant_invite_request import (
222
- UpdateTenantInviteRequest,
223
- )
224
- from hatchet_sdk.v0.clients.rest.models.update_tenant_request import UpdateTenantRequest
225
- from hatchet_sdk.v0.clients.rest.models.update_worker_request import UpdateWorkerRequest
226
- from hatchet_sdk.v0.clients.rest.models.user import User
227
- from hatchet_sdk.v0.clients.rest.models.user_change_password_request import (
228
- UserChangePasswordRequest,
229
- )
230
- from hatchet_sdk.v0.clients.rest.models.user_login_request import UserLoginRequest
231
- from hatchet_sdk.v0.clients.rest.models.user_register_request import UserRegisterRequest
232
- from hatchet_sdk.v0.clients.rest.models.user_tenant_memberships_list import (
233
- UserTenantMembershipsList,
234
- )
235
- from hatchet_sdk.v0.clients.rest.models.user_tenant_public import UserTenantPublic
236
- from hatchet_sdk.v0.clients.rest.models.webhook_worker import WebhookWorker
237
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_create_request import (
238
- WebhookWorkerCreateRequest,
239
- )
240
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_create_response import (
241
- WebhookWorkerCreateResponse,
242
- )
243
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_created import (
244
- WebhookWorkerCreated,
245
- )
246
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_list_response import (
247
- WebhookWorkerListResponse,
248
- )
249
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_request import (
250
- WebhookWorkerRequest,
251
- )
252
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_request_list_response import (
253
- WebhookWorkerRequestListResponse,
254
- )
255
- from hatchet_sdk.v0.clients.rest.models.webhook_worker_request_method import (
256
- WebhookWorkerRequestMethod,
257
- )
258
- from hatchet_sdk.v0.clients.rest.models.worker import Worker
259
- from hatchet_sdk.v0.clients.rest.models.worker_label import WorkerLabel
260
- from hatchet_sdk.v0.clients.rest.models.worker_list import WorkerList
261
- from hatchet_sdk.v0.clients.rest.models.worker_runtime_info import WorkerRuntimeInfo
262
- from hatchet_sdk.v0.clients.rest.models.worker_runtime_sdks import WorkerRuntimeSDKs
263
- from hatchet_sdk.v0.clients.rest.models.worker_type import WorkerType
264
- from hatchet_sdk.v0.clients.rest.models.workflow import Workflow
265
- from hatchet_sdk.v0.clients.rest.models.workflow_concurrency import WorkflowConcurrency
266
- from hatchet_sdk.v0.clients.rest.models.workflow_kind import WorkflowKind
267
- from hatchet_sdk.v0.clients.rest.models.workflow_list import WorkflowList
268
- from hatchet_sdk.v0.clients.rest.models.workflow_metrics import WorkflowMetrics
269
- from hatchet_sdk.v0.clients.rest.models.workflow_run import WorkflowRun
270
- from hatchet_sdk.v0.clients.rest.models.workflow_run_list import WorkflowRunList
271
- from hatchet_sdk.v0.clients.rest.models.workflow_run_order_by_direction import (
272
- WorkflowRunOrderByDirection,
273
- )
274
- from hatchet_sdk.v0.clients.rest.models.workflow_run_order_by_field import (
275
- WorkflowRunOrderByField,
276
- )
277
- from hatchet_sdk.v0.clients.rest.models.workflow_run_shape import WorkflowRunShape
278
- from hatchet_sdk.v0.clients.rest.models.workflow_run_status import WorkflowRunStatus
279
- from hatchet_sdk.v0.clients.rest.models.workflow_run_triggered_by import (
280
- WorkflowRunTriggeredBy,
281
- )
282
- from hatchet_sdk.v0.clients.rest.models.workflow_runs_cancel_request import (
283
- WorkflowRunsCancelRequest,
284
- )
285
- from hatchet_sdk.v0.clients.rest.models.workflow_runs_metrics import WorkflowRunsMetrics
286
- from hatchet_sdk.v0.clients.rest.models.workflow_runs_metrics_counts import (
287
- WorkflowRunsMetricsCounts,
288
- )
289
- from hatchet_sdk.v0.clients.rest.models.workflow_tag import WorkflowTag
290
- from hatchet_sdk.v0.clients.rest.models.workflow_trigger_cron_ref import (
291
- WorkflowTriggerCronRef,
292
- )
293
- from hatchet_sdk.v0.clients.rest.models.workflow_trigger_event_ref import (
294
- WorkflowTriggerEventRef,
295
- )
296
- from hatchet_sdk.v0.clients.rest.models.workflow_triggers import WorkflowTriggers
297
- from hatchet_sdk.v0.clients.rest.models.workflow_update_request import (
298
- WorkflowUpdateRequest,
299
- )
300
- from hatchet_sdk.v0.clients.rest.models.workflow_version import WorkflowVersion
301
- from hatchet_sdk.v0.clients.rest.models.workflow_version_definition import (
302
- WorkflowVersionDefinition,
303
- )
304
- from hatchet_sdk.v0.clients.rest.models.workflow_version_meta import WorkflowVersionMeta
305
- from hatchet_sdk.v0.clients.rest.models.workflow_workers_count import (
306
- WorkflowWorkersCount,
307
- )
@@ -1,19 +0,0 @@
1
- # flake8: noqa
2
-
3
- # import apis into api package
4
- from hatchet_sdk.v0.clients.rest.api.api_token_api import APITokenApi
5
- from hatchet_sdk.v0.clients.rest.api.default_api import DefaultApi
6
- from hatchet_sdk.v0.clients.rest.api.event_api import EventApi
7
- from hatchet_sdk.v0.clients.rest.api.github_api import GithubApi
8
- from hatchet_sdk.v0.clients.rest.api.healthcheck_api import HealthcheckApi
9
- from hatchet_sdk.v0.clients.rest.api.log_api import LogApi
10
- from hatchet_sdk.v0.clients.rest.api.metadata_api import MetadataApi
11
- from hatchet_sdk.v0.clients.rest.api.rate_limits_api import RateLimitsApi
12
- from hatchet_sdk.v0.clients.rest.api.slack_api import SlackApi
13
- from hatchet_sdk.v0.clients.rest.api.sns_api import SNSApi
14
- from hatchet_sdk.v0.clients.rest.api.step_run_api import StepRunApi
15
- from hatchet_sdk.v0.clients.rest.api.tenant_api import TenantApi
16
- from hatchet_sdk.v0.clients.rest.api.user_api import UserApi
17
- from hatchet_sdk.v0.clients.rest.api.worker_api import WorkerApi
18
- from hatchet_sdk.v0.clients.rest.api.workflow_api import WorkflowApi
19
- from hatchet_sdk.v0.clients.rest.api.workflow_run_api import WorkflowRunApi