hatchet-sdk 0.46.1__tar.gz → 1.0.0__tar.gz

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 (485) hide show
  1. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/PKG-INFO +3 -2
  2. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/__init__.py +25 -16
  3. hatchet_sdk-1.0.0/hatchet_sdk/client.py +94 -0
  4. hatchet_sdk-1.0.0/hatchet_sdk/clients/admin.py +383 -0
  5. hatchet_sdk-1.0.0/hatchet_sdk/clients/dispatcher/action_listener.py +445 -0
  6. hatchet_sdk-1.0.0/hatchet_sdk/clients/dispatcher/dispatcher.py +204 -0
  7. hatchet_sdk-1.0.0/hatchet_sdk/clients/event_ts.py +41 -0
  8. hatchet_sdk-1.0.0/hatchet_sdk/clients/events.py +180 -0
  9. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/__init__.py +24 -0
  10. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/__init__.py +2 -0
  11. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/api/task_api.py +2174 -0
  12. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/api/workflow_runs_api.py +1142 -0
  13. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api_client.py +1 -1
  14. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/configuration.py +618 -0
  15. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/exceptions.py +221 -0
  16. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/__init__.py +22 -0
  17. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/tenant.py +122 -0
  18. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/tenant_version.py +37 -0
  19. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/update_tenant_request.py +144 -0
  20. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_cancel_task_request.py +104 -0
  21. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_dag_children.py +102 -0
  22. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_replay_task_request.py +104 -0
  23. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task.py +174 -0
  24. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_event.py +118 -0
  25. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_event_list.py +110 -0
  26. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_event_type.py +55 -0
  27. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_filter.py +106 -0
  28. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_point_metric.py +92 -0
  29. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_point_metrics.py +100 -0
  30. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_run_metric.py +88 -0
  31. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_run_status.py +40 -0
  32. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_status.py +40 -0
  33. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_summary.py +212 -0
  34. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_task_summary_list.py +110 -0
  35. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_workflow_run.py +171 -0
  36. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_workflow_run_details.py +145 -0
  37. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/v1_workflow_type.py +37 -0
  38. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/models/workflow_run_shape_item_for_workflow_run_details.py +99 -0
  39. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/rest.py +198 -0
  40. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest/tenacity_utils.py +39 -0
  41. hatchet_sdk-1.0.0/hatchet_sdk/clients/rest_client.py +636 -0
  42. hatchet_sdk-1.0.0/hatchet_sdk/clients/run_event_listener.py +266 -0
  43. hatchet_sdk-1.0.0/hatchet_sdk/clients/workflow_listener.py +286 -0
  44. hatchet_sdk-1.0.0/hatchet_sdk/config.py +117 -0
  45. hatchet_sdk-1.0.0/hatchet_sdk/connection.py +78 -0
  46. hatchet_sdk-1.0.0/hatchet_sdk/context/context.py +346 -0
  47. hatchet_sdk-1.0.0/hatchet_sdk/features/cron.py +272 -0
  48. hatchet_sdk-1.0.0/hatchet_sdk/features/scheduled.py +234 -0
  49. hatchet_sdk-1.0.0/hatchet_sdk/hatchet.py +307 -0
  50. hatchet_sdk-1.0.0/hatchet_sdk/labels.py +8 -0
  51. hatchet_sdk-1.0.0/hatchet_sdk/metadata.py +2 -0
  52. hatchet_sdk-1.0.0/hatchet_sdk/opentelemetry/instrumentor.py +400 -0
  53. hatchet_sdk-1.0.0/hatchet_sdk/py.typed +0 -0
  54. hatchet_sdk-1.0.0/hatchet_sdk/rate_limit.py +117 -0
  55. hatchet_sdk-1.0.0/hatchet_sdk/token.py +31 -0
  56. hatchet_sdk-1.0.0/hatchet_sdk/utils/aio_utils.py +97 -0
  57. hatchet_sdk-1.0.0/hatchet_sdk/utils/proto_enums.py +54 -0
  58. hatchet_sdk-1.0.0/hatchet_sdk/utils/typing.py +20 -0
  59. hatchet_sdk-1.0.0/hatchet_sdk/v0/__init__.py +251 -0
  60. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/client.py +3 -3
  61. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/admin.py +8 -9
  62. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/dispatcher/action_listener.py +8 -9
  63. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/dispatcher/dispatcher.py +5 -5
  64. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/event_ts.py +3 -3
  65. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/events.py +3 -4
  66. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/__init__.py +307 -0
  67. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/__init__.py +19 -0
  68. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/api_token_api.py +858 -0
  69. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/default_api.py +2259 -0
  70. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/event_api.py +2548 -0
  71. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/github_api.py +331 -0
  72. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/healthcheck_api.py +483 -0
  73. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/log_api.py +449 -0
  74. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/metadata_api.py +728 -0
  75. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/rate_limits_api.py +423 -0
  76. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/slack_api.py +577 -0
  77. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/sns_api.py +872 -0
  78. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/step_run_api.py +2202 -0
  79. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/tenant_api.py +4430 -0
  80. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/user_api.py +2888 -0
  81. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/worker_api.py +858 -0
  82. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/workflow_api.py +6312 -0
  83. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api/workflow_run_api.py +1932 -0
  84. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/api/workflow_runs_api.py +5 -5
  85. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api_client.py +759 -0
  86. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/api_response.py +22 -0
  87. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/__init__.py +274 -0
  88. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/accept_invite_request.py +83 -0
  89. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_error.py +102 -0
  90. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_errors.py +100 -0
  91. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_meta.py +144 -0
  92. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_meta_auth.py +85 -0
  93. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_meta_integration.py +88 -0
  94. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_meta_posthog.py +90 -0
  95. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_resource_meta.py +98 -0
  96. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/api_token.py +105 -0
  97. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/bulk_create_event_request.py +100 -0
  98. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/bulk_create_event_response.py +110 -0
  99. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/cancel_event_request.py +85 -0
  100. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/cancel_step_run_request.py +83 -0
  101. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/concurrency_limit_strategy.py +39 -0
  102. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_api_token_request.py +92 -0
  103. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_api_token_response.py +83 -0
  104. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_cron_workflow_trigger_request.py +98 -0
  105. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_event_request.py +95 -0
  106. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_pull_request_from_step_run.py +83 -0
  107. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_sns_integration_request.py +85 -0
  108. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_tenant_alert_email_group_request.py +83 -0
  109. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_tenant_invite_request.py +86 -0
  110. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/create_tenant_request.py +84 -0
  111. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/cron_workflows.py +131 -0
  112. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/cron_workflows_list.py +110 -0
  113. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/cron_workflows_method.py +37 -0
  114. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/cron_workflows_order_by_field.py +37 -0
  115. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event.py +143 -0
  116. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_data.py +83 -0
  117. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_key_list.py +98 -0
  118. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_list.py +110 -0
  119. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_order_by_direction.py +37 -0
  120. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_order_by_field.py +36 -0
  121. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_update_cancel200_response.py +85 -0
  122. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/event_workflow_run_summary.py +116 -0
  123. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/events.py +110 -0
  124. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/get_step_run_diff_response.py +100 -0
  125. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/github_app_installation.py +107 -0
  126. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/github_branch.py +86 -0
  127. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/github_repo.py +86 -0
  128. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/info_get_version200_response.py +83 -0
  129. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/job.py +132 -0
  130. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/job_run.py +176 -0
  131. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/job_run_status.py +41 -0
  132. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/link_github_repository_request.py +106 -0
  133. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/list_api_tokens_response.py +110 -0
  134. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/list_github_app_installations_response.py +112 -0
  135. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/list_pull_requests_response.py +100 -0
  136. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/list_slack_webhooks.py +110 -0
  137. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/list_sns_integrations.py +110 -0
  138. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/log_line.py +94 -0
  139. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/log_line_level.py +39 -0
  140. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/log_line_list.py +110 -0
  141. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/log_line_order_by_direction.py +37 -0
  142. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/log_line_order_by_field.py +36 -0
  143. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/pagination_response.py +95 -0
  144. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/pull_request.py +112 -0
  145. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/pull_request_state.py +37 -0
  146. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/queue_metrics.py +97 -0
  147. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/rate_limit.py +117 -0
  148. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/rate_limit_list.py +110 -0
  149. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_direction.py +37 -0
  150. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_field.py +38 -0
  151. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/recent_step_runs.py +118 -0
  152. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/reject_invite_request.py +83 -0
  153. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/replay_event_request.py +85 -0
  154. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_request.py +85 -0
  155. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_response.py +100 -0
  156. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/rerun_step_run_request.py +83 -0
  157. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/schedule_workflow_run_request.py +92 -0
  158. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/scheduled_run_status.py +42 -0
  159. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/scheduled_workflows.py +149 -0
  160. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/scheduled_workflows_list.py +110 -0
  161. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/scheduled_workflows_method.py +37 -0
  162. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/scheduled_workflows_order_by_field.py +37 -0
  163. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/semaphore_slots.py +113 -0
  164. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/slack_webhook.py +127 -0
  165. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/sns_integration.py +114 -0
  166. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step.py +123 -0
  167. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run.py +202 -0
  168. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_archive.py +142 -0
  169. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_archive_list.py +110 -0
  170. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_diff.py +91 -0
  171. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_event.py +122 -0
  172. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_event_list.py +110 -0
  173. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_event_reason.py +52 -0
  174. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_event_severity.py +38 -0
  175. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/step_run_status.py +44 -0
  176. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/models/tenant.py +1 -1
  177. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group.py +98 -0
  178. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group_list.py +112 -0
  179. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_alerting_settings.py +143 -0
  180. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_invite.py +120 -0
  181. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_invite_list.py +110 -0
  182. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_list.py +110 -0
  183. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_member.py +123 -0
  184. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_member_list.py +110 -0
  185. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_member_role.py +38 -0
  186. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_queue_metrics.py +116 -0
  187. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_resource.py +40 -0
  188. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_resource_limit.py +135 -0
  189. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_resource_policy.py +102 -0
  190. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/tenant_step_run_queue_metrics.py +83 -0
  191. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/trigger_workflow_run_request.py +91 -0
  192. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/update_tenant_alert_email_group_request.py +83 -0
  193. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/update_tenant_invite_request.py +85 -0
  194. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/update_worker_request.py +87 -0
  195. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/user.py +126 -0
  196. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/user_change_password_request.py +88 -0
  197. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/user_login_request.py +86 -0
  198. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/user_register_request.py +91 -0
  199. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/user_tenant_memberships_list.py +110 -0
  200. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/user_tenant_public.py +86 -0
  201. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker.py +100 -0
  202. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_create_request.py +94 -0
  203. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_create_response.py +98 -0
  204. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_created.py +102 -0
  205. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_list_response.py +110 -0
  206. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_request.py +102 -0
  207. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_request_list_response.py +104 -0
  208. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/webhook_worker_request_method.py +38 -0
  209. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/worker.py +239 -0
  210. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/worker_label.py +102 -0
  211. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/worker_list.py +110 -0
  212. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/worker_runtime_info.py +103 -0
  213. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/worker_runtime_sdks.py +38 -0
  214. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/worker_type.py +38 -0
  215. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow.py +165 -0
  216. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_concurrency.py +107 -0
  217. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_deployment_config.py +136 -0
  218. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_kind.py +38 -0
  219. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_list.py +120 -0
  220. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_metrics.py +97 -0
  221. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run.py +188 -0
  222. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_cancel200_response.py +85 -0
  223. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_list.py +110 -0
  224. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_direction.py +37 -0
  225. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_field.py +39 -0
  226. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_shape.py +186 -0
  227. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_status.py +42 -0
  228. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_run_triggered_by.py +112 -0
  229. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_runs_cancel_request.py +85 -0
  230. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics.py +94 -0
  231. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics_counts.py +104 -0
  232. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_tag.py +84 -0
  233. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_trigger_cron_ref.py +86 -0
  234. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_trigger_event_ref.py +86 -0
  235. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_triggers.py +141 -0
  236. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_update_request.py +85 -0
  237. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_version.py +170 -0
  238. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_version_concurrency.py +114 -0
  239. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_version_definition.py +85 -0
  240. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_version_meta.py +123 -0
  241. hatchet_sdk-1.0.0/hatchet_sdk/v0/clients/rest/models/workflow_workers_count.py +95 -0
  242. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/rest.py +1 -1
  243. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/tenacity_utils.py +1 -1
  244. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest_client.py +38 -36
  245. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/run_event_listener.py +3 -3
  246. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/workflow_listener.py +13 -9
  247. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/connection.py +3 -4
  248. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/context/context.py +52 -11
  249. hatchet_sdk-1.0.0/hatchet_sdk/v0/context/worker_context.py +28 -0
  250. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/dispatcher_pb2.py +102 -0
  251. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/dispatcher_pb2.pyi +387 -0
  252. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/dispatcher_pb2_grpc.py +621 -0
  253. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/events_pb2.py +46 -0
  254. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/events_pb2.pyi +87 -0
  255. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/events_pb2_grpc.py +274 -0
  256. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/workflows_pb2.py +80 -0
  257. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/workflows_pb2.pyi +312 -0
  258. hatchet_sdk-1.0.0/hatchet_sdk/v0/contracts/workflows_pb2_grpc.py +277 -0
  259. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/features/cron.py +5 -5
  260. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/features/scheduled.py +6 -6
  261. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/hatchet.py +9 -9
  262. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/loader.py +11 -0
  263. hatchet_sdk-1.0.0/hatchet_sdk/v0/logger.py +13 -0
  264. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/opentelemetry/instrumentor.py +110 -37
  265. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/rate_limit.py +1 -1
  266. hatchet_sdk-1.0.0/hatchet_sdk/v0/semver.py +30 -0
  267. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/utils/aio_utils.py +2 -2
  268. hatchet_sdk-1.0.0/hatchet_sdk/v0/utils/backoff.py +9 -0
  269. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/v2/callable.py +8 -8
  270. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/v2/concurrency.py +2 -2
  271. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/v2/hatchet.py +10 -10
  272. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/action_listener_process.py +6 -6
  273. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/runner/run_loop_manager.py +8 -8
  274. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/runner/runner.py +22 -16
  275. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/runner/utils/capture_logs.py +2 -2
  276. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/worker.py +17 -18
  277. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/workflow.py +4 -4
  278. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/workflow_run.py +12 -10
  279. hatchet_sdk-1.0.0/hatchet_sdk/worker/__init__.py +0 -0
  280. hatchet_sdk-1.0.0/hatchet_sdk/worker/action_listener_process.py +281 -0
  281. hatchet_sdk-1.0.0/hatchet_sdk/worker/runner/run_loop_manager.py +114 -0
  282. hatchet_sdk-1.0.0/hatchet_sdk/worker/runner/runner.py +432 -0
  283. hatchet_sdk-1.0.0/hatchet_sdk/worker/runner/utils/capture_logs.py +92 -0
  284. hatchet_sdk-1.0.0/hatchet_sdk/worker/runner/utils/error_with_traceback.py +6 -0
  285. hatchet_sdk-1.0.0/hatchet_sdk/worker/worker.py +378 -0
  286. hatchet_sdk-1.0.0/hatchet_sdk/workflow.py +527 -0
  287. hatchet_sdk-1.0.0/hatchet_sdk/workflow_run.py +46 -0
  288. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/pyproject.toml +57 -41
  289. hatchet_sdk-0.46.1/hatchet_sdk/utils/serialization.py +0 -18
  290. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/README.md +0 -0
  291. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/api_token_api.py +0 -0
  292. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/default_api.py +0 -0
  293. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/event_api.py +0 -0
  294. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/github_api.py +0 -0
  295. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/healthcheck_api.py +0 -0
  296. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/log_api.py +0 -0
  297. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/metadata_api.py +0 -0
  298. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/rate_limits_api.py +0 -0
  299. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/slack_api.py +0 -0
  300. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/sns_api.py +0 -0
  301. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/step_run_api.py +0 -0
  302. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/tenant_api.py +0 -0
  303. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/user_api.py +0 -0
  304. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/worker_api.py +0 -0
  305. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/workflow_api.py +0 -0
  306. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api/workflow_run_api.py +0 -0
  307. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/api_response.py +0 -0
  308. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/accept_invite_request.py +0 -0
  309. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_error.py +0 -0
  310. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_errors.py +0 -0
  311. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_meta.py +0 -0
  312. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_meta_auth.py +0 -0
  313. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_meta_integration.py +0 -0
  314. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_meta_posthog.py +0 -0
  315. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_resource_meta.py +0 -0
  316. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/api_token.py +0 -0
  317. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/bulk_create_event_request.py +0 -0
  318. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/bulk_create_event_response.py +0 -0
  319. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/cancel_event_request.py +0 -0
  320. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/cancel_step_run_request.py +0 -0
  321. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/concurrency_limit_strategy.py +0 -0
  322. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_api_token_request.py +0 -0
  323. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_api_token_response.py +0 -0
  324. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_cron_workflow_trigger_request.py +0 -0
  325. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_event_request.py +0 -0
  326. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_pull_request_from_step_run.py +0 -0
  327. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_sns_integration_request.py +0 -0
  328. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_tenant_alert_email_group_request.py +0 -0
  329. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_tenant_invite_request.py +0 -0
  330. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/create_tenant_request.py +0 -0
  331. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/cron_workflows.py +0 -0
  332. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/cron_workflows_list.py +0 -0
  333. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/cron_workflows_method.py +0 -0
  334. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/cron_workflows_order_by_field.py +0 -0
  335. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event.py +0 -0
  336. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_data.py +0 -0
  337. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_key_list.py +0 -0
  338. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_list.py +0 -0
  339. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_order_by_direction.py +0 -0
  340. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_order_by_field.py +0 -0
  341. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_update_cancel200_response.py +0 -0
  342. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/event_workflow_run_summary.py +0 -0
  343. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/events.py +0 -0
  344. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/get_step_run_diff_response.py +0 -0
  345. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/github_app_installation.py +0 -0
  346. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/github_branch.py +0 -0
  347. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/github_repo.py +0 -0
  348. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/info_get_version200_response.py +0 -0
  349. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/job.py +0 -0
  350. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/job_run.py +0 -0
  351. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/job_run_status.py +0 -0
  352. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/link_github_repository_request.py +0 -0
  353. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/list_api_tokens_response.py +0 -0
  354. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/list_github_app_installations_response.py +0 -0
  355. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/list_pull_requests_response.py +0 -0
  356. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/list_slack_webhooks.py +0 -0
  357. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/list_sns_integrations.py +0 -0
  358. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/log_line.py +0 -0
  359. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/log_line_level.py +0 -0
  360. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/log_line_list.py +0 -0
  361. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/log_line_order_by_direction.py +0 -0
  362. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/log_line_order_by_field.py +0 -0
  363. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/pagination_response.py +0 -0
  364. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/pull_request.py +0 -0
  365. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/pull_request_state.py +0 -0
  366. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/queue_metrics.py +0 -0
  367. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/rate_limit.py +0 -0
  368. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/rate_limit_list.py +0 -0
  369. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/rate_limit_order_by_direction.py +0 -0
  370. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/rate_limit_order_by_field.py +0 -0
  371. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/recent_step_runs.py +0 -0
  372. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/reject_invite_request.py +0 -0
  373. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/replay_event_request.py +0 -0
  374. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/replay_workflow_runs_request.py +0 -0
  375. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/replay_workflow_runs_response.py +0 -0
  376. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/rerun_step_run_request.py +0 -0
  377. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/schedule_workflow_run_request.py +0 -0
  378. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/scheduled_run_status.py +0 -0
  379. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/scheduled_workflows.py +0 -0
  380. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/scheduled_workflows_list.py +0 -0
  381. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/scheduled_workflows_method.py +0 -0
  382. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/scheduled_workflows_order_by_field.py +0 -0
  383. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/semaphore_slots.py +0 -0
  384. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/slack_webhook.py +0 -0
  385. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/sns_integration.py +0 -0
  386. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step.py +0 -0
  387. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run.py +0 -0
  388. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_archive.py +0 -0
  389. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_archive_list.py +0 -0
  390. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_diff.py +0 -0
  391. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_event.py +0 -0
  392. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_event_list.py +0 -0
  393. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_event_reason.py +0 -0
  394. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_event_severity.py +0 -0
  395. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/step_run_status.py +0 -0
  396. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_alert_email_group.py +0 -0
  397. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_alert_email_group_list.py +0 -0
  398. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_alerting_settings.py +0 -0
  399. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_invite.py +0 -0
  400. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_invite_list.py +0 -0
  401. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_list.py +0 -0
  402. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_member.py +0 -0
  403. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_member_list.py +0 -0
  404. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_member_role.py +0 -0
  405. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_queue_metrics.py +0 -0
  406. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_resource.py +0 -0
  407. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_resource_limit.py +0 -0
  408. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_resource_policy.py +0 -0
  409. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/tenant_step_run_queue_metrics.py +0 -0
  410. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/trigger_workflow_run_request.py +0 -0
  411. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/update_tenant_alert_email_group_request.py +0 -0
  412. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/update_tenant_invite_request.py +0 -0
  413. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/update_worker_request.py +0 -0
  414. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/user.py +0 -0
  415. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/user_change_password_request.py +0 -0
  416. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/user_login_request.py +0 -0
  417. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/user_register_request.py +0 -0
  418. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/user_tenant_memberships_list.py +0 -0
  419. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/user_tenant_public.py +0 -0
  420. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker.py +0 -0
  421. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_create_request.py +0 -0
  422. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_create_response.py +0 -0
  423. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_created.py +0 -0
  424. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_list_response.py +0 -0
  425. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_request.py +0 -0
  426. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_request_list_response.py +0 -0
  427. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/webhook_worker_request_method.py +0 -0
  428. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/worker.py +0 -0
  429. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/worker_label.py +0 -0
  430. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/worker_list.py +0 -0
  431. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/worker_runtime_info.py +0 -0
  432. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/worker_runtime_sdks.py +0 -0
  433. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/worker_type.py +0 -0
  434. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow.py +0 -0
  435. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_concurrency.py +0 -0
  436. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_deployment_config.py +0 -0
  437. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_kind.py +0 -0
  438. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_list.py +0 -0
  439. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_metrics.py +0 -0
  440. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run.py +0 -0
  441. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_cancel200_response.py +0 -0
  442. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_list.py +0 -0
  443. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_order_by_direction.py +0 -0
  444. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_order_by_field.py +0 -0
  445. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_shape.py +0 -0
  446. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_status.py +0 -0
  447. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_run_triggered_by.py +0 -0
  448. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_runs_cancel_request.py +0 -0
  449. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_runs_metrics.py +0 -0
  450. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_runs_metrics_counts.py +0 -0
  451. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_tag.py +0 -0
  452. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_trigger_cron_ref.py +0 -0
  453. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_trigger_event_ref.py +0 -0
  454. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_triggers.py +0 -0
  455. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_update_request.py +0 -0
  456. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_version.py +0 -0
  457. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_version_concurrency.py +0 -0
  458. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_version_definition.py +0 -0
  459. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_version_meta.py +0 -0
  460. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/clients/rest/models/workflow_workers_count.py +0 -0
  461. /hatchet_sdk-0.46.1/hatchet_sdk/py.typed → /hatchet_sdk-1.0.0/hatchet_sdk/context/__init__.py +0 -0
  462. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/context/worker_context.py +0 -0
  463. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/dispatcher_pb2.py +0 -0
  464. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/dispatcher_pb2.pyi +0 -0
  465. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/dispatcher_pb2_grpc.py +0 -0
  466. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/events_pb2.py +0 -0
  467. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/events_pb2.pyi +0 -0
  468. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/events_pb2_grpc.py +0 -0
  469. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/workflows_pb2.py +0 -0
  470. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/workflows_pb2.pyi +0 -0
  471. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/contracts/workflows_pb2_grpc.py +0 -0
  472. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/logger.py +0 -0
  473. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/semver.py +0 -0
  474. {hatchet_sdk-0.46.1 → hatchet_sdk-1.0.0}/hatchet_sdk/utils/backoff.py +0 -0
  475. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/configuration.py +0 -0
  476. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/exceptions.py +0 -0
  477. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/clients/rest/models/update_tenant_request.py +0 -0
  478. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/context/__init__.py +0 -0
  479. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/labels.py +0 -0
  480. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/metadata.py +0 -0
  481. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/token.py +0 -0
  482. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/utils/types.py +0 -0
  483. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/utils/typing.py +0 -0
  484. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/__init__.py +0 -0
  485. {hatchet_sdk-0.46.1/hatchet_sdk → hatchet_sdk-1.0.0/hatchet_sdk/v0}/worker/runner/utils/error_with_traceback.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hatchet-sdk
