Skip to content
This repository was archived by the owner on Feb 20, 2025. It is now read-only.

Commit 292fd4d

Browse files
committed
more helpful type hint
1 parent 9000d51 commit 292fd4d

File tree

9 files changed

+52
-53
lines changed

9 files changed

+52
-53
lines changed

hatchet_sdk/clients/admin.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
inject_carrier_into_metadata,
3232
parse_carrier_from_metadata,
3333
)
34-
from hatchet_sdk.utils.types import AdditionalMetadata, Input
34+
from hatchet_sdk.utils.types import JSONSerializableDict
3535
from hatchet_sdk.workflow_run import RunRef, WorkflowRunRef
3636

3737
from ..loader import ClientConfig
@@ -52,26 +52,26 @@ class ScheduleTriggerWorkflowOptions(BaseModel):
5252

5353

5454
class ChildTriggerWorkflowOptions(BaseModel):
55-
additional_metadata: AdditionalMetadata = Field(default_factory=dict)
55+
additional_metadata: JSONSerializableDict = Field(default_factory=dict)
5656
sticky: bool | None = None
5757

5858

5959
class ChildWorkflowRunDict(BaseModel):
6060
workflow_name: str
61-
input: Input
61+
input: JSONSerializableDict
6262
options: ChildTriggerWorkflowOptions
6363
key: str | None = None
6464

6565

6666
class TriggerWorkflowOptions(ScheduleTriggerWorkflowOptions):
67-
additional_metadata: AdditionalMetadata = Field(default_factory=dict)
67+
additional_metadata: JSONSerializableDict = Field(default_factory=dict)
6868
desired_worker_id: str | None = None
6969
namespace: str | None = None
7070

7171

7272
class WorkflowRunDict(BaseModel):
7373
workflow_name: str
74-
input: Input
74+
input: JSONSerializableDict
7575
options: TriggerWorkflowOptions
7676

7777

