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.
- hatchet_sdk/__init__.py +45 -25
- hatchet_sdk/client.py +19 -94
- hatchet_sdk/clients/admin.py +309 -389
- hatchet_sdk/clients/dispatcher/action_listener.py +131 -109
- hatchet_sdk/clients/dispatcher/dispatcher.py +39 -37
- hatchet_sdk/clients/durable_event_listener.py +327 -0
- hatchet_sdk/clients/event_ts.py +23 -10
- hatchet_sdk/clients/events.py +96 -99
- hatchet_sdk/clients/rest/__init__.py +35 -0
- hatchet_sdk/clients/rest/api/__init__.py +2 -0
- hatchet_sdk/clients/rest/api/log_api.py +258 -0
- hatchet_sdk/clients/rest/api/task_api.py +2200 -0
- hatchet_sdk/clients/rest/api/workflow_runs_api.py +1274 -116
- hatchet_sdk/clients/rest/api_client.py +1 -1
- hatchet_sdk/clients/rest/configuration.py +8 -1
- hatchet_sdk/clients/rest/exceptions.py +21 -0
- hatchet_sdk/clients/rest/models/__init__.py +33 -0
- hatchet_sdk/clients/rest/models/tenant.py +4 -0
- hatchet_sdk/clients/rest/models/tenant_version.py +37 -0
- hatchet_sdk/clients/rest/models/update_tenant_request.py +7 -0
- hatchet_sdk/clients/rest/models/v1_cancel_task_request.py +104 -0
- hatchet_sdk/clients/rest/models/v1_dag_children.py +102 -0
- hatchet_sdk/clients/rest/models/v1_log_line.py +94 -0
- hatchet_sdk/clients/rest/models/v1_log_line_level.py +39 -0
- hatchet_sdk/clients/rest/models/v1_log_line_list.py +110 -0
- hatchet_sdk/clients/rest/models/v1_replay_task_request.py +104 -0
- hatchet_sdk/clients/rest/models/v1_task.py +174 -0
- hatchet_sdk/clients/rest/models/v1_task_event.py +118 -0
- hatchet_sdk/clients/rest/models/v1_task_event_list.py +110 -0
- hatchet_sdk/clients/rest/models/v1_task_event_type.py +55 -0
- hatchet_sdk/clients/rest/models/v1_task_filter.py +106 -0
- hatchet_sdk/clients/rest/models/v1_task_point_metric.py +92 -0
- hatchet_sdk/clients/rest/models/v1_task_point_metrics.py +100 -0
- hatchet_sdk/clients/rest/models/v1_task_run_metric.py +88 -0
- hatchet_sdk/clients/rest/models/v1_task_run_status.py +40 -0
- hatchet_sdk/clients/rest/models/v1_task_status.py +40 -0
- hatchet_sdk/clients/rest/models/v1_task_summary.py +228 -0
- hatchet_sdk/clients/rest/models/v1_task_summary_list.py +110 -0
- hatchet_sdk/clients/rest/models/v1_trigger_workflow_run_request.py +95 -0
- hatchet_sdk/clients/rest/models/v1_workflow_run.py +171 -0
- hatchet_sdk/clients/rest/models/v1_workflow_run_details.py +145 -0
- hatchet_sdk/clients/rest/models/v1_workflow_run_display_name.py +98 -0
- hatchet_sdk/clients/rest/models/v1_workflow_run_display_name_list.py +114 -0
- hatchet_sdk/clients/rest/models/v1_workflow_type.py +37 -0
- hatchet_sdk/clients/rest/models/workflow_run_shape_item_for_workflow_run_details.py +104 -0
- hatchet_sdk/clients/rest/rest.py +37 -26
- hatchet_sdk/clients/rest/tenacity_utils.py +1 -1
- hatchet_sdk/clients/rest_client.py +153 -116
- hatchet_sdk/clients/run_event_listener.py +65 -60
- hatchet_sdk/clients/workflow_listener.py +75 -66
- hatchet_sdk/config.py +117 -0
- hatchet_sdk/connection.py +27 -13
- hatchet_sdk/context/__init__.py +0 -1
- hatchet_sdk/context/context.py +118 -280
- hatchet_sdk/contracts/dispatcher_pb2_grpc.py +1 -1
- hatchet_sdk/contracts/events_pb2.py +2 -2
- hatchet_sdk/contracts/events_pb2_grpc.py +1 -1
- hatchet_sdk/contracts/v1/dispatcher_pb2.py +36 -0
- hatchet_sdk/contracts/v1/dispatcher_pb2.pyi +38 -0
- hatchet_sdk/contracts/v1/dispatcher_pb2_grpc.py +145 -0
- hatchet_sdk/contracts/v1/shared/condition_pb2.py +39 -0
- hatchet_sdk/contracts/v1/shared/condition_pb2.pyi +72 -0
- hatchet_sdk/contracts/v1/shared/condition_pb2_grpc.py +29 -0
- hatchet_sdk/contracts/v1/workflows_pb2.py +67 -0
- hatchet_sdk/contracts/v1/workflows_pb2.pyi +228 -0
- hatchet_sdk/contracts/v1/workflows_pb2_grpc.py +234 -0
- hatchet_sdk/contracts/workflows_pb2_grpc.py +1 -1
- hatchet_sdk/features/cron.py +43 -57
- hatchet_sdk/features/scheduled.py +60 -74
- hatchet_sdk/hatchet.py +491 -218
- hatchet_sdk/labels.py +4 -6
- hatchet_sdk/metadata.py +1 -1
- hatchet_sdk/opentelemetry/instrumentor.py +17 -18
- hatchet_sdk/rate_limit.py +40 -55
- hatchet_sdk/runnables/contextvars.py +12 -0
- hatchet_sdk/runnables/standalone.py +194 -0
- hatchet_sdk/runnables/task.py +144 -0
- hatchet_sdk/runnables/types.py +138 -0
- hatchet_sdk/runnables/workflow.py +764 -0
- hatchet_sdk/token.py +13 -9
- hatchet_sdk/utils/aio_utils.py +0 -119
- hatchet_sdk/utils/proto_enums.py +47 -0
- hatchet_sdk/utils/timedelta_to_expression.py +23 -0
- hatchet_sdk/utils/typing.py +10 -2
- hatchet_sdk/v0/__init__.py +251 -0
- hatchet_sdk/v0/client.py +119 -0
- hatchet_sdk/v0/clients/admin.py +541 -0
- hatchet_sdk/v0/clients/dispatcher/action_listener.py +422 -0
- hatchet_sdk/v0/clients/dispatcher/dispatcher.py +204 -0
- hatchet_sdk/v0/clients/event_ts.py +28 -0
- hatchet_sdk/v0/clients/events.py +182 -0
- hatchet_sdk/v0/clients/rest/__init__.py +307 -0
- hatchet_sdk/v0/clients/rest/api/__init__.py +19 -0
- hatchet_sdk/v0/clients/rest/api/api_token_api.py +858 -0
- hatchet_sdk/v0/clients/rest/api/default_api.py +2259 -0
- hatchet_sdk/v0/clients/rest/api/event_api.py +2548 -0
- hatchet_sdk/v0/clients/rest/api/github_api.py +331 -0
- hatchet_sdk/v0/clients/rest/api/healthcheck_api.py +483 -0
- hatchet_sdk/v0/clients/rest/api/log_api.py +449 -0
- hatchet_sdk/v0/clients/rest/api/metadata_api.py +728 -0
- hatchet_sdk/v0/clients/rest/api/rate_limits_api.py +423 -0
- hatchet_sdk/v0/clients/rest/api/slack_api.py +577 -0
- hatchet_sdk/v0/clients/rest/api/sns_api.py +872 -0
- hatchet_sdk/v0/clients/rest/api/step_run_api.py +2202 -0
- hatchet_sdk/v0/clients/rest/api/tenant_api.py +4430 -0
- hatchet_sdk/v0/clients/rest/api/user_api.py +2888 -0
- hatchet_sdk/v0/clients/rest/api/worker_api.py +858 -0
- hatchet_sdk/v0/clients/rest/api/workflow_api.py +6312 -0
- hatchet_sdk/v0/clients/rest/api/workflow_run_api.py +1932 -0
- hatchet_sdk/v0/clients/rest/api/workflow_runs_api.py +610 -0
- hatchet_sdk/v0/clients/rest/api_client.py +759 -0
- hatchet_sdk/v0/clients/rest/api_response.py +22 -0
- hatchet_sdk/v0/clients/rest/configuration.py +611 -0
- hatchet_sdk/v0/clients/rest/exceptions.py +200 -0
- hatchet_sdk/v0/clients/rest/models/__init__.py +274 -0
- hatchet_sdk/v0/clients/rest/models/accept_invite_request.py +83 -0
- hatchet_sdk/v0/clients/rest/models/api_error.py +102 -0
- hatchet_sdk/v0/clients/rest/models/api_errors.py +100 -0
- hatchet_sdk/v0/clients/rest/models/api_meta.py +144 -0
- hatchet_sdk/v0/clients/rest/models/api_meta_auth.py +85 -0
- hatchet_sdk/v0/clients/rest/models/api_meta_integration.py +88 -0
- hatchet_sdk/v0/clients/rest/models/api_meta_posthog.py +90 -0
- hatchet_sdk/v0/clients/rest/models/api_resource_meta.py +98 -0
- hatchet_sdk/v0/clients/rest/models/api_token.py +105 -0
- hatchet_sdk/v0/clients/rest/models/bulk_create_event_request.py +100 -0
- hatchet_sdk/v0/clients/rest/models/bulk_create_event_response.py +110 -0
- hatchet_sdk/v0/clients/rest/models/cancel_event_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/cancel_step_run_request.py +83 -0
- hatchet_sdk/v0/clients/rest/models/concurrency_limit_strategy.py +39 -0
- hatchet_sdk/v0/clients/rest/models/create_api_token_request.py +92 -0
- hatchet_sdk/v0/clients/rest/models/create_api_token_response.py +83 -0
- hatchet_sdk/v0/clients/rest/models/create_cron_workflow_trigger_request.py +98 -0
- hatchet_sdk/v0/clients/rest/models/create_event_request.py +95 -0
- hatchet_sdk/v0/clients/rest/models/create_pull_request_from_step_run.py +83 -0
- hatchet_sdk/v0/clients/rest/models/create_sns_integration_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/create_tenant_alert_email_group_request.py +83 -0
- hatchet_sdk/v0/clients/rest/models/create_tenant_invite_request.py +86 -0
- hatchet_sdk/v0/clients/rest/models/create_tenant_request.py +84 -0
- hatchet_sdk/v0/clients/rest/models/cron_workflows.py +131 -0
- hatchet_sdk/v0/clients/rest/models/cron_workflows_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/cron_workflows_method.py +37 -0
- hatchet_sdk/v0/clients/rest/models/cron_workflows_order_by_field.py +37 -0
- hatchet_sdk/v0/clients/rest/models/event.py +143 -0
- hatchet_sdk/v0/clients/rest/models/event_data.py +83 -0
- hatchet_sdk/v0/clients/rest/models/event_key_list.py +98 -0
- hatchet_sdk/v0/clients/rest/models/event_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/event_order_by_direction.py +37 -0
- hatchet_sdk/v0/clients/rest/models/event_order_by_field.py +36 -0
- hatchet_sdk/v0/clients/rest/models/event_update_cancel200_response.py +85 -0
- hatchet_sdk/v0/clients/rest/models/event_workflow_run_summary.py +116 -0
- hatchet_sdk/v0/clients/rest/models/events.py +110 -0
- hatchet_sdk/v0/clients/rest/models/get_step_run_diff_response.py +100 -0
- hatchet_sdk/v0/clients/rest/models/github_app_installation.py +107 -0
- hatchet_sdk/v0/clients/rest/models/github_branch.py +86 -0
- hatchet_sdk/v0/clients/rest/models/github_repo.py +86 -0
- hatchet_sdk/v0/clients/rest/models/info_get_version200_response.py +83 -0
- hatchet_sdk/v0/clients/rest/models/job.py +132 -0
- hatchet_sdk/v0/clients/rest/models/job_run.py +176 -0
- hatchet_sdk/v0/clients/rest/models/job_run_status.py +41 -0
- hatchet_sdk/v0/clients/rest/models/link_github_repository_request.py +106 -0
- hatchet_sdk/v0/clients/rest/models/list_api_tokens_response.py +110 -0
- hatchet_sdk/v0/clients/rest/models/list_github_app_installations_response.py +112 -0
- hatchet_sdk/v0/clients/rest/models/list_pull_requests_response.py +100 -0
- hatchet_sdk/v0/clients/rest/models/list_slack_webhooks.py +110 -0
- hatchet_sdk/v0/clients/rest/models/list_sns_integrations.py +110 -0
- hatchet_sdk/v0/clients/rest/models/log_line.py +94 -0
- hatchet_sdk/v0/clients/rest/models/log_line_level.py +39 -0
- hatchet_sdk/v0/clients/rest/models/log_line_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/log_line_order_by_direction.py +37 -0
- hatchet_sdk/v0/clients/rest/models/log_line_order_by_field.py +36 -0
- hatchet_sdk/v0/clients/rest/models/pagination_response.py +95 -0
- hatchet_sdk/v0/clients/rest/models/pull_request.py +112 -0
- hatchet_sdk/v0/clients/rest/models/pull_request_state.py +37 -0
- hatchet_sdk/v0/clients/rest/models/queue_metrics.py +97 -0
- hatchet_sdk/v0/clients/rest/models/rate_limit.py +117 -0
- hatchet_sdk/v0/clients/rest/models/rate_limit_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_direction.py +37 -0
- hatchet_sdk/v0/clients/rest/models/rate_limit_order_by_field.py +38 -0
- hatchet_sdk/v0/clients/rest/models/recent_step_runs.py +118 -0
- hatchet_sdk/v0/clients/rest/models/reject_invite_request.py +83 -0
- hatchet_sdk/v0/clients/rest/models/replay_event_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/replay_workflow_runs_response.py +100 -0
- hatchet_sdk/v0/clients/rest/models/rerun_step_run_request.py +83 -0
- hatchet_sdk/v0/clients/rest/models/schedule_workflow_run_request.py +92 -0
- hatchet_sdk/v0/clients/rest/models/scheduled_run_status.py +42 -0
- hatchet_sdk/v0/clients/rest/models/scheduled_workflows.py +149 -0
- hatchet_sdk/v0/clients/rest/models/scheduled_workflows_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/scheduled_workflows_method.py +37 -0
- hatchet_sdk/v0/clients/rest/models/scheduled_workflows_order_by_field.py +37 -0
- hatchet_sdk/v0/clients/rest/models/semaphore_slots.py +113 -0
- hatchet_sdk/v0/clients/rest/models/slack_webhook.py +127 -0
- hatchet_sdk/v0/clients/rest/models/sns_integration.py +114 -0
- hatchet_sdk/v0/clients/rest/models/step.py +123 -0
- hatchet_sdk/v0/clients/rest/models/step_run.py +202 -0
- hatchet_sdk/v0/clients/rest/models/step_run_archive.py +142 -0
- hatchet_sdk/v0/clients/rest/models/step_run_archive_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/step_run_diff.py +91 -0
- hatchet_sdk/v0/clients/rest/models/step_run_event.py +122 -0
- hatchet_sdk/v0/clients/rest/models/step_run_event_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/step_run_event_reason.py +52 -0
- hatchet_sdk/v0/clients/rest/models/step_run_event_severity.py +38 -0
- hatchet_sdk/v0/clients/rest/models/step_run_status.py +44 -0
- hatchet_sdk/v0/clients/rest/models/tenant.py +118 -0
- hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group.py +98 -0
- hatchet_sdk/v0/clients/rest/models/tenant_alert_email_group_list.py +112 -0
- hatchet_sdk/v0/clients/rest/models/tenant_alerting_settings.py +143 -0
- hatchet_sdk/v0/clients/rest/models/tenant_invite.py +120 -0
- hatchet_sdk/v0/clients/rest/models/tenant_invite_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/tenant_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/tenant_member.py +123 -0
- hatchet_sdk/v0/clients/rest/models/tenant_member_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/tenant_member_role.py +38 -0
- hatchet_sdk/v0/clients/rest/models/tenant_queue_metrics.py +116 -0
- hatchet_sdk/v0/clients/rest/models/tenant_resource.py +40 -0
- hatchet_sdk/v0/clients/rest/models/tenant_resource_limit.py +135 -0
- hatchet_sdk/v0/clients/rest/models/tenant_resource_policy.py +102 -0
- hatchet_sdk/v0/clients/rest/models/tenant_step_run_queue_metrics.py +83 -0
- hatchet_sdk/v0/clients/rest/models/trigger_workflow_run_request.py +91 -0
- hatchet_sdk/v0/clients/rest/models/update_tenant_alert_email_group_request.py +83 -0
- hatchet_sdk/v0/clients/rest/models/update_tenant_invite_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/update_tenant_request.py +137 -0
- hatchet_sdk/v0/clients/rest/models/update_worker_request.py +87 -0
- hatchet_sdk/v0/clients/rest/models/user.py +126 -0
- hatchet_sdk/v0/clients/rest/models/user_change_password_request.py +88 -0
- hatchet_sdk/v0/clients/rest/models/user_login_request.py +86 -0
- hatchet_sdk/v0/clients/rest/models/user_register_request.py +91 -0
- hatchet_sdk/v0/clients/rest/models/user_tenant_memberships_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/user_tenant_public.py +86 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker.py +100 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_create_request.py +94 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_create_response.py +98 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_created.py +102 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_list_response.py +110 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_request.py +102 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_request_list_response.py +104 -0
- hatchet_sdk/v0/clients/rest/models/webhook_worker_request_method.py +38 -0
- hatchet_sdk/v0/clients/rest/models/worker.py +239 -0
- hatchet_sdk/v0/clients/rest/models/worker_label.py +102 -0
- hatchet_sdk/v0/clients/rest/models/worker_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/worker_runtime_info.py +103 -0
- hatchet_sdk/v0/clients/rest/models/worker_runtime_sdks.py +38 -0
- hatchet_sdk/v0/clients/rest/models/worker_type.py +38 -0
- hatchet_sdk/v0/clients/rest/models/workflow.py +165 -0
- hatchet_sdk/v0/clients/rest/models/workflow_concurrency.py +107 -0
- hatchet_sdk/v0/clients/rest/models/workflow_deployment_config.py +136 -0
- hatchet_sdk/v0/clients/rest/models/workflow_kind.py +38 -0
- hatchet_sdk/v0/clients/rest/models/workflow_list.py +120 -0
- hatchet_sdk/v0/clients/rest/models/workflow_metrics.py +97 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run.py +188 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_cancel200_response.py +85 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_list.py +110 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_direction.py +37 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_order_by_field.py +39 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_shape.py +186 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_status.py +42 -0
- hatchet_sdk/v0/clients/rest/models/workflow_run_triggered_by.py +112 -0
- hatchet_sdk/v0/clients/rest/models/workflow_runs_cancel_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics.py +94 -0
- hatchet_sdk/v0/clients/rest/models/workflow_runs_metrics_counts.py +104 -0
- hatchet_sdk/v0/clients/rest/models/workflow_tag.py +84 -0
- hatchet_sdk/v0/clients/rest/models/workflow_trigger_cron_ref.py +86 -0
- hatchet_sdk/v0/clients/rest/models/workflow_trigger_event_ref.py +86 -0
- hatchet_sdk/v0/clients/rest/models/workflow_triggers.py +141 -0
- hatchet_sdk/v0/clients/rest/models/workflow_update_request.py +85 -0
- hatchet_sdk/v0/clients/rest/models/workflow_version.py +170 -0
- hatchet_sdk/v0/clients/rest/models/workflow_version_concurrency.py +114 -0
- hatchet_sdk/v0/clients/rest/models/workflow_version_definition.py +85 -0
- hatchet_sdk/v0/clients/rest/models/workflow_version_meta.py +123 -0
- hatchet_sdk/v0/clients/rest/models/workflow_workers_count.py +95 -0
- hatchet_sdk/v0/clients/rest/rest.py +187 -0
- hatchet_sdk/v0/clients/rest/tenacity_utils.py +39 -0
- hatchet_sdk/v0/clients/rest_client.py +622 -0
- hatchet_sdk/v0/clients/run_event_listener.py +260 -0
- hatchet_sdk/v0/clients/workflow_listener.py +277 -0
- hatchet_sdk/v0/connection.py +63 -0
- hatchet_sdk/v0/context/__init__.py +1 -0
- hatchet_sdk/v0/context/context.py +446 -0
- hatchet_sdk/v0/context/worker_context.py +28 -0
- hatchet_sdk/v0/contracts/dispatcher_pb2.py +102 -0
- hatchet_sdk/v0/contracts/dispatcher_pb2.pyi +387 -0
- hatchet_sdk/v0/contracts/dispatcher_pb2_grpc.py +621 -0
- hatchet_sdk/v0/contracts/events_pb2.py +46 -0
- hatchet_sdk/v0/contracts/events_pb2.pyi +87 -0
- hatchet_sdk/v0/contracts/events_pb2_grpc.py +274 -0
- hatchet_sdk/v0/contracts/workflows_pb2.py +80 -0
- hatchet_sdk/v0/contracts/workflows_pb2.pyi +312 -0
- hatchet_sdk/v0/contracts/workflows_pb2_grpc.py +277 -0
- hatchet_sdk/v0/features/cron.py +286 -0
- hatchet_sdk/v0/features/scheduled.py +248 -0
- hatchet_sdk/v0/hatchet.py +310 -0
- hatchet_sdk/v0/labels.py +10 -0
- hatchet_sdk/v0/logger.py +13 -0
- hatchet_sdk/v0/metadata.py +2 -0
- hatchet_sdk/v0/opentelemetry/instrumentor.py +396 -0
- hatchet_sdk/v0/rate_limit.py +126 -0
- hatchet_sdk/v0/token.py +27 -0
- hatchet_sdk/v0/utils/aio_utils.py +137 -0
- hatchet_sdk/v0/utils/backoff.py +9 -0
- hatchet_sdk/v0/utils/typing.py +12 -0
- hatchet_sdk/{v2 → v0/v2}/callable.py +8 -8
- hatchet_sdk/{v2 → v0/v2}/concurrency.py +2 -2
- hatchet_sdk/{v2 → v0/v2}/hatchet.py +10 -10
- hatchet_sdk/v0/worker/__init__.py +1 -0
- hatchet_sdk/v0/worker/action_listener_process.py +294 -0
- hatchet_sdk/v0/worker/runner/run_loop_manager.py +112 -0
- hatchet_sdk/v0/worker/runner/runner.py +460 -0
- hatchet_sdk/v0/worker/runner/utils/capture_logs.py +81 -0
- hatchet_sdk/v0/worker/worker.py +391 -0
- hatchet_sdk/{workflow.py → v0/workflow.py} +4 -4
- hatchet_sdk/v0/workflow_run.py +59 -0
- hatchet_sdk/waits.py +120 -0
- hatchet_sdk/worker/__init__.py +0 -1
- hatchet_sdk/worker/action_listener_process.py +80 -55
- hatchet_sdk/worker/runner/run_loop_manager.py +46 -34
- hatchet_sdk/worker/runner/runner.py +82 -87
- hatchet_sdk/worker/runner/utils/capture_logs.py +26 -23
- hatchet_sdk/worker/worker.py +172 -149
- hatchet_sdk/workflow_run.py +7 -21
- {hatchet_sdk-0.47.1.dist-info → hatchet_sdk-1.0.0a1.dist-info}/METADATA +2 -2
- hatchet_sdk-1.0.0a1.dist-info/RECORD +505 -0
- {hatchet_sdk-0.47.1.dist-info → hatchet_sdk-1.0.0a1.dist-info}/entry_points.txt +2 -0
- hatchet_sdk/utils/serialization.py +0 -18
- hatchet_sdk-0.47.1.dist-info/RECORD +0 -237
- /hatchet_sdk/{loader.py → v0/loader.py} +0 -0
- /hatchet_sdk/{semver.py → v0/semver.py} +0 -0
- /hatchet_sdk/{utils → v0/utils}/types.py +0 -0
- /hatchet_sdk/{worker → v0/worker}/runner/utils/error_with_traceback.py +0 -0
- {hatchet_sdk-0.47.1.dist-info → hatchet_sdk-1.0.0a1.dist-info}/WHEEL +0 -0
hatchet_sdk/__init__.py
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
from hatchet_sdk.clients.admin import (
|
|
2
|
+
DedupeViolationErr,
|
|
3
|
+
ScheduleTriggerWorkflowOptions,
|
|
4
|
+
TriggerWorkflowOptions,
|
|
5
|
+
)
|
|
6
|
+
from hatchet_sdk.clients.durable_event_listener import RegisterDurableEventRequest
|
|
7
|
+
from hatchet_sdk.clients.events import PushEventOptions
|
|
1
8
|
from hatchet_sdk.clients.rest.models.accept_invite_request import AcceptInviteRequest
|
|
2
9
|
|
|
3
10
|
# import models into sdk package
|
|
@@ -68,7 +75,6 @@ from hatchet_sdk.clients.rest.models.pull_request_state import PullRequestState
|
|
|
68
75
|
from hatchet_sdk.clients.rest.models.reject_invite_request import RejectInviteRequest
|
|
69
76
|
from hatchet_sdk.clients.rest.models.replay_event_request import ReplayEventRequest
|
|
70
77
|
from hatchet_sdk.clients.rest.models.rerun_step_run_request import RerunStepRunRequest
|
|
71
|
-
from hatchet_sdk.clients.rest.models.step import Step
|
|
72
78
|
from hatchet_sdk.clients.rest.models.step_run import StepRun
|
|
73
79
|
from hatchet_sdk.clients.rest.models.step_run_diff import StepRunDiff
|
|
74
80
|
from hatchet_sdk.clients.rest.models.step_run_status import StepRunStatus
|
|
@@ -117,29 +123,37 @@ from hatchet_sdk.clients.rest.models.workflow_version_definition import (
|
|
|
117
123
|
WorkflowVersionDefinition,
|
|
118
124
|
)
|
|
119
125
|
from hatchet_sdk.clients.rest.models.workflow_version_meta import WorkflowVersionMeta
|
|
126
|
+
from hatchet_sdk.clients.run_event_listener import (
|
|
127
|
+
StepRunEventType,
|
|
128
|
+
WorkflowRunEventType,
|
|
129
|
+
)
|
|
130
|
+
from hatchet_sdk.config import ClientConfig
|
|
131
|
+
from hatchet_sdk.context.context import Context, DurableContext
|
|
132
|
+
from hatchet_sdk.context.worker_context import WorkerContext
|
|
120
133
|
from hatchet_sdk.contracts.workflows_pb2 import (
|
|
121
|
-
ConcurrencyLimitStrategy,
|
|
122
134
|
CreateWorkflowVersionOpts,
|
|
123
135
|
RateLimitDuration,
|
|
124
|
-
StickyStrategy,
|
|
125
136
|
WorkerLabelComparator,
|
|
126
137
|
)
|
|
127
|
-
from hatchet_sdk.
|
|
128
|
-
|
|
129
|
-
from .
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
from hatchet_sdk.hatchet import Hatchet
|
|
139
|
+
from hatchet_sdk.runnables.task import Task
|
|
140
|
+
from hatchet_sdk.runnables.types import (
|
|
141
|
+
ConcurrencyExpression,
|
|
142
|
+
ConcurrencyLimitStrategy,
|
|
143
|
+
EmptyModel,
|
|
144
|
+
StickyStrategy,
|
|
145
|
+
TaskDefaults,
|
|
146
|
+
WorkflowConfig,
|
|
147
|
+
)
|
|
148
|
+
from hatchet_sdk.waits import (
|
|
149
|
+
Condition,
|
|
150
|
+
OrGroup,
|
|
151
|
+
ParentCondition,
|
|
152
|
+
SleepCondition,
|
|
153
|
+
UserEventCondition,
|
|
154
|
+
or_,
|
|
135
155
|
)
|
|
136
|
-
from .
|
|
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
|
|
156
|
+
from hatchet_sdk.worker.worker import Worker, WorkerStartOptions, WorkerStatus
|
|
143
157
|
|
|
144
158
|
__all__ = [
|
|
145
159
|
"AcceptInviteRequest",
|
|
@@ -184,11 +198,9 @@ __all__ = [
|
|
|
184
198
|
"RejectInviteRequest",
|
|
185
199
|
"ReplayEventRequest",
|
|
186
200
|
"RerunStepRunRequest",
|
|
187
|
-
"Step",
|
|
188
201
|
"StepRun",
|
|
189
202
|
"StepRunDiff",
|
|
190
203
|
"StepRunStatus",
|
|
191
|
-
"sync_to_async",
|
|
192
204
|
"Tenant",
|
|
193
205
|
"TenantInvite",
|
|
194
206
|
"TenantInviteList",
|
|
@@ -224,8 +236,6 @@ __all__ = [
|
|
|
224
236
|
"CreateWorkflowVersionOpts",
|
|
225
237
|
"RateLimitDuration",
|
|
226
238
|
"StickyStrategy",
|
|
227
|
-
"new_client",
|
|
228
|
-
"ChildTriggerWorkflowOptions",
|
|
229
239
|
"DedupeViolationErr",
|
|
230
240
|
"ScheduleTriggerWorkflowOptions",
|
|
231
241
|
"TriggerWorkflowOptions",
|
|
@@ -236,12 +246,22 @@ __all__ = [
|
|
|
236
246
|
"WorkerContext",
|
|
237
247
|
"ClientConfig",
|
|
238
248
|
"Hatchet",
|
|
239
|
-
"concurrency",
|
|
240
|
-
"on_failure_step",
|
|
241
|
-
"step",
|
|
242
249
|
"workflow",
|
|
243
250
|
"Worker",
|
|
244
251
|
"WorkerStartOptions",
|
|
245
252
|
"WorkerStatus",
|
|
246
253
|
"ConcurrencyExpression",
|
|
254
|
+
"Workflow",
|
|
255
|
+
"WorkflowConfig",
|
|
256
|
+
"Task",
|
|
257
|
+
"EmptyModel",
|
|
258
|
+
"Condition",
|
|
259
|
+
"OrGroup",
|
|
260
|
+
"or_",
|
|
261
|
+
"SleepCondition",
|
|
262
|
+
"UserEventCondition",
|
|
263
|
+
"ParentCondition",
|
|
264
|
+
"DurableContext",
|
|
265
|
+
"RegisterDurableEventRequest",
|
|
266
|
+
"TaskDefaults",
|
|
247
267
|
]
|
hatchet_sdk/client.py
CHANGED
|
@@ -1,93 +1,26 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
-
from logging import Logger
|
|
3
|
-
from typing import Callable
|
|
4
2
|
|
|
5
3
|
import grpc
|
|
6
4
|
|
|
5
|
+
from hatchet_sdk.clients.admin import AdminClient
|
|
6
|
+
from hatchet_sdk.clients.dispatcher.dispatcher import DispatcherClient
|
|
7
|
+
from hatchet_sdk.clients.events import EventClient, new_event
|
|
8
|
+
from hatchet_sdk.clients.rest_client import RestApi
|
|
7
9
|
from hatchet_sdk.clients.run_event_listener import RunEventListenerClient
|
|
8
10
|
from hatchet_sdk.clients.workflow_listener import PooledWorkflowRunListener
|
|
11
|
+
from hatchet_sdk.config import ClientConfig
|
|
9
12
|
from hatchet_sdk.connection import new_conn
|
|
10
13
|
|
|
11
|
-
from .clients.admin import AdminClient, new_admin
|
|
12
|
-
from .clients.dispatcher.dispatcher import DispatcherClient, new_dispatcher
|
|
13
|
-
from .clients.events import EventClient, new_event
|
|
14
|
-
from .clients.rest_client import RestApi
|
|
15
|
-
from .loader import ClientConfig, ConfigLoader
|
|
16
|
-
|
|
17
14
|
|
|
18
15
|
class Client:
|
|
19
|
-
admin: AdminClient
|
|
20
|
-
dispatcher: DispatcherClient
|
|
21
|
-
event: EventClient
|
|
22
|
-
rest: RestApi
|
|
23
|
-
workflow_listener: PooledWorkflowRunListener
|
|
24
|
-
logInterceptor: Logger
|
|
25
|
-
debug: bool = False
|
|
26
|
-
|
|
27
|
-
@classmethod
|
|
28
|
-
def from_environment(
|
|
29
|
-
cls,
|
|
30
|
-
defaults: ClientConfig = ClientConfig(),
|
|
31
|
-
debug: bool = False,
|
|
32
|
-
*opts_functions: Callable[[ClientConfig], None],
|
|
33
|
-
):
|
|
34
|
-
try:
|
|
35
|
-
loop = asyncio.get_running_loop()
|
|
36
|
-
except RuntimeError:
|
|
37
|
-
loop = asyncio.new_event_loop()
|
|
38
|
-
asyncio.set_event_loop(loop)
|
|
39
|
-
|
|
40
|
-
config: ClientConfig = ConfigLoader(".").load_client_config(defaults)
|
|
41
|
-
for opt_function in opts_functions:
|
|
42
|
-
opt_function(config)
|
|
43
|
-
|
|
44
|
-
return cls.from_config(config, debug)
|
|
45
|
-
|
|
46
|
-
@classmethod
|
|
47
|
-
def from_config(
|
|
48
|
-
cls,
|
|
49
|
-
config: ClientConfig = ClientConfig(),
|
|
50
|
-
debug: bool = False,
|
|
51
|
-
):
|
|
52
|
-
try:
|
|
53
|
-
loop = asyncio.get_running_loop()
|
|
54
|
-
except RuntimeError:
|
|
55
|
-
loop = asyncio.new_event_loop()
|
|
56
|
-
asyncio.set_event_loop(loop)
|
|
57
|
-
|
|
58
|
-
if config.tls_config is None:
|
|
59
|
-
raise ValueError("TLS config is required")
|
|
60
|
-
|
|
61
|
-
if config.host_port is None:
|
|
62
|
-
raise ValueError("Host and port are required")
|
|
63
|
-
|
|
64
|
-
conn: grpc.Channel = new_conn(config)
|
|
65
|
-
|
|
66
|
-
# Instantiate clients
|
|
67
|
-
event_client = new_event(conn, config)
|
|
68
|
-
admin_client = new_admin(config)
|
|
69
|
-
dispatcher_client = new_dispatcher(config)
|
|
70
|
-
rest_client = RestApi(config.server_url, config.token, config.tenant_id)
|
|
71
|
-
workflow_listener = None # Initialize this if needed
|
|
72
|
-
|
|
73
|
-
return cls(
|
|
74
|
-
event_client,
|
|
75
|
-
admin_client,
|
|
76
|
-
dispatcher_client,
|
|
77
|
-
workflow_listener,
|
|
78
|
-
rest_client,
|
|
79
|
-
config,
|
|
80
|
-
debug,
|
|
81
|
-
)
|
|
82
|
-
|
|
83
16
|
def __init__(
|
|
84
17
|
self,
|
|
85
|
-
event_client: EventClient,
|
|
86
|
-
admin_client: AdminClient,
|
|
87
|
-
dispatcher_client: DispatcherClient,
|
|
88
|
-
workflow_listener: PooledWorkflowRunListener,
|
|
89
|
-
rest_client: RestApi,
|
|
90
18
|
config: ClientConfig,
|
|
19
|
+
event_client: EventClient | None = None,
|
|
20
|
+
admin_client: AdminClient | None = None,
|
|
21
|
+
dispatcher_client: DispatcherClient | None = None,
|
|
22
|
+
workflow_listener: PooledWorkflowRunListener | None | None = None,
|
|
23
|
+
rest_client: RestApi | None = None,
|
|
91
24
|
debug: bool = False,
|
|
92
25
|
):
|
|
93
26
|
try:
|
|
@@ -96,24 +29,16 @@ class Client:
|
|
|
96
29
|
loop = asyncio.new_event_loop()
|
|
97
30
|
asyncio.set_event_loop(loop)
|
|
98
31
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
self.event = event_client
|
|
102
|
-
self.rest = rest_client
|
|
32
|
+
conn: grpc.Channel = new_conn(config, False)
|
|
33
|
+
|
|
103
34
|
self.config = config
|
|
35
|
+
self.admin = admin_client or AdminClient(config)
|
|
36
|
+
self.dispatcher = dispatcher_client or DispatcherClient(config)
|
|
37
|
+
self.event = event_client or new_event(conn, config)
|
|
38
|
+
self.rest = rest_client or RestApi(
|
|
39
|
+
config.server_url, config.token, config.tenant_id
|
|
40
|
+
)
|
|
104
41
|
self.listener = RunEventListenerClient(config)
|
|
105
42
|
self.workflow_listener = workflow_listener
|
|
106
|
-
self.logInterceptor = config.
|
|
43
|
+
self.logInterceptor = config.logger
|
|
107
44
|
self.debug = debug
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
def with_host_port(host: str, port: int):
|
|
111
|
-
def with_host_port_impl(config: ClientConfig):
|
|
112
|
-
config.host = host
|
|
113
|
-
config.port = port
|
|
114
|
-
|
|
115
|
-
return with_host_port_impl
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
new_client = Client.from_environment
|
|
119
|
-
new_client_raw = Client.from_config
|