3
- Version: 0.46.1
3
+ Version: 1.0.0
4
4
  Summary:
5
5
  Author: Alexander Belanger
6
6
  Author-email: alexander@hatchet.run
@@ -13,7 +13,7 @@ Provides-Extra: otel
13
13
  Requires-Dist: aiohttp (>=3.10.5,<4.0.0)
14
14
  Requires-Dist: aiohttp-retry (>=2.8.3,<3.0.0)
15
15
  Requires-Dist: aiostream (>=0.5.2,<0.6.0)
16
- Requires-Dist: cel-python (>=0.1.5,<0.2.0)
16
+ Requires-Dist: cel-python (>=0.2.0,<0.3.0)
17
17
  Requires-Dist: grpcio (>=1.64.1,!=1.68.*) ; python_version < "3.13"
18
18
  Requires-Dist: grpcio (>=1.69.0) ; python_version >= "3.13"
19
19
  Requires-Dist: grpcio-tools (>=1.64.1,!=1.68.*) ; python_version < "3.13"
@@ -28,6 +28,7 @@ Requires-Dist: opentelemetry-sdk (>=1.28.0,<2.0.0) ; extra == "otel"
28
28
  Requires-Dist: prometheus-client (>=0.21.1,<0.22.0)
29
29
  Requires-Dist: protobuf (>=5.29.1,<6.0.0)