@@ -133,7 +133,7 @@ def _prepare_schedule_workflow_request(
133133
self,
134134
name: str,
135135
schedules: list[Union[datetime, timestamp_pb2.Timestamp]],
136-
input: Input = {},
136+
input: JSONSerializableDict = {},
137137
options: ScheduleTriggerWorkflowOptions = ScheduleTriggerWorkflowOptions(),
138138
) -> ScheduleWorkflowRequest:
139139
timestamp_schedules = []
@@ -175,7 +175,7 @@ def __init__(self, config: ClientConfig):
175175
async def run(
176176
self,
177177
function: Union[str, Callable[[Any], T]],
178-
input: Input,
178+
input: JSONSerializableDict,
179179
options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
180180
) -> "RunRef[T]":
181181
workflow_name = cast(
@@ -197,7 +197,7 @@ async def run(
197197
async def run_workflow(
198198
self,
199199
workflow_name: str,
200-
input: Input,
200+
input: JSONSerializableDict,
201201
options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
202202
) -> WorkflowRunRef:
203203
ctx = parse_carrier_from_metadata(options.additional_metadata)
@@ -335,7 +335,7 @@ async def schedule_workflow(
335335
self,
336336
name: str,
337337
schedules: list[Union[datetime, timestamp_pb2.Timestamp]],
338-
input: Input = {},
338+
input: JSONSerializableDict = {},
339339
options: ScheduleTriggerWorkflowOptions = ScheduleTriggerWorkflowOptions(),
340340
) -> WorkflowVersion:
341341
try:
@@ -410,7 +410,7 @@ def schedule_workflow(
410410
self,
411411
name: str,
412412
schedules: list[Union[datetime, timestamp_pb2.Timestamp]],
413-
input: Input = {},
413+
input: JSONSerializableDict = {},
414414
options: ScheduleTriggerWorkflowOptions = ScheduleTriggerWorkflowOptions(),
415415
) -> WorkflowVersion:
416416
try:
@@ -442,7 +442,7 @@ def schedule_workflow(
442442
def run_workflow(
443443
self,
444444
workflow_name: str,
445-
input: Input,
445+
input: JSONSerializableDict,
446446
options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
447447
) -> WorkflowRunRef:
448448
ctx = parse_carrier_from_metadata(options.additional_metadata)
@@ -542,7 +542,7 @@ def run_workflows(
542542
def run(
543543
self,
544544
function: Union[str, Callable[[Any], T]],
545-
input: Input,
545+
input: JSONSerializableDict,
546546
options: TriggerWorkflowOptions = TriggerWorkflowOptions(),
547547
) -> "RunRef[T]":
548548
workflow_name = cast(

hatchet_sdk/clients/dispatcher/action_listener.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from hatchet_sdk.logger import logger
2525
from hatchet_sdk.utils.backoff import exp_backoff_sleep
2626
from hatchet_sdk.utils.serialization import flatten
27-
from hatchet_sdk.utils.types import AdditionalMetadata
27+
from hatchet_sdk.utils.types import JSONSerializableDict
2828

2929
from ...loader import ClientConfig
3030
from ...metadata import get_metadata
@@ -72,7 +72,7 @@ class Action:
7272
action_payload: str
7373
action_type: ActionType
7474
retry_count: int
75-
additional_metadata: AdditionalMetadata = field(default_factory=dict)
75+
additional_metadata: JSONSerializableDict = field(default_factory=dict)
7676

7777
child_workflow_index: int | None = None
7878
child_workflow_key: str | None = None

hatchet_sdk/clients/events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
inject_carrier_into_metadata,
2626
parse_carrier_from_metadata,
2727
)
28-
from hatchet_sdk.utils.types import AdditionalMetadata
28+
from hatchet_sdk.utils.types import JSONSerializableDict
2929

3030
from ..loader import ClientConfig
3131
from ..metadata import get_metadata
@@ -47,7 +47,7 @@ def proto_timestamp_now() -> timestamp_pb2.Timestamp:
4747

4848

4949
class PushEventOptions(BaseModel):
50-
additional_metadata: AdditionalMetadata = Field(default_factory=dict)
50+
additional_metadata: JSONSerializableDict = Field(default_factory=dict)
5151
namespace: str | None = None
5252

5353

@@ -59,7 +59,7 @@ class BulkPushEventOptions(BaseModel):
5959
class BulkPushEventWithMetadata(BaseModel):
6060
key: str
6161
payload: Any
62-
additional_metadata: AdditionalMetadata = Field(default_factory=dict)
62+
additional_metadata: JSONSerializableDict = Field(default_factory=dict)
6363

6464

6565
class EventClient:

hatchet_sdk/clients/rest_client.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
WorkflowRunsCancelRequest,
6767
)
6868
from hatchet_sdk.clients.rest.models.workflow_version import WorkflowVersion
69-
from hatchet_sdk.utils.types import AdditionalMetadata, Input
69+
from hatchet_sdk.utils.types import JSONSerializableDict
7070

7171

7272
class AsyncRestApi:
@@ -212,7 +212,7 @@ async def workflow_run_bulk_cancel(
212212
async def workflow_run_create(
213213
self,
214214
workflow_id: str,
215-
input: Input,
215+
input: JSONSerializableDict,
216216
version: str | None = None,
217217
additional_metadata: list[str] | None = None,
218218
) -> WorkflowRun:
@@ -230,8 +230,8 @@ async def cron_create(
230230
workflow_name: str,
231231
cron_name: str,
232232
expression: str,
233-
input: Input,
234-
additional_metadata: AdditionalMetadata,
233+
input: JSONSerializableDict,
234+
additional_metadata: JSONSerializableDict,
235235
):
236236
return await self.workflow_run_api.cron_workflow_trigger_create(
237237
tenant=self.tenant_id,
@@ -279,8 +279,8 @@ async def schedule_create(
279279
self,
280280
name: str,
281281
trigger_at: datetime.datetime,
282-
input: Input,
283-
additional_metadata: AdditionalMetadata,
282+
input: JSONSerializableDict,
283+
additional_metadata: JSONSerializableDict,
284284
):
285285
return await self.workflow_run_api.scheduled_workflow_run_create(
286286
tenant=self.tenant_id,
@@ -471,7 +471,7 @@ def workflow_run_bulk_cancel(
471471
def workflow_run_create(
472472
self,
473473
workflow_id: str,
474-
input: Input,
474+
input: JSONSerializableDict,
475475
version: str | None = None,
476476
additional_metadata: list[str] | None = None,
477477
) -> WorkflowRun:
@@ -486,8 +486,8 @@ def cron_create(
486486
workflow_name: str,
487487
cron_name: str,
488488
expression: str,
489-
input: Input,
490-
additional_metadata: AdditionalMetadata,
489+
input: JSONSerializableDict,
490+
additional_metadata: JSONSerializableDict,
491491
) -> CronWorkflows:
492492
return self._run_coroutine(
493493
self.aio.cron_create(
@@ -525,8 +525,8 @@ def schedule_create(
525525
self,
526526
workflow_name: str,
527527
trigger_at: datetime.datetime,
528-
input: Input,
529-
additional_metadata: AdditionalMetadata,
528+
input: JSONSerializableDict,
529+
additional_metadata: JSONSerializableDict,
530530
):
531531
return self._run_coroutine(
532532
self.aio.schedule_create(

hatchet_sdk/context/context.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
BulkTriggerWorkflowRequest,
1919
TriggerWorkflowRequest,
2020
)
21-
from hatchet_sdk.utils.types import Input, WorkflowValidator
21+
from hatchet_sdk.utils.types import JSONSerializableDict, WorkflowValidator
2222
from hatchet_sdk.utils.typing import is_basemodel_subclass
2323
from hatchet_sdk.workflow_run import WorkflowRunRef
2424

@@ -101,7 +101,7 @@ def __init__(
101101
async def spawn_workflow(
102102
self,
103103
workflow_name: str,
104-
input: Input = {},
104+
input: JSONSerializableDict = {},
105105
key: str | None = None,
106106
options: ChildTriggerWorkflowOptions = ChildTriggerWorkflowOptions(),
107107
) -> WorkflowRunRef:

hatchet_sdk/features/cron.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
from hatchet_sdk.clients.rest.models.workflow_run_order_by_direction import (
1212
WorkflowRunOrderByDirection,
1313
)
14-
from hatchet_sdk.utils.types import AdditionalMetadata, Input
14+
from hatchet_sdk.utils.types import JSONSerializableDict
1515

1616

17-
class CreateCronTriggerInput(BaseModel):
17+
class CreateCronTriggerJSONSerializableDict(BaseModel):
1818
"""
1919
Schema for creating a workflow run triggered by a cron.
2020
@@ -25,8 +25,8 @@ class CreateCronTriggerInput(BaseModel):
2525
"""
2626

2727
expression: str = None
28-
input: Input = Field(default_factory=dict)
29-
additional_metadata: AdditionalMetadata = Field(default_factory=dict)
28+
input: JSONSerializableDict = Field(default_factory=dict)
29+
additional_metadata: JSONSerializableDict = Field(default_factory=dict)
3030

3131
@field_validator("expression")
3232
def validate_cron_expression(cls, v):
@@ -87,8 +87,8 @@ def create(
8787
workflow_name: str,
8888
cron_name: str,
8989
expression: str,
90-
input: Input,
91-
additional_metadata: AdditionalMetadata,
90+
input: JSONSerializableDict,
91+
additional_metadata: JSONSerializableDict,
9292
) -> CronWorkflows:
9393
"""
9494
Creates a new workflow cron trigger.
@@ -103,7 +103,7 @@ def create(
103103
Returns:
104104
CronWorkflows: The created cron workflow instance.
105105
"""
106-
validated_input = CreateCronTriggerInput(
106+
validated_input = CreateCronTriggerJSONSerializableDict(
107107
expression=expression, input=input, additional_metadata=additional_metadata
108108
)
109109

@@ -199,8 +199,8 @@ async def create(
199199
workflow_name: str,
200200
cron_name: str,
201201
expression: str,
202-
input: Input,
203-
additional_metadata: AdditionalMetadata,
202+
input: JSONSerializableDict,
203+
additional_metadata: JSONSerializableDict,
204204
) -> CronWorkflows:
205205
"""
206206
Asynchronously creates a new workflow cron trigger.
@@ -215,7 +215,7 @@ async def create(
215215
Returns:
216216
CronWorkflows: The created cron workflow instance.
217217
"""
218-
validated_input = CreateCronTriggerInput(
218+
validated_input = CreateCronTriggerJSONSerializableDict(
219219
expression=expression, input=input, additional_metadata=additional_metadata
220220
)
221221

hatchet_sdk/features/scheduled.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
from hatchet_sdk.clients.rest.models.workflow_run_order_by_direction import (
1616
WorkflowRunOrderByDirection,
1717
)
18-
from hatchet_sdk.utils.types import AdditionalMetadata, Input
18+
from hatchet_sdk.utils.types import JSONSerializableDict
1919

2020

21-
class CreateScheduledTriggerInput(BaseModel):
21+
class CreateScheduledTriggerJSONSerializableDict(BaseModel):
2222
"""
2323
Schema for creating a scheduled workflow run.
2424
@@ -28,8 +28,8 @@ class CreateScheduledTriggerInput(BaseModel):
2828
trigger_at (Optional[datetime.datetime]): The datetime when the run should be triggered.
2929
"""
3030

31-
input: Input = Field(default_factory=dict)
32-
additional_metadata: AdditionalMetadata = Field(default_factory=dict)
31+
input: JSONSerializableDict = Field(default_factory=dict)
32+
additional_metadata: JSONSerializableDict = Field(default_factory=dict)
3333
trigger_at: datetime.datetime | None = None
3434

3535

@@ -58,8 +58,8 @@ def create(
5858
self,
5959
workflow_name: str,
6060
trigger_at: datetime.datetime,
61-
input: Input,
62-
additional_metadata: AdditionalMetadata,
61+
input: JSONSerializableDict,
62+
additional_metadata: JSONSerializableDict,
6363
) -> ScheduledWorkflows:
6464
"""
6565
Creates a new scheduled workflow run asynchronously.
@@ -74,7 +74,7 @@ def create(
7474
ScheduledWorkflows: The created scheduled workflow instance.
7575
"""
7676

77-
validated_input = CreateScheduledTriggerInput(
77+
validated_input = CreateScheduledTriggerJSONSerializableDict(
7878
trigger_at=trigger_at, input=input, additional_metadata=additional_metadata
7979
)
8080

@@ -168,8 +168,8 @@ async def create(
168168
self,
169169
workflow_name: str,
170170
trigger_at: datetime.datetime,
171-
input: Input,
172-
additional_metadata: AdditionalMetadata,
171+
input: JSONSerializableDict,
172+
additional_metadata: JSONSerializableDict,
173173
) -> ScheduledWorkflows:
174174
"""
175175
Creates a new scheduled workflow run asynchronously.

hatchet_sdk/utils/types.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,4 @@ class WorkflowValidator(BaseModel):
88
step_output: Type[BaseModel] | None = None
99

1010

11-
AdditionalMetadata = dict[str, Any]
12-
Input = dict[str, Any]
11+
JSONSerializableDict = dict[str, Any]

hatchet_sdk/v2/callable.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from hatchet_sdk.labels import DesiredWorkerLabel
2727
from hatchet_sdk.logger import logger
2828
from hatchet_sdk.rate_limit import RateLimit
29-
from hatchet_sdk.utils.types import Input
29+
from hatchet_sdk.utils.types import JSONSerializableDict
3030
from hatchet_sdk.v2.concurrency import ConcurrencyFunction
3131
from hatchet_sdk.workflow_run import RunRef
3232

@@ -177,7 +177,7 @@ class DurableContext(Context):
177177
def run(
178178
self,
179179
function: str | Callable[[Context], Any],
180-
input: Input = {},
180+
input: JSONSerializableDict = {},
181181
key: str | None = None,
182182
options: ChildTriggerWorkflowOptions | None = None,
183183
) -> "RunRef[T]":

0 commit comments

Comments
 (0)