Skip to content

Commit d3387c1

Browse files
feat(python): rename taskIdentifier to taskSlug (#187)
GitOrigin-RevId: 2967e7a87ecf72121819e1c5be51040ed306edc8
1 parent f673074 commit d3387c1

9 files changed

Lines changed: 71 additions & 73 deletions

File tree

python/example/client/async_main.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@ async def main():
2525
# Create client (uses RENDER_API_KEY from environment)
2626
render = RenderAsync()
2727

28-
# Replace with your workflow slug and task identifier
29-
task_identifier = "my-workflow-slug/task-name"
28+
# Replace with your workflow slug and task name
29+
task_slug = "my-workflow-slug/task-name"
3030
# Input data can be specified as a list of positional arguments or a
3131
# dictionary of named arguments
3232
input_data: dict[str, Any] = {"arg1": 3}
3333

3434
# run_task() starts a task and waits for the result in one call
35-
result = await render.workflows.run_task(task_identifier, input_data)
35+
result = await render.workflows.run_task(task_slug, input_data)
3636
print(f"Task completed: {result.status}, results: {result.results}")
3737

3838
# start_task() returns an awaitable task run for fire-and-forget or deferred waiting
39-
task_run = await render.workflows.start_task(task_identifier, input_data)
39+
task_run = await render.workflows.start_task(task_slug, input_data)
4040
print(f"Task started with ID: {task_run.id}")
4141

4242
# Wait for task completion by awaiting the task run
@@ -50,7 +50,7 @@ async def main():
5050

5151
# Stream task run events directly. This is useful when you want to monitor
5252
# multiple task runs or handle events as they arrive.
53-
task_run2 = await render.workflows.start_task(task_identifier, input_data)
53+
task_run2 = await render.workflows.start_task(task_slug, input_data)
5454
print("Streaming task run events...")
5555
async for event in render.workflows.task_run_events([task_run2.id]):
5656
print(f" Event: {event.id} status={event.status}")
@@ -62,7 +62,7 @@ async def main():
6262
print(f"Task run details: {details.id} status={details.status}")
6363

6464
# Cancel a task run
65-
task_run3 = await render.workflows.start_task(task_identifier, input_data)
65+
task_run3 = await render.workflows.start_task(task_slug, input_data)
6666
await render.workflows.cancel_task_run(task_run3.id)
6767
print(f"Cancelled task run: {task_run3.id}")
6868

python/example/client/main.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,37 @@
2121
# Create client (uses RENDER_API_KEY from environment)
2222
render = Render()
2323

24-
# Replace with your workflow slug and task identifier
25-
task_identifier = "my-workflow-slug/task-name"
24+
# Replace with your workflow slug and task name
25+
task_slug = "my-workflow-slug/task-name"
2626
# Input data can be specified as a list of positional arguments or a
2727
# dictionary of named arguments
2828
input_data: dict[str, Any] = {"arg1": 3}
2929

3030
# run_task() starts a task and waits for the result in one call
3131
try:
32-
result = render.workflows.run_task(task_identifier, input_data)
32+
result = render.workflows.run_task(task_slug, input_data)
3333
print(f"Task completed: {result.status}, results: {result.results}")
3434
except TaskRunError as e:
3535
print(f"Task failed or was cancelled: {e}")
3636
except RenderError as e:
3737
print(f"Error running task: {e}")
3838

3939
# start_task() starts a task without waiting for the result
40-
task_run = render.workflows.start_task(task_identifier, input_data)
40+
task_run = render.workflows.start_task(task_slug, input_data)
4141
print(f"Task started with ID: {task_run.id}")
4242

4343
# Get task run details by ID
4444
details = render.workflows.get_task_run(task_run.id)
4545
print(f"Task run details: {details.id} status={details.status}")
4646

4747
# Cancel a task run
48-
task_run2 = render.workflows.start_task(task_identifier, input_data)
48+
task_run2 = render.workflows.start_task(task_slug, input_data)
4949
render.workflows.cancel_task_run(task_run2.id)
5050
print(f"Cancelled task run: {task_run2.id}")
5151

5252
# Stream task run events. This is useful when you want to monitor
5353
# multiple task runs or handle events as they arrive.
54-
task_run3 = render.workflows.start_task(task_identifier, input_data)
54+
task_run3 = render.workflows.start_task(task_slug, input_data)
5555
print("Streaming task run events...")
5656
for event in render.workflows.task_run_events([task_run3.id]):
5757
print(f" Event: {event.id} status={event.status}")

python/render_sdk/client/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
ListTaskRunsParams,
1111
OwnerIDParam,
1212
TaskData,
13-
TaskIdentifier,
1413
TaskRun,
1514
TaskRunDetails,
1615
TaskRunStatus,
16+
TaskSlug,
1717
)
1818
from render_sdk.client.workflows import WorkflowsService
1919
from render_sdk.client.workflows_sync import SyncWorkflowsService
@@ -38,7 +38,7 @@
3838
"WorkflowsService",
3939
"SyncWorkflowsService",
4040
"TaskData",
41-
"TaskIdentifier",
41+
"TaskSlug",
4242
"TaskRun",
4343
"TaskRunDetails",
4444
"TaskRunStatus",

