hatchet-sdk 0.47.1__py3-none-any.whl → 1.0.0a1__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 (329) hide show
  1. hatchet_sdk/__init__.py +45 -25
  2. hatchet_sdk/client.py +19 -94
  3. hatchet_sdk/clients/admin.py +309 -389
  4. hatchet_sdk/clients/dispatcher/action_listener.py +131 -109
  5. hatchet_sdk/clients/dispatcher/dispatcher.py +39 -37
  6. hatchet_sdk/clients/durable_event_listener.py +327 -0
  7. hatchet_sdk/clients/event_ts.py +23 -10
  8. hatchet_sdk/clients/events.py +96 -99
  9. hatchet_sdk/clients/rest/__init__.py +35 -0
  10. hatchet_sdk/clients/rest/api/__init__.py +2 -0
  11. hatchet_sdk/clients/rest/api/log_api.py +258 -0
  12. hatchet_sdk/clients/rest/api/task_api.py +2200 -0
  13. hatchet_sdk/clients/rest/api/workflow_runs_api.py +1274 -116
  14. hatchet_sdk/clients/rest/api_client.py +1 -1
  15. hatchet_sdk/clients/rest/configuration.py +8 -1
  16. hatchet_sdk/clients/rest/exceptions.py +21 -0
  17. hatchet_sdk/clients/rest/models/__init__.py +33 -0
  18. hatchet_sdk/clients/rest/models/tenant.py +4 -0
  19. hatchet_sdk/clients/rest/models/tenant_version.py +37 -0
  20. hatchet_sdk/clients/rest/models/update_tenant_request.py +7 -0
  21. hatchet_sdk/clients/rest/models/v1_cancel_task_request.py +104 -0
  22. hatchet_sdk/clients/rest/models/v1_dag_children.py +102 -0
  23. hatchet_sdk/clients/rest/models/v1_log_line.py +94 -0
  24. hatchet_sdk/clients/rest/models/v1_log_line_level.py +39 -0
  25. hatchet_sdk/clients/rest/models/v1_log_line_list.py +110 -0
  26. hatchet_sdk/clients/rest/models/v1_replay_task_request.py +104 -0
  27. hatchet_sdk/clients/rest/models/v1_task.py +174 -0
  28. hatchet_sdk/clients/rest/models/v1_task_event.py +118 -0
  29. hatchet_sdk/clients/rest/models/v1_task_event_list.py +110 -0
  30. hatchet_sdk/clients/rest/models/v1_task_event_type.py +55 -0
  31. hatchet_sdk/clients/rest/models/v1_task_filter.py +106 -0
  32. hatchet_sdk/clients/rest/models/v1_task_point_metric.py +92 -0
  33. hatchet_sdk/clients/rest/models/v1_task_point_metrics.py +100 -0
  34. hatchet_sdk/clients/rest/models/v1_task_run_metric.py +88 -0
  35. hatchet_sdk/clients/rest/models/v1_task_run_status.py +40 -0
  36. hatchet_sdk/clients/rest/models/v1_task_status.py +40 -0
  37. hatchet_sdk/clients/rest/models/v1_task_summary.py +228 -0
  38. hatchet_sdk/clients/rest/models/v1_task_summary_list.py +110 -0
  39. hatchet_sdk/clients/rest/models/v1_trigger_workflow_run_request.py +95 -0
  40. hatchet_sdk/clients/rest/models/v1_workflow_run.py +171 -0
  41. hatchet_sdk/clients/rest/models/v1_workflow_run_details.py +145 -0
  42. hatchet_sdk/clients/rest/models/v1_workflow_run_display_name.py +98 -0
  43. hatchet_sdk/clients/rest/models/v1_workflow_run_display_name_list.py +114 -0
  44. hatchet_sdk/clients/rest/models/v1_workflow_type.py +37 -0
  45. hatchet_sdk/clients/rest/models/workflow_run_shape_item_for_workflow_run_details.py +104 -0
  46. hatchet_sdk/clients/rest/rest.py +37 -26
  47. hatchet_sdk/clients/rest/tenacity_utils.py +1 -1
  48. hatchet_sdk/clients/rest_client.py +153 -116
  49. hatchet_sdk/clients/run_event_listener.py +65 -60
  50. hatchet_sdk/clients/workflow_listener.py +75 -66
  51. hatchet_sdk/config.py +117 -0
  52. hatchet_sdk/connection.py +27 -13
  53. hatchet_sdk/context/__init__.py +0 -1
  54. hatchet_sdk/context/context.py +118 -280
  55. hatchet_sdk/contracts/dispatcher_pb2_grpc.py +1 -1
  56. hatchet_sdk/contracts/events_pb2.py +2 -2
  57. hatchet_sdk/contracts/events_pb2_grpc.py +1 -1
  58. hatchet_sdk/contracts/v1/dispatcher_pb2.py +36 -0
  59. hatchet_sdk/contracts/v1/dispatcher_pb2.pyi +38 -0
  60. hatchet_sdk/contracts/v1/dispatcher_pb2_grpc.py +145 -0
  61. hatchet_sdk/contracts/v1/shared/condition_pb2.py +39 -0
  62. hatchet_sdk/contracts/v1/shared/condition_pb2.pyi +72 -0
  63. hatchet_sdk/contracts/v1/shared/condition_pb2_grpc.py +29 -0
  64. hatchet_sdk/contracts/v1/workflows_pb2.py +67 -0
  65. hatchet_sdk/contracts/v1/workflows_pb2.pyi +228 -0
  66. hatchet_sdk/contracts/v1/workflows_pb2_grpc.py +234 -0
  67. hatchet_sdk/contracts/workflows_pb2_grpc.py +1 -1
  68. hatchet_sdk/features/cron.py +43 -57
  69. hatchet_sdk/features/scheduled.py +60 -74
  70. hatchet_sdk/hatchet.py +491 -218
  71. hatchet_sdk/labels.py +4 -6
  72. hatchet_sdk/metadata.py +1 -1
  73. hatchet_sdk/opentelemetry/instrumentor.py +17 -18
  74. hatchet_sdk/rate_limit.py +40 -55
  75. hatchet_sdk/runnables/contextvars.py +12 -0
  76. hatchet_sdk/runnables/standalone.py +194 -0
  77. hatchet_sdk/runnables/task.py +144 -0
  78. hatchet_sdk/runnables/types.py +138 -0
  79. hatchet_sdk/runnables/workflow.py +764 -0
  80. hatchet_sdk/token.py +13 -9
  81. hatchet_sdk/utils/aio_utils.py +0 -119
  82. hatchet_sdk/utils/proto_enums.py +47 -0
  83. hatchet_sdk/utils/timedelta_to_expression.py +23 -0
  84. hatchet_sdk/utils/typing.py +10 -2
  85. hatchet_sdk/v0/__init__.py +251 -0
  86. hatchet_sdk/v0/client.py +119 -0
  87. hatchet_sdk/v0/clients/admin.py +541 -0
  88. hatchet_sdk/v0/clients/dispatcher/action_listener.py +422 -0
  89. hatchet_sdk/v0/clients/dispatcher/dispatcher.py +204 -0
  90. hatchet_sdk/v0/clients/event_ts.py +28 -0
  91. hatchet_sdk/v0/clients/events.py +182 -0
  92. hatchet_sdk/v0/clients/rest/__init__.py +307 -0
  93. hatchet_sdk/v0/clients/rest/api/__init__.py +19 -0
  94. hatchet_sdk/v0/clients/rest/api/api_token_api.py +858 -0
  95. hatchet_sdk/v0/clients/rest/api/default_api.py +2259 -0
  96. hatchet_sdk/v0/clients/rest/api/event_api.py +2548 -0
  97. hatchet_sdk/v0/clients/rest/api/github_api.py +331 -0
  98. hatchet_sdk/v0/clients/rest/api/healthcheck_api.py +483 -0
  99. hatchet_sdk/v0/clients/rest/api/log_api.py +449 -0
  100. hatchet_sdk/v0/clients/rest/api/metadata_api.py +728 -0
  101. hatchet_sdk/v0/clients/rest/api/rate_limits_api.py +423 -0
  102. hatchet_sdk/v0/clients/rest/api/slack_api.py +577 -0
  103. hatchet_sdk/v0/clients/rest/api/sns_api.py +872 -0
  104. hatchet_sdk/v0/clients/rest/api/step_run_api.py +2202 -0
  105. hatchet_sdk/v0/clients/rest/api/tenant_api.py +4430 -0
  106. hatchet_sdk/v0/clients/rest/api/user_api.py +2888 -0
  107. hatchet_sdk/v0/clients/rest/api/worker_api.py +858 -0
  108. hatchet_sdk/v0/clients/rest/api/workflow_api.py +6312 -0
  109. hatchet_sdk/v0/clients/rest/api/workflow_run_api.py +1932 -0
  110. hatchet_sdk/v0/clients/rest/api/workflow_runs_api.py +610 -0
  111. hatchet_sdk/v0/clients/rest/api_client.py +759 -0
  112. hatchet_sdk/v0/clients/rest/api_response.py +22 -0
  113. hatchet_sdk/v0/clients/rest/configuration.py +611 -0
  114. hatchet_sdk/v0/clients/rest/exceptions.py +200 -0
  115. hatchet_sdk/v0/clients/rest/models/__init__.py +274 -0
  116. hatchet_sdk/v0/clients/rest/models/accept_invite_request.py +83 -0
  117. hatchet_sdk/v0/clients/rest/models/api_error.py +102 -0
  118. hatchet_sdk/v0/clients/rest/models/api_errors.py +100 -0
  119. hatchet_sdk/v0/clients/rest/models/api_meta.py +144 -0
  120. hatchet_sdk/v0/clients/rest/models/api_meta_auth.py +85 -0
  121. hatchet_sdk/v0/clients/rest/models/api_meta_integration.py +88 -0
  122. hatchet_sdk/v0/clients/rest/models/api_meta_posthog.py +90 -0
  123. hatchet_sdk/v0/clients/rest/models/api_resource_meta.py +98 -0
  124. hatchet_sdk/v0/clients/rest/models/api_token.py +105 -0
  125. hatchet_sdk/v0/clients/rest/models/bulk_create_event_request.py +100 -0
  126. hatchet_sdk/v0/clients/rest/models/bulk_create_event_response.py +110 -0
  127. hatchet_sdk/v0/clients/rest/models/cancel_event_request.py +85 -0
  128. hatchet_sdk/v0/clients/rest/models/cancel_step_run_request.py +83 -0
  129. hatchet_sdk/v0/clients/rest/models/concurrency_limit_strategy.py +39 -0
  130. hatchet_sdk/v0/clients/rest/models/create_api_token_request.py +92 -0
  131. hatchet_sdk/v0/clients/rest/models/create_api_token_response.py +83 -0
  132. hatchet_sdk/v0/clients/rest/models/create_cron_workflow_trigger_request.py +98 -0
  133. hatchet_sdk/v0/clients/rest/models/create_event_request.py +95 -0
  134. hatchet_sdk/v0/clients/rest/models/create_pull_request_from_step_run.py +83 -0
  135. hatchet_sdk/v0/clients/rest/models/create_sns_integration_request.py +85 -0
  136. hatchet_sdk/v0/clients/rest/models/create_tenant_alert_email_group_request.py +83 -0
  137. hatchet_sdk/v0/clients/rest/models/create_tenant_invite_request.py +86 -0
  138. hatchet_sdk/v0/clients/rest/models/create_tenant_request.py +84 -0
  139. hatchet_sdk/v0/clients/rest/models/cron_workflows.py +131 -0
  140. hatchet_sdk/v0/clients/rest/models/cron_workflows_list.py +110 -0
  141. hatchet_sdk/v0/clients/rest/models/cron_workflows_method.py +37 -0
  142. hatchet_sdk/v0/clients/rest/models/cron_workflows_order_by_field.py +37 -0
  143. hatchet_sdk/v0/clients/rest/models/event.py +143 -0
  144. hatchet_sdk/v0/clients/rest/models/event_data.py +83 -0
  145. hatchet_sdk/v0/clients/rest/models/event_key_list.py +98 -0
  146. hatchet_sdk/v0/clients/rest/models/event_list.py +110 -0
  147. hatchet_sdk/v0/clients/rest/models/event_order_by_direction.py +37 -0
  148. hatchet_sdk/v0/clients/rest/models/event_order_by_field.py +36 -0
  149. hatchet_sdk/v0/clients/rest/models/event_update_cancel200_response.py +85 -0
  150. hatchet_sdk/v0/clients/rest/models/event_workflow_run_summary.py +116 -0
  151. hatchet_sdk/v0/clients/rest/models/events.py +110 -0
  152. hatchet_sdk/v0/clients/rest/models/get_step_run_diff_response.py +100 -0
  153. hatchet_sdk/v0/clients/rest/models/github_app_installation.py +107 -0
  154. hatchet_sdk/v0/clients/rest/models/github_branch.py +86 -0
  155. hatchet_sdk/v0/clients/rest/models/github_repo.py +86 -0
  156. hatchet_sdk/v0/clients/rest/models/info_get_version200_response.py +83 -0
  157. hatchet_sdk/v0/clients/rest/models/job.py +132 -0
  158. hatchet_sdk/v0/clients/rest/models/job_run.py +176 -0
  159. hatchet_sdk/v0/clients/rest/models/job_run_status.py +41 -0
  160. hatchet_sdk/v0/clients/rest/models/link_github_repository_request.py +106 -0
  161. hatchet_sdk/v0/clients/rest/models/list_api_tokens_response.py +110 -0
  162. hatchet_sdk/v0/clients/rest/models/list_github_app_installations_response.py +112 -0
  163. hatchet_sdk/v0/clients/rest/models/list_pull_requests_response.py +100 -0
  164. hatchet_sdk/v0/clients/rest/models/list_slack_webhooks.py +110 -0
  165. hatchet_sdk/v0/clients/rest/models/list_sns_integrations.py +110 -0
  166. hatchet_sdk/v0/clients/rest/models/log_line.py +94 -0
  167. hatchet_sdk/v0/clients/rest/models/log_line_level.py +39 -0
  168. hatchet_sdk/v0/clients/rest/models/log_line_list.py +110 -0
  169. hatchet_sdk/v0/clients/rest/models/log_line_order_by_direction.py +37 -0
  170. hatchet_sdk/v0/clients/rest/models/log_line_order_by_field.py +36 -0
  171. hatchet_sdk/v0/clients/rest/models/pagination_response.py +95 -0
  172. hatchet_sdk/v0/clients/rest/models/pull_request.py +112 -0
  173. hatchet_sdk/v0/clients/rest/models/pull_request_state.py +37 -0
  174. hatchet_sdk/v0/clients/rest/models/queue_metrics.py +97 -0
  175. hatchet_sdk/v0/clients/rest/models/rate_limit.py +117 -0
  176. hatchet_sdk/v0/clients/rest/models/rate_limit_list.py +110 -0
  177. hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_direction.py +37 -0
  178. hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_field.py +38 -0
  179. hatchet_sdk/v0/clients/rest/models/recent_step_runs.py +118 -0
  180. hatchet_sdk/v0/clients/rest/models/reject_invite_request.py +83 -0
  181. hatchet_sdk/v0/clients/rest/models/replay_event_request.py +85 -0
  182. hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_request.py +85 -0
  183. hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_response.py +100 -0
  184. hatchet_sdk/v0/clients/rest/models/rerun_step_run_request.py +83 -0
  185. hatchet_sdk/v0/clients/rest/models/schedule_workflow_run_request.py +92 -0
  186. hatchet_sdk/v0/clients/rest/models/scheduled_run_status.py +42 -0
  187. hatchet_sdk/v0/clients/rest/models/scheduled_workflows.py +149 -0
  188. hatchet_sdk/v0/clients/rest/models/scheduled_workflows_list.py +110 -0
  189. hatchet_sdk/v0/clients/rest/models/scheduled_workflows_method.py +37 -0
  190. hatchet_sdk/v0/clients/rest/models/scheduled_workflows_order_by_field.py +37 -0
  191. hatchet_sdk/v0/clients/rest/models/semaphore_slots.py +113 -0
  192. hatchet_sdk/v0/clients/rest/models/slack_webhook.py +127 -0
  193. hatchet_sdk/v0/clients/rest/models/sns_integration.py +114 -0
  194. hatchet_sdk/v0/clients/rest/models/step.py +123 -0
  195. hatchet_sdk/v0/clients/rest/models/step_run.py +202 -0
  196. hatchet_sdk/v0/clients/rest/models/step_run_archive.py +142 -0
  197. hatchet_sdk/v0/clients/rest/models/step_run_archive_list.py +110 -0
  198. hatchet_sdk/v0/clients/rest/models/step_run_diff.py +91 -0
  199. hatchet_sdk/v0/clients/rest/models/step_run_event.py +122 -0
  200. hatchet_sdk/v0/clients/rest/models/step_run_event_list.py +110 -0
  201. hatchet_sdk/v0/clients/rest/models/step_run_event_reason.py +52 -0
  202. hatchet_sdk/v0/clients/rest/models/step_run_event_severity.py +38 -0
  203. hatchet_sdk/v0/clients/rest/models/step_run_status.py +44 -0
  204. hatchet_sdk/v0/clients/rest/models/tenant.py +118 -0
  205. hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group.py +98 -0
  206. hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group_list.py +112 -0
  207. hatchet_sdk/v0/clients/rest/models/tenant_alerting_settings.py +143 -0
  208. hatchet_sdk/v0/clients/rest/models/tenant_invite.py +120 -0
  209. hatchet_sdk/v0/clients/rest/models/tenant_invite_list.py +110 -0
  210. hatchet_sdk/v0/clients/rest/models/tenant_list.py +110 -0
  211. hatchet_sdk/v0/clients/rest/models/tenant_member.py +123 -0
  212. hatchet_sdk/v0/clients/rest/models/tenant_member_list.py +110 -0
  213. hatchet_sdk/v0/clients/rest/models/tenant_member_role.py +38 -0
  214. hatchet_sdk/v0/clients/rest/models/tenant_queue_metrics.py +116 -0
  215. hatchet_sdk/v0/clients/rest/models/tenant_resource.py +40 -0
  216. hatchet_sdk/v0/clients/rest/models/tenant_resource_limit.py +135 -0
  217. hatchet_sdk/v0/clients/rest/models/tenant_resource_policy.py +102 -0
  218. hatchet_sdk/v0/clients/rest/models/tenant_step_run_queue_metrics.py +83 -0
  219. hatchet_sdk/v0/clients/rest/models/trigger_workflow_run_request.py +91 -0
  220. hatchet_sdk/v0/clients/rest/models/update_tenant_alert_email_group_request.py +83 -0
  221. hatchet_sdk/v0/clients/rest/models/update_tenant_invite_request.py +85 -0
  222. hatchet_sdk/v0/clients/rest/models/update_tenant_request.py +137 -0
  223. hatchet_sdk/v0/clients/rest/models/update_worker_request.py +87 -0
  224. hatchet_sdk/v0/clients/rest/models/user.py +126 -0
  225. hatchet_sdk/v0/clients/rest/models/user_change_password_request.py +88 -0
  226. hatchet_sdk/v0/clients/rest/models/user_login_request.py +86 -0
  227. hatchet_sdk/v0/clients/rest/models/user_register_request.py +91 -0
  228. hatchet_sdk/v0/clients/rest/models/user_tenant_memberships_list.py +110 -0
  229. hatchet_sdk/v0/clients/rest/models/user_tenant_public.py +86 -0
  230. hatchet_sdk/v0/clients/rest/models/webhook_worker.py +100 -0
  231. hatchet_sdk/v0/clients/rest/models/webhook_worker_create_request.py +94 -0
  232. hatchet_sdk/v0/clients/rest/models/webhook_worker_create_response.py +98 -0
  233. hatchet_sdk/v0/clients/rest/models/webhook_worker_created.py +102 -0
  234. hatchet_sdk/v0/clients/rest/models/webhook_worker_list_response.py +110 -0
  235. hatchet_sdk/v0/clients/rest/models/webhook_worker_request.py +102 -0
  236. hatchet_sdk/v0/clients/rest/models/webhook_worker_request_list_response.py +104 -0
  237. hatchet_sdk/v0/clients/rest/models/webhook_worker_request_method.py +38 -0
  238. hatchet_sdk/v0/clients/rest/models/worker.py +239 -0
  239. hatchet_sdk/v0/clients/rest/models/worker_label.py +102 -0
  240. hatchet_sdk/v0/clients/rest/models/worker_list.py +110 -0
  241. hatchet_sdk/v0/clients/rest/models/worker_runtime_info.py +103 -0
  242. hatchet_sdk/v0/clients/rest/models/worker_runtime_sdks.py +38 -0
  243. hatchet_sdk/v0/clients/rest/models/worker_type.py +38 -0
  244. hatchet_sdk/v0/clients/rest/models/workflow.py +165 -0
  245. hatchet_sdk/v0/clients/rest/models/workflow_concurrency.py +107 -0
  246. hatchet_sdk/v0/clients/rest/models/workflow_deployment_config.py +136 -0
  247. hatchet_sdk/v0/clients/rest/models/workflow_kind.py +38 -0
  248. hatchet_sdk/v0/clients/rest/models/workflow_list.py +120 -0
  249. hatchet_sdk/v0/clients/rest/models/workflow_metrics.py +97 -0
  250. hatchet_sdk/v0/clients/rest/models/workflow_run.py +188 -0
  251. hatchet_sdk/v0/clients/rest/models/workflow_run_cancel200_response.py +85 -0
  252. hatchet_sdk/v0/clients/rest/models/workflow_run_list.py +110 -0
  253. hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_direction.py +37 -0
  254. hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_field.py +39 -0
  255. hatchet_sdk/v0/clients/rest/models/workflow_run_shape.py +186 -0
  256. hatchet_sdk/v0/clients/rest/models/workflow_run_status.py +42 -0
  257. hatchet_sdk/v0/clients/rest/models/workflow_run_triggered_by.py +112 -0
  258. hatchet_sdk/v0/clients/rest/models/workflow_runs_cancel_request.py +85 -0
  259. hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics.py +94 -0
  260. hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics_counts.py +104 -0
  261. hatchet_sdk/v0/clients/rest/models/workflow_tag.py +84 -0
  262. hatchet_sdk/v0/clients/rest/models/workflow_trigger_cron_ref.py +86 -0
  263. hatchet_sdk/v0/clients/rest/models/workflow_trigger_event_ref.py +86 -0
  264. hatchet_sdk/v0/clients/rest/models/workflow_triggers.py +141 -0
  265. hatchet_sdk/v0/clients/rest/models/workflow_update_request.py +85 -0
  266. hatchet_sdk/v0/clients/rest/models/workflow_version.py +170 -0
  267. hatchet_sdk/v0/clients/rest/models/workflow_version_concurrency.py +114 -0
  268. hatchet_sdk/v0/clients/rest/models/workflow_version_definition.py +85 -0
  269. hatchet_sdk/v0/clients/rest/models/workflow_version_meta.py +123 -0
  270. hatchet_sdk/v0/clients/rest/models/workflow_workers_count.py +95 -0
  271. hatchet_sdk/v0/clients/rest/rest.py +187 -0
  272. hatchet_sdk/v0/clients/rest/tenacity_utils.py +39 -0
  273. hatchet_sdk/v0/clients/rest_client.py +622 -0
  274. hatchet_sdk/v0/clients/run_event_listener.py +260 -0
  275. hatchet_sdk/v0/clients/workflow_listener.py +277 -0
  276. hatchet_sdk/v0/connection.py +63 -0
  277. hatchet_sdk/v0/context/__init__.py +1 -0
  278. hatchet_sdk/v0/context/context.py +446 -0
  279. hatchet_sdk/v0/context/worker_context.py +28 -0
  280. hatchet_sdk/v0/contracts/dispatcher_pb2.py +102 -0
  281. hatchet_sdk/v0/contracts/dispatcher_pb2.pyi +387 -0
  282. hatchet_sdk/v0/contracts/dispatcher_pb2_grpc.py +621 -0
  283. hatchet_sdk/v0/contracts/events_pb2.py +46 -0
  284. hatchet_sdk/v0/contracts/events_pb2.pyi +87 -0
  285. hatchet_sdk/v0/contracts/events_pb2_grpc.py +274 -0
  286. hatchet_sdk/v0/contracts/workflows_pb2.py +80 -0
  287. hatchet_sdk/v0/contracts/workflows_pb2.pyi +312 -0
  288. hatchet_sdk/v0/contracts/workflows_pb2_grpc.py +277 -0
  289. hatchet_sdk/v0/features/cron.py +286 -0
  290. hatchet_sdk/v0/features/scheduled.py +248 -0
  291. hatchet_sdk/v0/hatchet.py +310 -0
  292. hatchet_sdk/v0/labels.py +10 -0
  293. hatchet_sdk/v0/logger.py +13 -0
  294. hatchet_sdk/v0/metadata.py +2 -0
  295. hatchet_sdk/v0/opentelemetry/instrumentor.py +396 -0
  296. hatchet_sdk/v0/rate_limit.py +126 -0
  297. hatchet_sdk/v0/token.py +27 -0
  298. hatchet_sdk/v0/utils/aio_utils.py +137 -0
  299. hatchet_sdk/v0/utils/backoff.py +9 -0
  300. hatchet_sdk/v0/utils/typing.py +12 -0
  301. hatchet_sdk/{v2 → v0/v2}/callable.py +8 -8
  302. hatchet_sdk/{v2 → v0/v2}/concurrency.py +2 -2
  303. hatchet_sdk/{v2 → v0/v2}/hatchet.py +10 -10
  304. hatchet_sdk/v0/worker/__init__.py +1 -0
  305. hatchet_sdk/v0/worker/action_listener_process.py +294 -0
  306. hatchet_sdk/v0/worker/runner/run_loop_manager.py +112 -0
  307. hatchet_sdk/v0/worker/runner/runner.py +460 -0
  308. hatchet_sdk/v0/worker/runner/utils/capture_logs.py +81 -0
  309. hatchet_sdk/v0/worker/worker.py +391 -0
  310. hatchet_sdk/{workflow.py → v0/workflow.py} +4 -4
  311. hatchet_sdk/v0/workflow_run.py +59 -0
  312. hatchet_sdk/waits.py +120 -0
  313. hatchet_sdk/worker/__init__.py +0 -1
  314. hatchet_sdk/worker/action_listener_process.py +80 -55
  315. hatchet_sdk/worker/runner/run_loop_manager.py +46 -34
  316. hatchet_sdk/worker/runner/runner.py +82 -87
  317. hatchet_sdk/worker/runner/utils/capture_logs.py +26 -23
  318. hatchet_sdk/worker/worker.py +172 -149
  319. hatchet_sdk/workflow_run.py +7 -21
  320. {hatchet_sdk-0.47.1.dist-info → hatchet_sdk-1.0.0a1.dist-info}/METADATA +2 -2
  321. hatchet_sdk-1.0.0a1.dist-info/RECORD +505 -0
  322. {hatchet_sdk-0.47.1.dist-info → hatchet_sdk-1.0.0a1.dist-info}/entry_points.txt +2 -0
  323. hatchet_sdk/utils/serialization.py +0 -18
  324. hatchet_sdk-0.47.1.dist-info/RECORD +0 -237
  325. /hatchet_sdk/{loader.py → v0/loader.py} +0 -0
  326. /hatchet_sdk/{semver.py → v0/semver.py} +0 -0
  327. /hatchet_sdk/{utils → v0/utils}/types.py +0 -0
  328. /hatchet_sdk/{worker → v0/worker}/runner/utils/error_with_traceback.py +0 -0
  329. {hatchet_sdk-0.47.1.dist-info → hatchet_sdk-1.0.0a1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,449 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Hatchet API
5
+
6
+ The Hatchet API
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+
17
+ from pydantic import Field, StrictFloat, StrictInt, StrictStr, validate_call
18
+ from typing_extensions import Annotated
19
+
20
+ from hatchet_sdk.v0.clients.rest.api_client import ApiClient, RequestSerialized
21
+ from hatchet_sdk.v0.clients.rest.api_response import ApiResponse
22
+ from hatchet_sdk.v0.clients.rest.models.log_line_level import LogLineLevel
23
+ from hatchet_sdk.v0.clients.rest.models.log_line_list import LogLineList
24
+ from hatchet_sdk.v0.clients.rest.models.log_line_order_by_direction import (
25
+ LogLineOrderByDirection,
26
+ )
27
+ from hatchet_sdk.v0.clients.rest.models.log_line_order_by_field import (
28
+ LogLineOrderByField,
29
+ )
30
+ from hatchet_sdk.v0.clients.rest.rest import RESTResponseType
31
+
32
+
33
+ class LogApi:
34
+ """NOTE: This class is auto generated by OpenAPI Generator
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+ """
39
+
40
+ def __init__(self, api_client=None) -> None:
41
+ if api_client is None:
42
+ api_client = ApiClient.get_default()
43
+ self.api_client = api_client
44
+
45
+ @validate_call
46
+ async def log_line_list(
47
+ self,
48
+ step_run: Annotated[
49
+ str,
50
+ Field(
51
+ min_length=36, strict=True, max_length=36, description="The step run id"
52
+ ),
53
+ ],
54
+ offset: Annotated[
55
+ Optional[StrictInt], Field(description="The number to skip")
56
+ ] = None,
57
+ limit: Annotated[
58
+ Optional[StrictInt], Field(description="The number to limit by")
59
+ ] = None,
60
+ levels: Annotated[
61
+ Optional[List[LogLineLevel]],
62
+ Field(description="A list of levels to filter by"),
63
+ ] = None,
64
+ search: Annotated[
65
+ Optional[StrictStr], Field(description="The search query to filter for")
66
+ ] = None,
67
+ order_by_field: Annotated[
68
+ Optional[LogLineOrderByField], Field(description="What to order by")
69
+ ] = None,
70
+ order_by_direction: Annotated[
71
+ Optional[LogLineOrderByDirection], Field(description="The order direction")
72
+ ] = None,
73
+ _request_timeout: Union[
74
+ None,
75
+ Annotated[StrictFloat, Field(gt=0)],
76
+ Tuple[
77
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
78
+ ],
79
+ ] = None,
80
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
81
+ _content_type: Optional[StrictStr] = None,
82
+ _headers: Optional[Dict[StrictStr, Any]] = None,
83
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
84
+ ) -> LogLineList:
85
+ """List log lines
86
+
87
+ Lists log lines for a step run.
88
+
89
+ :param step_run: The step run id (required)
90
+ :type step_run: str
91
+ :param offset: The number to skip
92
+ :type offset: int
93
+ :param limit: The number to limit by
94
+ :type limit: int
95
+ :param levels: A list of levels to filter by
96
+ :type levels: List[LogLineLevel]
97
+ :param search: The search query to filter for
98
+ :type search: str
99
+ :param order_by_field: What to order by
100
+ :type order_by_field: LogLineOrderByField
101
+ :param order_by_direction: The order direction
102
+ :type order_by_direction: LogLineOrderByDirection
103
+ :param _request_timeout: timeout setting for this request. If one
104
+ number provided, it will be total request
105
+ timeout. It can also be a pair (tuple) of
106
+ (connection, read) timeouts.
107
+ :type _request_timeout: int, tuple(int, int), optional
108
+ :param _request_auth: set to override the auth_settings for an a single
109
+ request; this effectively ignores the
110
+ authentication in the spec for a single request.
111
+ :type _request_auth: dict, optional
112
+ :param _content_type: force content-type for the request.
113
+ :type _content_type: str, Optional
114
+ :param _headers: set to override the headers for a single
115
+ request; this effectively ignores the headers
116
+ in the spec for a single request.
117
+ :type _headers: dict, optional
118
+ :param _host_index: set to override the host_index for a single
119
+ request; this effectively ignores the host_index
120
+ in the spec for a single request.
121
+ :type _host_index: int, optional
122
+ :return: Returns the result object.
123
+ """ # noqa: E501
124
+
125
+ _param = self._log_line_list_serialize(
126
+ step_run=step_run,
127
+ offset=offset,
128
+ limit=limit,
129
+ levels=levels,
130
+ search=search,
131
+ order_by_field=order_by_field,
132
+ order_by_direction=order_by_direction,
133
+ _request_auth=_request_auth,
134
+ _content_type=_content_type,
135
+ _headers=_headers,
136
+ _host_index=_host_index,
137
+ )
138
+
139
+ _response_types_map: Dict[str, Optional[str]] = {
140
+ "200": "LogLineList",
141
+ "400": "APIErrors",
142
+ "403": "APIErrors",
143
+ }
144
+ response_data = await self.api_client.call_api(
145
+ *_param, _request_timeout=_request_timeout
146
+ )
147
+ await response_data.read()
148
+ return self.api_client.response_deserialize(
149
+ response_data=response_data,
150
+ response_types_map=_response_types_map,
151
+ ).data
152
+
153
+ @validate_call
154
+ async def log_line_list_with_http_info(
155
+ self,
156
+ step_run: Annotated[
157
+ str,
158
+ Field(
159
+ min_length=36, strict=True, max_length=36, description="The step run id"
160
+ ),
161
+ ],
162
+ offset: Annotated[
163
+ Optional[StrictInt], Field(description="The number to skip")
164
+ ] = None,
165
+ limit: Annotated[
166
+ Optional[StrictInt], Field(description="The number to limit by")
167
+ ] = None,
168
+ levels: Annotated[
169
+ Optional[List[LogLineLevel]],
170
+ Field(description="A list of levels to filter by"),
171
+ ] = None,
172
+ search: Annotated[
173
+ Optional[StrictStr], Field(description="The search query to filter for")
174
+ ] = None,
175
+ order_by_field: Annotated[
176
+ Optional[LogLineOrderByField], Field(description="What to order by")
177
+ ] = None,
178
+ order_by_direction: Annotated[
179
+ Optional[LogLineOrderByDirection], Field(description="The order direction")
180
+ ] = None,
181
+ _request_timeout: Union[
182
+ None,
183
+ Annotated[StrictFloat, Field(gt=0)],
184
+ Tuple[
185
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
186
+ ],
187
+ ] = None,
188
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
189
+ _content_type: Optional[StrictStr] = None,
190
+ _headers: Optional[Dict[StrictStr, Any]] = None,
191
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
192
+ ) -> ApiResponse[LogLineList]:
193
+ """List log lines
194
+
195
+ Lists log lines for a step run.
196
+
197
+ :param step_run: The step run id (required)
198
+ :type step_run: str
199
+ :param offset: The number to skip
200
+ :type offset: int
201
+ :param limit: The number to limit by
202
+ :type limit: int
203
+ :param levels: A list of levels to filter by
204
+ :type levels: List[LogLineLevel]
205
+ :param search: The search query to filter for
206
+ :type search: str
207
+ :param order_by_field: What to order by
208
+ :type order_by_field: LogLineOrderByField
209
+ :param order_by_direction: The order direction
210
+ :type order_by_direction: LogLineOrderByDirection
211
+ :param _request_timeout: timeout setting for this request. If one
212
+ number provided, it will be total request
213
+ timeout. It can also be a pair (tuple) of
214
+ (connection, read) timeouts.
215
+ :type _request_timeout: int, tuple(int, int), optional
216
+ :param _request_auth: set to override the auth_settings for an a single
217
+ request; this effectively ignores the
218
+ authentication in the spec for a single request.
219
+ :type _request_auth: dict, optional
220
+ :param _content_type: force content-type for the request.
221
+ :type _content_type: str, Optional
222
+ :param _headers: set to override the headers for a single
223
+ request; this effectively ignores the headers
224
+ in the spec for a single request.
225
+ :type _headers: dict, optional
226
+ :param _host_index: set to override the host_index for a single
227
+ request; this effectively ignores the host_index
228
+ in the spec for a single request.
229
+ :type _host_index: int, optional
230
+ :return: Returns the result object.
231
+ """ # noqa: E501
232
+
233
+ _param = self._log_line_list_serialize(
234
+ step_run=step_run,
235
+ offset=offset,
236
+ limit=limit,
237
+ levels=levels,
238
+ search=search,
239
+ order_by_field=order_by_field,
240
+ order_by_direction=order_by_direction,
241
+ _request_auth=_request_auth,
242
+ _content_type=_content_type,
243
+ _headers=_headers,
244
+ _host_index=_host_index,
245
+ )
246
+
247
+ _response_types_map: Dict[str, Optional[str]] = {
248
+ "200": "LogLineList",
249
+ "400": "APIErrors",
250
+ "403": "APIErrors",
251
+ }
252
+ response_data = await self.api_client.call_api(
253
+ *_param, _request_timeout=_request_timeout
254
+ )
255
+ await response_data.read()
256
+ return self.api_client.response_deserialize(
257
+ response_data=response_data,
258
+ response_types_map=_response_types_map,
259
+ )
260
+
261
+ @validate_call
262
+ async def log_line_list_without_preload_content(
263
+ self,
264
+ step_run: Annotated[
265
+ str,
266
+ Field(
267
+ min_length=36, strict=True, max_length=36, description="The step run id"
268
+ ),
269
+ ],
270
+ offset: Annotated[
271
+ Optional[StrictInt], Field(description="The number to skip")
272
+ ] = None,
273
+ limit: Annotated[
274
+ Optional[StrictInt], Field(description="The number to limit by")
275
+ ] = None,
276
+ levels: Annotated[
277
+ Optional[List[LogLineLevel]],
278
+ Field(description="A list of levels to filter by"),
279
+ ] = None,
280
+ search: Annotated[
281
+ Optional[StrictStr], Field(description="The search query to filter for")
282
+ ] = None,
283
+ order_by_field: Annotated[
284
+ Optional[LogLineOrderByField], Field(description="What to order by")
285
+ ] = None,
286
+ order_by_direction: Annotated[
287
+ Optional[LogLineOrderByDirection], Field(description="The order direction")
288
+ ] = None,
289
+ _request_timeout: Union[
290
+ None,
291
+ Annotated[StrictFloat, Field(gt=0)],
292
+ Tuple[
293
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
294
+ ],
295
+ ] = None,
296
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
297
+ _content_type: Optional[StrictStr] = None,
298
+ _headers: Optional[Dict[StrictStr, Any]] = None,
299
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
300
+ ) -> RESTResponseType:
301
+ """List log lines
302
+
303
+ Lists log lines for a step run.
304
+
305
+ :param step_run: The step run id (required)
306
+ :type step_run: str
307
+ :param offset: The number to skip
308
+ :type offset: int
309
+ :param limit: The number to limit by
310
+ :type limit: int
311
+ :param levels: A list of levels to filter by
312
+ :type levels: List[LogLineLevel]
313
+ :param search: The search query to filter for
314
+ :type search: str
315
+ :param order_by_field: What to order by
316
+ :type order_by_field: LogLineOrderByField
317
+ :param order_by_direction: The order direction
318
+ :type order_by_direction: LogLineOrderByDirection
319
+ :param _request_timeout: timeout setting for this request. If one
320
+ number provided, it will be total request
321
+ timeout. It can also be a pair (tuple) of
322
+ (connection, read) timeouts.
323
+ :type _request_timeout: int, tuple(int, int), optional
324
+ :param _request_auth: set to override the auth_settings for an a single
325
+ request; this effectively ignores the
326
+ authentication in the spec for a single request.
327
+ :type _request_auth: dict, optional
328
+ :param _content_type: force content-type for the request.
329
+ :type _content_type: str, Optional
330
+ :param _headers: set to override the headers for a single
331
+ request; this effectively ignores the headers
332
+ in the spec for a single request.
333
+ :type _headers: dict, optional
334
+ :param _host_index: set to override the host_index for a single
335
+ request; this effectively ignores the host_index
336
+ in the spec for a single request.
337
+ :type _host_index: int, optional
338
+ :return: Returns the result object.
339
+ """ # noqa: E501
340
+
341
+ _param = self._log_line_list_serialize(
342
+ step_run=step_run,
343
+ offset=offset,
344
+ limit=limit,
345
+ levels=levels,
346
+ search=search,
347
+ order_by_field=order_by_field,
348
+ order_by_direction=order_by_direction,
349
+ _request_auth=_request_auth,
350
+ _content_type=_content_type,
351
+ _headers=_headers,
352
+ _host_index=_host_index,
353
+ )
354
+
355
+ _response_types_map: Dict[str, Optional[str]] = {
356
+ "200": "LogLineList",
357
+ "400": "APIErrors",
358
+ "403": "APIErrors",
359
+ }
360
+ response_data = await self.api_client.call_api(
361
+ *_param, _request_timeout=_request_timeout
362
+ )
363
+ return response_data.response
364
+
365
+ def _log_line_list_serialize(
366
+ self,
367
+ step_run,
368
+ offset,
369
+ limit,
370
+ levels,
371
+ search,
372
+ order_by_field,
373
+ order_by_direction,
374
+ _request_auth,
375
+ _content_type,
376
+ _headers,
377
+ _host_index,
378
+ ) -> RequestSerialized:
379
+
380
+ _host = None
381
+
382
+ _collection_formats: Dict[str, str] = {
383
+ "levels": "multi",
384
+ }
385
+
386
+ _path_params: Dict[str, str] = {}
387
+ _query_params: List[Tuple[str, str]] = []
388
+ _header_params: Dict[str, Optional[str]] = _headers or {}
389
+ _form_params: List[Tuple[str, str]] = []
390
+ _files: Dict[
391
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
392
+ ] = {}
393
+ _body_params: Optional[bytes] = None
394
+
395
+ # process the path parameters
396
+ if step_run is not None:
397
+ _path_params["step-run"] = step_run
398
+ # process the query parameters
399
+ if offset is not None:
400
+
401
+ _query_params.append(("offset", offset))
402
+
403
+ if limit is not None:
404
+
405
+ _query_params.append(("limit", limit))
406
+
407
+ if levels is not None:
408
+
409
+ _query_params.append(("levels", levels))
410
+
411
+ if search is not None:
412
+
413
+ _query_params.append(("search", search))
414
+
415
+ if order_by_field is not None:
416
+
417
+ _query_params.append(("orderByField", order_by_field.value))
418
+
419
+ if order_by_direction is not None:
420
+
421
+ _query_params.append(("orderByDirection", order_by_direction.value))
422
+
423
+ # process the header parameters
424
+ # process the form parameters
425
+ # process the body parameter
426
+
427
+ # set the HTTP header `Accept`
428
+ if "Accept" not in _header_params:
429
+ _header_params["Accept"] = self.api_client.select_header_accept(
430
+ ["application/json"]
431
+ )
432
+
433
+ # authentication setting
434
+ _auth_settings: List[str] = ["cookieAuth", "bearerAuth"]
435
+
436
+ return self.api_client.param_serialize(
437
+ method="GET",
438
+ resource_path="/api/v1/step-runs/{step-run}/logs",
439
+ path_params=_path_params,
440
+ query_params=_query_params,
441
+ header_params=_header_params,
442
+ body=_body_params,
443
+ post_params=_form_params,
444
+ files=_files,
445
+ auth_settings=_auth_settings,
446
+ collection_formats=_collection_formats,
447
+ _host=_host,
448
+ _request_auth=_request_auth,
449
+ )