30
30
  Requires-Dist: pydantic (>=2.6.3,<3.0.0)
31
+ Requires-Dist: pydantic-settings (>=2.7.1,<3.0.0)
31
32
  Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
32
33
  Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
33
34
  Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
@@ -1,3 +1,11 @@
1
+ from hatchet_sdk.client import new_client
2
+ from hatchet_sdk.clients.admin import (
3
+ ChildTriggerWorkflowOptions,
4
+ DedupeViolationErr,
5
+ ScheduleTriggerWorkflowOptions,
6
+ TriggerWorkflowOptions,
7
+ )
8
+ from hatchet_sdk.clients.events import PushEventOptions
1
9
  from hatchet_sdk.clients.rest.models.accept_invite_request import AcceptInviteRequest
2
10
 
3
11
  # import models into sdk package
@@ -117,29 +125,28 @@ from hatchet_sdk.clients.rest.models.workflow_version_definition import (
117
125
  WorkflowVersionDefinition,
118
126
  )
119
127
  from hatchet_sdk.clients.rest.models.workflow_version_meta import WorkflowVersionMeta
128
+ from hatchet_sdk.clients.run_event_listener import (
129
+ StepRunEventType,
130
+ WorkflowRunEventType,
131
+ )
132
+ from hatchet_sdk.config import ClientConfig
133
+ from hatchet_sdk.context.context import Context
134
+ from hatchet_sdk.context.worker_context import WorkerContext
120
135
  from hatchet_sdk.contracts.workflows_pb2 import (
121
- ConcurrencyLimitStrategy,
122
136
  CreateWorkflowVersionOpts,
123
137
  RateLimitDuration,
124
- StickyStrategy,
125
138
  WorkerLabelComparator,
126
139
  )