python/render_sdk/client/types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from render_sdk.public_api.models.task_run_status import TaskRunStatus as _TaskRunStatus
1111

1212
# Type aliases to match Go client interface
13-
TaskIdentifier = str
13+
TaskSlug = str
1414
# TaskData can be either positional (list) or named (dict) parameters
1515
TaskData = list[Any] | dict[str, Any]
1616

@@ -46,7 +46,7 @@ class TaskRunStatusValues:
4646

4747
PENDING = "pending"
4848
RUNNING = "running"
49-
COMPLETED = "completed"
49+
COMPLETED = "completed" # deprecated, use SUCCEEDED instead
5050
SUCCEEDED = "succeeded"
5151
FAILED = "failed"
5252
CANCELED = "canceled"

python/render_sdk/client/workflows.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
from render_sdk.client.types import (
1414
ListTaskRunsParams,
1515
TaskData,
16-
TaskIdentifier,
1716
TaskRun,
1817
TaskRunDetails,
1918
TaskRunStatusValues,
19+
TaskSlug,
2020
)
2121
from render_sdk.client.util import (
2222
handle_http_error,
@@ -181,7 +181,7 @@ async def task_run_events(
181181

182182
async def start_task(
183183
self,
184-
task_identifier: TaskIdentifier,
184+
task_slug: TaskSlug,
185185
input_data: TaskData,
186186
) -> AwaitableTaskRun:
187187
"""Start a task and return an awaitable task run without waiting for completion.
@@ -198,7 +198,7 @@ async def start_task(
198198
This corresponds to POST /task-runs in the API.
199199
200200
Args:
201-
task_identifier: The identifier of the task to run
201+
task_slug: The task slug (workflow-slug/task-name)
202202
input_data: The input data for the task. Can be either:
203203
- A list for positional arguments: [arg1, arg2, arg3]
204204
- A dict for named parameters: {"param1": value1, "param2": value2}
@@ -211,15 +211,13 @@ async def start_task(
211211
ServerError: For 5xx server errors and network failures
212212
TimeoutError: If the request times out
213213
"""
214-
response = (
215-
await self._create_task_api_call(task_identifier, input_data)
216-
).parsed
214+
response = (await self._create_task_api_call(task_slug, input_data)).parsed
217215

218216
return AwaitableTaskRun(response, self)
219217

220218
async def run_task(
221219
self,
222-
task_identifier: TaskIdentifier,
220+
task_slug: TaskSlug,
223221
input_data: TaskData,
224222
) -> TaskRunDetails:
225223
"""Start a task and wait for it to complete, returning the result.
@@ -228,7 +226,7 @@ async def run_task(
228226
waits for the task to complete.
229227
230228
Args:
231-
task_identifier: The identifier of the task to run
229+
task_slug: The task slug (workflow-slug/task-name)
232230
input_data: The input data for the task. Can be either:
233231
- A list for positional arguments: [arg1, arg2, arg3]
234232
- A dict for named parameters: {"param1": value1, "param2": value2}
@@ -242,12 +240,12 @@ async def run_task(
242240
TimeoutError: If the request times out
243241
TaskRunError: If the task run fails with an error
244242
"""
245-
task_run = await self.start_task(task_identifier, input_data)
243+
task_run = await self.start_task(task_slug, input_data)
246244
return await task_run
247245

248246
@handle_http_errors("create task")
249247
async def _create_task_api_call(
250-
self, task_identifier: TaskIdentifier, input_data: TaskData
248+
self, task_slug: TaskSlug, input_data: TaskData
251249
) -> Response[Error | TaskRun]:
252250
"""Internal method to make the create task API call."""
253251
# Convert dict to TaskDataType1 for named parameters
@@ -259,7 +257,7 @@ async def _create_task_api_call(
259257

260258
# Create the request body
261259
run_task = RunTask(
262-
task=task_identifier,
260+
task=task_slug,
263261
input_=task_data_input,
264262
)
265263

python/render_sdk/client/workflows_sync.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
from render_sdk.client.types import (
1515
ListTaskRunsParams,
1616
TaskData,
17-
TaskIdentifier,
1817
TaskRun,
1918
TaskRunDetails,
2019
TaskRunStatusValues,
20+
TaskSlug,
2121
)
2222
from render_sdk.client.util import handle_http_error, handle_httpx_exception
2323
from render_sdk.client.util_sync import handle_http_errors, retry_with_backoff
@@ -102,7 +102,7 @@ def task_run_events(
102102

103103
def start_task(
104104
self,
105-
task_identifier: TaskIdentifier,
105+
task_slug: TaskSlug,
106106
input_data: TaskData,
107107
) -> TaskRun:
108108
"""Start a task and return the task run without waiting for completion.
@@ -113,7 +113,7 @@ def start_task(
113113
This corresponds to POST /task-runs in the API.
114114
115115
Args:
116-
task_identifier: The identifier of the task to run
116+
task_slug: The task slug (workflow-slug/task-name)
117117
input_data: The input data for the task. Can be either:
118118
- A list for positional arguments: [arg1, arg2, arg3]
119119
- A dict for named parameters: {"param1": value1, "param2": value2}
@@ -126,19 +126,19 @@ def start_task(
126126
ServerError: For 5xx server errors and network failures
127127
TimeoutError: If the request times out
128128
"""
129-
return self._create_task_api_call(task_identifier, input_data).parsed
129+
return self._create_task_api_call(task_slug, input_data).parsed
130130

131131
def run_task(
132132
self,
133-
task_identifier: TaskIdentifier,
133+
task_slug: TaskSlug,
134134
input_data: TaskData,
135135
) -> TaskRunDetails:
136136
"""Start a task and wait for it to complete, returning the result.
137137
138138
This corresponds to POST /task-runs in the API.
139139
140140
Args:
141-
task_identifier: The identifier of the task to run
141+
task_slug: The task slug (workflow-slug/task-name)
142142
input_data: The input data for the task. Can be either:
143143
- A list for positional arguments: [arg1, arg2, arg3]
144144
- A dict for named parameters: {"param1": value1, "param2": value2}
@@ -152,7 +152,7 @@ def run_task(
152152
TimeoutError: If the request times out
153153
TaskRunError: If the task run fails with an error
154154
"""
155-
task_run = self.start_task(task_identifier, input_data)
155+
task_run = self.start_task(task_slug, input_data)
156156

157157
# If already in a terminal state, just get the details
158158
status = task_run.status.value
@@ -182,7 +182,7 @@ def _task_run_completed_with_sse(self, task_run_id: str) -> TaskRunDetails:
182182

183183
@handle_http_errors("create task")
184184
def _create_task_api_call(
185-
self, task_identifier: TaskIdentifier, input_data: TaskData
185+
self, task_slug: TaskSlug, input_data: TaskData
186186
) -> Response[Error | TaskRun]:
187187
"""Internal method to make the create task API call."""
188188
# Convert dict to TaskDataType1 for named parameters
@@ -194,7 +194,7 @@ def _create_task_api_call(
194194

195195
# Create the request body
196196
run_task = RunTask(
197-
task=task_identifier,
197+
task=task_slug,
198198
input_=task_data_input,
199199
)
200200

0 commit comments

Comments
 (0)