140
+ from hatchet_sdk.hatchet import Hatchet
127
141
  from hatchet_sdk.utils.aio_utils import sync_to_async
128
-
129
- from .client import new_client
130
- from .clients.admin import (
131
- ChildTriggerWorkflowOptions,
132
- DedupeViolationErr,
133
- ScheduleTriggerWorkflowOptions,
134
- TriggerWorkflowOptions,
142
+ from hatchet_sdk.worker.worker import Worker, WorkerStartOptions, WorkerStatus
143
+ from hatchet_sdk.workflow import (
144
+ BaseWorkflow,
145
+ ConcurrencyExpression,
146
+ ConcurrencyLimitStrategy,
147
+ StickyStrategy,
148
+ WorkflowConfig,
135
149
  )
136
- from .clients.events import PushEventOptions
137
- from .clients.run_event_listener import StepRunEventType, WorkflowRunEventType
138
- from .context.context import Context
139
- from .context.worker_context import WorkerContext
140
- from .hatchet import ClientConfig, Hatchet, concurrency, on_failure_step, step, workflow
141
- from .worker import Worker, WorkerStartOptions, WorkerStatus
142
- from .workflow import ConcurrencyExpression
143
150
 
144
151
  __all__ = [
145
152
  "AcceptInviteRequest",
@@ -244,4 +251,6 @@ __all__ = [
244
251
  "WorkerStartOptions",
245
252
  "WorkerStatus",
246
253
  "ConcurrencyExpression",
254
+ "BaseWorkflow",
255
+ "WorkflowConfig",
247
256
  ]
@@ -0,0 +1,94 @@
1
+ import asyncio
2
+ from typing import Callable
3
+
4
+ import grpc
5
+
6
+ from hatchet_sdk.clients.admin import AdminClient
7
+ from hatchet_sdk.clients.dispatcher.dispatcher import DispatcherClient
8
+ from hatchet_sdk.clients.events import EventClient, new_event
9
+ from hatchet_sdk.clients.rest_client import RestApi
10
+ from hatchet_sdk.clients.run_event_listener import RunEventListenerClient
11
+ from hatchet_sdk.clients.workflow_listener import PooledWorkflowRunListener
12
+ from hatchet_sdk.config import ClientConfig
13
+ from hatchet_sdk.connection import new_conn
14
+
15
+
16
+ class Client:
17
+ @classmethod
18
+ def from_environment(
19
+ cls,
20
+ defaults: ClientConfig = ClientConfig(),
21
+ debug: bool = False,
22
+ *opts_functions: Callable[[ClientConfig], None],
23
+ ) -> "Client":
24
+ try:
25
+ loop = asyncio.get_running_loop()
26
+ except RuntimeError:
27
+ loop = asyncio.new_event_loop()
28
+ asyncio.set_event_loop(loop)
29
+
30
+ for opt_function in opts_functions:
31
+ opt_function(defaults)
32
+
33
+ return cls.from_config(defaults, debug)
34
+
35
+ @classmethod
36
+ def from_config(
37
+ cls,
38
+ config: ClientConfig = ClientConfig(),
39
+ debug: bool = False,
40
+ ) -> "Client":
41
+ try:
42
+ loop = asyncio.get_running_loop()
43
+ except RuntimeError:
44
+ loop = asyncio.new_event_loop()
45
+ asyncio.set_event_loop(loop)
46
+
47
+ conn: grpc.Channel = new_conn(config, False)
48
+
49
+ # Instantiate clients
50
+ event_client = new_event(conn, config)
51
+ admin_client = AdminClient(config)
52
+ dispatcher_client = DispatcherClient(config)
53
+ rest_client = RestApi(config.server_url, config.token, config.tenant_id)
54
+ workflow_listener = None # Initialize this if needed
55
+
56
+ return cls(
57
+ event_client,
58
+ admin_client,
59
+ dispatcher_client,
60
+ workflow_listener,
61
+ rest_client,
62
+ config,
63
+ debug,
64
+ )
65
+
66
+ def __init__(
67
+ self,
68
+ event_client: EventClient,
69
+ admin_client: AdminClient,
70
+ dispatcher_client: DispatcherClient,
71
+ workflow_listener: PooledWorkflowRunListener | None,
72
+ rest_client: RestApi,
73
+ config: ClientConfig,
74
+ debug: bool = False,
75
+ ):
76
+ try:
77
+ loop = asyncio.get_running_loop()
78
+ except RuntimeError:
79
+ loop = asyncio.new_event_loop()
80
+ asyncio.set_event_loop(loop)
81
+
82
+ self.admin = admin_client
83
+ self.dispatcher = dispatcher_client
84
+ self.event = event_client
85
+ self.rest = rest_client
86
+ self.config = config
87
+ self.listener = RunEventListenerClient(config)
88
+ self.workflow_listener = workflow_listener
89
+ self.logInterceptor = config.logger
90
+ self.debug = debug
91
+
92
+
93
+ new_client = Client.from_environment
94
+ new_client_raw = Client.from_config
@@ -0,0 +1,383 @@
1
+ import asyncio
2
+ import json
3
+ from datetime import datetime
4
+ from typing import Union, cast
5
+
6
+ import grpc
7
+ from google.protobuf import timestamp_pb2
8
+ from pydantic import BaseModel, Field
9
+
10
+ from hatchet_sdk.clients.rest.tenacity_utils import tenacity_retry
11
+ from hatchet_sdk.clients.run_event_listener import RunEventListenerClient
12
+ from hatchet_sdk.clients.workflow_listener import PooledWorkflowRunListener
13
+ from hatchet_sdk.config import ClientConfig
14
+ from hatchet_sdk.connection import new_conn
15
+ from hatchet_sdk.contracts import workflows_pb2 as workflow_protos
16
+ from hatchet_sdk.contracts.workflows_pb2_grpc import WorkflowServiceStub
17
+ from hatchet_sdk.metadata import get_metadata
18
+ from hatchet_sdk.rate_limit import RateLimitDuration
19
+ from hatchet_sdk.utils.proto_enums import convert_python_enum_to_proto, maybe_int_to_str
20
+ from hatchet_sdk.utils.typing import JSONSerializableMapping
21
+ from hatchet_sdk.workflow_run import WorkflowRunRef
22
+
23
+
24
+ class ScheduleTriggerWorkflowOptions(BaseModel):
25
+ parent_id: str | None = None
26
+ parent_step_run_id: str | None = None
27
+ child_index: int | None = None
28
+ child_key: str | None = None
29
+ namespace: str | None = None
30
+
31
+
32
+ class ChildTriggerWorkflowOptions(BaseModel):
33
+ additional_metadata: JSONSerializableMapping = Field(default_factory=dict)
34
+ sticky: bool = False
35
+
36
+
37
+ class ChildWorkflowRunDict(BaseModel):
38
+ workflow_name: str
39
+ input: JSONSerializableMapping
40
+ options: ChildTriggerWorkflowOptions
41
+ key: str | None = None
42
+
43
+
44
+ class TriggerWorkflowOptions(ScheduleTriggerWorkflowOptions):
45
+ additional_metadata: JSONSerializableMapping = Field(default_factory=dict)
46
+ desired_worker_id: str | None = None
47
+ namespace: str | None = None
48
+
49
+
50
+ class WorkflowRunDict(BaseModel):
51
+ workflow_name: str
52
+ input: JSONSerializableMapping
53
+ options: TriggerWorkflowOptions
54
+
55
+
56
+ class DedupeViolationErr(Exception):
57
+ """Raised by the Hatchet library to indicate that a workflow has already been run with this deduplication value."""
58
+
59
+ pass
60
+
61
+
62
+ class AdminClient:
63
+ def __init__(self, config: ClientConfig):
64
+ conn = new_conn(config, False)
65
+ self.config = config
66
+ self.client = WorkflowServiceStub(conn) # type: ignore[no-untyped-call]
67
+ self.token = config.token
68
+ self.listener_client = RunEventListenerClient(config=config)
69
+ self.namespace = config.namespace
70
+
71
+ self.pooled_workflow_listener: PooledWorkflowRunListener | None = None
72
+
73
+ def _prepare_workflow_request(
74
+ self,
75
+ workflow_name: str,
76
+ input: JSONSerializableMapping,
77
+ options: TriggerWorkflowOptions,
78
+ ) -> workflow_protos.TriggerWorkflowRequest:
79
+ try:
80
+ payload_data = json.dumps(input)
81
+ _options = options.model_dump()
82
+
83
+ _options.pop("namespace")
84
+
85
+ try:
86
+ _options = {
87
+ **_options,
88
+ "additional_metadata": json.dumps(
89
+ options.additional_metadata
90
+ ).encode("utf-8"),
91
+ }
92
+ except json.JSONDecodeError as e:
93
+ raise ValueError(f"Error encoding payload: {e}")
94
+
95
+ return workflow_protos.TriggerWorkflowRequest(
96
+ name=workflow_name, input=payload_data, **_options
97
+ )
98
+ except json.JSONDecodeError as e:
99
+ raise ValueError(f"Error encoding payload: {e}")
100
+
101
+ def _prepare_put_workflow_request(
102
+ self,
103
+ name: str,
104
+ workflow: workflow_protos.CreateWorkflowVersionOpts,
105
+ overrides: workflow_protos.CreateWorkflowVersionOpts | None = None,
106
+ ) -> workflow_protos.PutWorkflowRequest:
107
+ if overrides is not None:
108
+ workflow.MergeFrom(overrides)
109
+
110
+ workflow.name = name
111
+
112
+ return workflow_protos.PutWorkflowRequest(
113
+ opts=workflow,
114
+ )
115
+
116
+ def _parse_schedule(
117
+ self, schedule: datetime | timestamp_pb2.Timestamp
118
+ ) -> timestamp_pb2.Timestamp:
119
+ if isinstance(schedule, datetime):
120
+ t = schedule.timestamp()
121
+ seconds = int(t)
122
+ nanos = int(t % 1 * 1e9)
123
+ return timestamp_pb2.Timestamp(seconds=seconds, nanos=nanos)
124
+ elif isinstance(schedule, timestamp_pb2.Timestamp):
125
+ return schedule
126
+ else:
127
+ raise ValueError(
128
+ "Invalid schedule type. Must be datetime or timestamp_pb2.Timestamp."
129
+ )
130
+
131
+ def _prepare_schedule_workflow_request(
132
+ self,
133
+ name: str,
134
+ schedules: list[Union[datetime, timestamp_pb2.Timestamp]],
135
+ input: JSONSerializableMapping = {},
136
+ options: ScheduleTriggerWorkflowOptions = ScheduleTriggerWorkflowOptions(),
137
+ ) -> workflow_protos.ScheduleWorkflowRequest:
138
+ return workflow_protos.ScheduleWorkflowRequest(
139
+ name=name,
140
+ schedules=[self._parse_schedule(schedule) for schedule in schedules],
141
+ input=json.dumps(input),
142
+ **options.model_dump(),
143
+ )
144
+
145
+ ## IMPORTANT: Keep this method's signature in sync with the wrapper in the OTel instrumentor
146
+ @tenacity_retry
147
+ async def aio_run_workflow(
148
+ self,
149
+ workflow_name: str,
150
+ input: JSONSerializableMapping,
151
+ options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
152
+ ) -> WorkflowRunRef:
153
+ ## IMPORTANT: The `pooled_workflow_listener` must be created 1) lazily, and not at `init` time, and 2) on the
154
+ ## main thread. If 1) is not followed, you'll get an error about something being attached to the wrong event
155
+ ## loop. If 2) is not followed, you'll get an error about the event loop not being set up.
156
+ if not self.pooled_workflow_listener:
157
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
158
+
159
+ return await asyncio.to_thread(self.run_workflow, workflow_name, input, options)
160
+
161
+ @tenacity_retry
162
+ async def aio_run_workflows(
163
+ self,
164
+ workflows: list[WorkflowRunDict],
165
+ options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
166
+ ) -> list[WorkflowRunRef]:
167
+ ## IMPORTANT: The `pooled_workflow_listener` must be created 1) lazily, and not at `init` time, and 2) on the
168
+ ## main thread. If 1) is not followed, you'll get an error about something being attached to the wrong event
169
+ ## loop. If 2) is not followed, you'll get an error about the event loop not being set up.
170
+ if not self.pooled_workflow_listener:
171
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
172
+
173
+ return await asyncio.to_thread(self.run_workflows, workflows, options)
174
+
175
+ @tenacity_retry
176
+ async def aio_put_workflow(
177
+ self,
178
+ name: str,
179
+ workflow: workflow_protos.CreateWorkflowVersionOpts,
180
+ overrides: workflow_protos.CreateWorkflowVersionOpts | None = None,
181
+ ) -> workflow_protos.WorkflowVersion:
182
+ ## IMPORTANT: The `pooled_workflow_listener` must be created 1) lazily, and not at `init` time, and 2) on the
183
+ ## main thread. If 1) is not followed, you'll get an error about something being attached to the wrong event
184
+ ## loop. If 2) is not followed, you'll get an error about the event loop not being set up.
185
+ if not self.pooled_workflow_listener:
186
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
187
+
188
+ return await asyncio.to_thread(self.put_workflow, name, workflow, overrides)
189
+
190
+ @tenacity_retry
191
+ async def aio_put_rate_limit(
192
+ self,
193
+ key: str,
194
+ limit: int,
195
+ duration: RateLimitDuration = RateLimitDuration.SECOND,
196
+ ) -> None:
197
+ ## IMPORTANT: The `pooled_workflow_listener` must be created 1) lazily, and not at `init` time, and 2) on the
198
+ ## main thread. If 1) is not followed, you'll get an error about something being attached to the wrong event
199
+ ## loop. If 2) is not followed, you'll get an error about the event loop not being set up.
200
+ if not self.pooled_workflow_listener:
201
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
202
+
203
+ return await asyncio.to_thread(self.put_rate_limit, key, limit, duration)
204
+
205
+ @tenacity_retry
206
+ async def aio_schedule_workflow(
207
+ self,
208
+ name: str,
209
+ schedules: list[Union[datetime, timestamp_pb2.Timestamp]],
210
+ input: JSONSerializableMapping = {},
211
+ options: ScheduleTriggerWorkflowOptions = ScheduleTriggerWorkflowOptions(),
212
+ ) -> workflow_protos.WorkflowVersion:
213
+ ## IMPORTANT: The `pooled_workflow_listener` must be created 1) lazily, and not at `init` time, and 2) on the
214
+ ## main thread. If 1) is not followed, you'll get an error about something being attached to the wrong event
215
+ ## loop. If 2) is not followed, you'll get an error about the event loop not being set up.
216
+ if not self.pooled_workflow_listener:
217
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
218
+
219
+ return await asyncio.to_thread(
220
+ self.schedule_workflow, name, schedules, input, options
221
+ )
222
+
223
+ @tenacity_retry
224
+ def put_workflow(
225
+ self,
226
+ name: str,
227
+ workflow: workflow_protos.CreateWorkflowVersionOpts,
228
+ overrides: workflow_protos.CreateWorkflowVersionOpts | None = None,
229
+ ) -> workflow_protos.WorkflowVersion:
230
+ opts = self._prepare_put_workflow_request(name, workflow, overrides)
231
+
232
+ resp: workflow_protos.WorkflowVersion = self.client.PutWorkflow(
233
+ opts,
234
+ metadata=get_metadata(self.token),
235
+ )
236
+
237
+ return resp
238
+
239
+ @tenacity_retry
240
+ def put_rate_limit(
241
+ self,
242
+ key: str,
243
+ limit: int,
244
+ duration: RateLimitDuration = RateLimitDuration.SECOND,
245
+ ) -> None:
246
+ duration_proto = convert_python_enum_to_proto(
247
+ duration, workflow_protos.RateLimitDuration
248
+ )
249
+ self.client.PutRateLimit(
250
+ workflow_protos.PutRateLimitRequest(
251
+ key=key,
252
+ limit=limit,
253
+ duration=maybe_int_to_str(duration_proto),
254
+ ),
255
+ metadata=get_metadata(self.token),
256
+ )
257
+
258
+ @tenacity_retry
259
+ def schedule_workflow(
260
+ self,
261
+ name: str,
262
+ schedules: list[Union[datetime, timestamp_pb2.Timestamp]],
263
+ input: JSONSerializableMapping = {},
264
+ options: ScheduleTriggerWorkflowOptions = ScheduleTriggerWorkflowOptions(),
265
+ ) -> workflow_protos.WorkflowVersion:
266
+ try:
267
+ namespace = options.namespace or self.namespace
268
+
269
+ if namespace != "" and not name.startswith(self.namespace):
270
+ name = f"{namespace}{name}"
271
+
272
+ request = self._prepare_schedule_workflow_request(
273
+ name, schedules, input, options
274
+ )
275
+
276
+ return cast(
277
+ workflow_protos.WorkflowVersion,
278
+ self.client.ScheduleWorkflow(
279
+ request,
280
+ metadata=get_metadata(self.token),
281
+ ),
282
+ )
283
+ except (grpc.RpcError, grpc.aio.AioRpcError) as e:
284
+ if e.code() == grpc.StatusCode.ALREADY_EXISTS:
285
+ raise DedupeViolationErr(e.details())
286
+
287
+ raise e
288
+
289
+ ## IMPORTANT: Keep this method's signature in sync with the wrapper in the OTel instrumentor
290
+ @tenacity_retry
291
+ def run_workflow(
292
+ self,
293
+ workflow_name: str,
294
+ input: JSONSerializableMapping,
295
+ options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
296
+ ) -> WorkflowRunRef:
297
+ try:
298
+ if not self.pooled_workflow_listener:
299
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
300
+
301
+ namespace = options.namespace or self.namespace
302
+
303
+ if namespace != "" and not workflow_name.startswith(self.namespace):
304
+ workflow_name = f"{namespace}{workflow_name}"
305
+
306
+ request = self._prepare_workflow_request(workflow_name, input, options)
307
+
308
+ resp = cast(
309
+ workflow_protos.TriggerWorkflowResponse,
310
+ self.client.TriggerWorkflow(
311
+ request,
312
+ metadata=get_metadata(self.token),
313
+ ),
314
+ )
315
+
316
+ return WorkflowRunRef(
317
+ workflow_run_id=resp.workflow_run_id,
318
+ workflow_listener=self.pooled_workflow_listener,
319
+ workflow_run_event_listener=self.listener_client,
320
+ )
321
+ except (grpc.RpcError, grpc.aio.AioRpcError) as e:
322
+ if e.code() == grpc.StatusCode.ALREADY_EXISTS:
323
+ raise DedupeViolationErr(e.details())
324
+
325
+ raise e
326
+
327
+ def _prepare_workflow_run_request(
328
+ self, workflow: WorkflowRunDict, options: TriggerWorkflowOptions
329
+ ) -> workflow_protos.TriggerWorkflowRequest:
330
+ workflow_name = workflow.workflow_name
331
+ input_data = workflow.input
332
+ options = workflow.options
333
+
334
+ namespace = options.namespace or self.namespace
335
+
336
+ if namespace != "" and not workflow_name.startswith(self.namespace):
337
+ workflow_name = f"{namespace}{workflow_name}"
338
+
339
+ return self._prepare_workflow_request(workflow_name, input_data, options)
340
+
341
+ ## IMPORTANT: Keep this method's signature in sync with the wrapper in the OTel instrumentor
342
+ @tenacity_retry
343
+ def run_workflows(
344
+ self,
345
+ workflows: list[WorkflowRunDict],
346
+ options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
347
+ ) -> list[WorkflowRunRef]:
348
+ if not self.pooled_workflow_listener:
349
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
350
+
351
+ bulk_request = workflow_protos.BulkTriggerWorkflowRequest(
352
+ workflows=[
353
+ self._prepare_workflow_run_request(workflow, options)
354
+ for workflow in workflows
355
+ ]
356
+ )
357
+
358
+ resp = cast(
359
+ workflow_protos.BulkTriggerWorkflowResponse,
360
+ self.client.BulkTriggerWorkflow(
361
+ bulk_request,
362
+ metadata=get_metadata(self.token),
363
+ ),
364
+ )
365
+
366
+ return [
367
+ WorkflowRunRef(
368
+ workflow_run_id=workflow_run_id,
369
+ workflow_listener=self.pooled_workflow_listener,
370
+ workflow_run_event_listener=self.listener_client,
371
+ )
372
+ for workflow_run_id in resp.workflow_run_ids
373
+ ]
374
+
375
+ def get_workflow_run(self, workflow_run_id: str) -> WorkflowRunRef:
376
+ if not self.pooled_workflow_listener:
377
+ self.pooled_workflow_listener = PooledWorkflowRunListener(self.config)
378
+
379
+ return WorkflowRunRef(
380
+ workflow_run_id=workflow_run_id,
381
+ workflow_listener=self.pooled_workflow_listener,
382
+ workflow_run_event_listener=self.listener_client,
383
+ )