airia 0.1.31__py3-none-any.whl → 0.1.32__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.
Files changed (26) hide show
  1. airia/client/data_vector_search/async_data_vector_search.py +18 -1
  2. airia/client/data_vector_search/base_data_vector_search.py +5 -1
  3. airia/client/data_vector_search/sync_data_vector_search.py +18 -1
  4. airia/client/deployments/async_deployments.py +28 -1
  5. airia/client/deployments/base_deployments.py +21 -1
  6. airia/client/deployments/sync_deployments.py +28 -1
  7. airia/client/pipeline_execution/async_pipeline_execution.py +62 -5
  8. airia/client/pipeline_execution/base_pipeline_execution.py +39 -0
  9. airia/client/pipeline_execution/sync_pipeline_execution.py +65 -6
  10. airia/client/pipelines_config/async_pipelines_config.py +37 -7
  11. airia/client/pipelines_config/base_pipelines_config.py +25 -1
  12. airia/client/pipelines_config/sync_pipelines_config.py +37 -7
  13. airia/client/project/async_project.py +31 -5
  14. airia/client/project/base_project.py +25 -2
  15. airia/client/project/sync_project.py +33 -5
  16. airia/client/store/async_store.py +16 -1
  17. airia/client/store/base_store.py +11 -1
  18. airia/client/store/sync_store.py +16 -1
  19. airia/types/api/pipeline_execution/__init__.py +8 -0
  20. airia/types/api/pipeline_execution/_pipeline_execution.py +8 -0
  21. airia/types/api/pipeline_execution/get_pipeline_execution.py +83 -0
  22. {airia-0.1.31.dist-info → airia-0.1.32.dist-info}/METADATA +1 -1
  23. {airia-0.1.31.dist-info → airia-0.1.32.dist-info}/RECORD +26 -25
  24. {airia-0.1.31.dist-info → airia-0.1.32.dist-info}/WHEEL +0 -0
  25. {airia-0.1.31.dist-info → airia-0.1.32.dist-info}/licenses/LICENSE +0 -0
  26. {airia-0.1.31.dist-info → airia-0.1.32.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- from typing import Optional, Union
1
+ from typing import Literal, Optional, Union
2
2
  from urllib.parse import urljoin
3
3
 
4
4
  from ...types._api_version import ApiVersion
@@ -79,7 +79,13 @@ class BasePipelinesConfig:
79
79
 
80
80
  def _pre_get_pipelines_config(
81
81
  self,
82
+ page_number: Optional[int] = None,
83
+ page_size: Optional[int] = None,
84
+ sort_by: Optional[str] = None,
85
+ sort_direction: Optional[Literal["ASC", "DESC"]] = None,
86
+ filter: Optional[str] = None,
82
87
  project_id: Optional[str] = None,
88
+ model_credential_source_type: Optional[Literal["UserProvided", "Library"]] = None,
83
89
  correlation_id: Optional[str] = None,
84
90
  api_version: str = ApiVersion.V1.value,
85
91
  ):
@@ -87,7 +93,13 @@ class BasePipelinesConfig:
87
93
  Prepare request data for getting pipelines configuration endpoint.
88
94
 
89
95
  Args:
96
+ page_number: The page number to be fetched
97
+ page_size: The number of items per page
98
+ sort_by: Property to sort by
99
+ sort_direction: The direction of the sort, either "ASC" for ascending or "DESC" for descending
100
+ filter: The search filter
90
101
  project_id: Optional project ID filter
102
+ model_credential_source_type: Optional filter to return only pipelines using models with specified source type ("UserProvided" or "Library")
91
103
  correlation_id: Optional correlation ID for tracing
92
104
  api_version: API version to use for the request
93
105
 
@@ -106,8 +118,20 @@ class BasePipelinesConfig:
106
118
  f"{api_version}/PipelinesConfig",
107
119
  )
108
120
  params = {}
121
+ if page_number is not None:
122
+ params["PageNumber"] = page_number
123
+ if page_size is not None:
124
+ params["PageSize"] = page_size
125
+ if sort_by is not None:
126
+ params["SortBy"] = sort_by
127
+ if sort_direction is not None:
128
+ params["SortDirection"] = sort_direction
129
+ if filter is not None:
130
+ params["Filter"] = filter
109
131
  if project_id is not None:
110
132
  params["projectId"] = project_id
133
+ if model_credential_source_type is not None:
134
+ params["modelCredentialSourceType"] = model_credential_source_type
111
135
 
112
136
  request_data = self._request_handler.prepare_request(
113
137
  url, params=params, correlation_id=correlation_id
@@ -1,4 +1,4 @@
1
- from typing import Optional
1
+ from typing import Literal, Optional
2
2
 
3
3
  from ...types._api_version import ApiVersion
4
4
  from ...types.api.pipelines_config import (
@@ -126,20 +126,34 @@ class PipelinesConfig(BasePipelinesConfig):
126
126
  return ExportPipelineDefinitionResponse(**resp)
127
127
 
128
128
  def get_pipelines_config(
129
- self, project_id: Optional[str] = None, correlation_id: Optional[str] = None
129
+ self,
130
+ page_number: Optional[int] = None,
131
+ page_size: Optional[int] = None,
132
+ sort_by: Optional[str] = None,
133
+ sort_direction: Optional[Literal["ASC", "DESC"]] = None,
134
+ filter: Optional[str] = None,
135
+ project_id: Optional[str] = None,
136
+ model_credential_source_type: Optional[Literal["UserProvided", "Library"]] = None,
137
+ correlation_id: Optional[str] = None,
130
138
  ) -> GetPipelinesConfigResponse:
131
139
  """
132
- Retrieve a list of pipeline configurations, optionally filtered by project ID.
140
+ Retrieve a list of pipeline configurations with optional filtering, pagination, and sorting.
133
141
 
134
142
  This method fetches a list of pipeline configurations including their
135
143
  deployment details, execution statistics, version information, and metadata.
136
- The results can be filtered by project ID to retrieve only pipelines
137
- belonging to a specific project.
144
+ The results can be filtered, paginated, and sorted using various parameters.
138
145
 
139
146
  Args:
147
+ page_number (int, optional): The page number to be fetched.
148
+ page_size (int, optional): The number of items per page.
149
+ sort_by (str, optional): Property to sort by.
150
+ sort_direction (str, optional): The direction of the sort, either "ASC" for ascending or "DESC" for descending.
151
+ filter (str, optional): The search filter.
140
152
  project_id (str, optional): The unique identifier of the project to filter
141
153
  pipelines by. If not provided, pipelines from all accessible projects
142
154
  will be returned.
155
+ model_credential_source_type (str, optional): Optional filter to return only pipelines
156
+ using models with specified source type ("UserProvided" or "Library").
143
157
  correlation_id (str, optional): A unique identifier for request tracing
144
158
  and logging. If not provided, one will be automatically generated.
145
159
 
@@ -168,9 +182,19 @@ class PipelinesConfig(BasePipelinesConfig):
168
182
  if pipeline.execution_stats:
169
183
  print(f"Success count: {pipeline.execution_stats.success_count}")
170
184
 
171
- # Get pipelines for a specific project
185
+ # Get pipelines with pagination and sorting
186
+ pipelines = client.pipelines_config.get_pipelines_config(
187
+ page_number=1,
188
+ page_size=20,
189
+ sort_by="name",
190
+ sort_direction="ASC",
191
+ filter="classification"
192
+ )
193
+
194
+ # Get pipelines for a specific project with model source type filter
172
195
  project_pipelines = client.pipelines_config.get_pipelines_config(
173
- project_id="your_project_id"
196
+ project_id="your_project_id",
197
+ model_credential_source_type="UserProvided"
174
198
  )
175
199
  print(f"Project pipelines: {project_pipelines.total_count}")
176
200
  ```
@@ -181,7 +205,13 @@ class PipelinesConfig(BasePipelinesConfig):
181
205
  pipeline identifier.
182
206
  """
183
207
  request_data = self._pre_get_pipelines_config(
208
+ page_number=page_number,
209
+ page_size=page_size,
210
+ sort_by=sort_by,
211
+ sort_direction=sort_direction,
212
+ filter=filter,
184
213
  project_id=project_id,
214
+ model_credential_source_type=model_credential_source_type,
185
215
  correlation_id=correlation_id,
186
216
  api_version=ApiVersion.V1.value,
187
217
  )
@@ -1,4 +1,4 @@
1
- from typing import List, Optional
1
+ from typing import List, Literal, Optional
2
2
 
3
3
  from ...types._api_version import ApiVersion
4
4
  from ...types.api.project import ProjectItem
@@ -11,16 +11,27 @@ class AsyncProject(BaseProject):
11
11
  super().__init__(request_handler)
12
12
 
13
13
  async def get_projects(
14
- self, correlation_id: Optional[str] = None
14
+ self,
15
+ page_number: Optional[int] = None,
16
+ page_size: Optional[int] = None,
17
+ sort_by: Optional[str] = None,
18
+ sort_direction: Optional[Literal["ASC", "DESC"]] = None,
19
+ filter: Optional[str] = None,
20
+ correlation_id: Optional[str] = None,
15
21
  ) -> List[ProjectItem]:
16
22
  """
17
- Retrieve a list of all projects accessible to the authenticated user.
23
+ Retrieve a list of all projects accessible to the authenticated user with optional pagination, sorting, and filtering.
18
24
 
19
25
  This method fetches comprehensive information about all projects that the
20
26
  current user has access to, including project metadata, creation details,
21
- and status information.
27
+ and status information. The results can be paginated, sorted, and filtered.
22
28
 
23
29
  Args:
30
+ page_number (int, optional): The page number to be fetched.
31
+ page_size (int, optional): The number of items per page.
32
+ sort_by (str, optional): Property to sort by.
33
+ sort_direction (str, optional): The direction of the sort, either "ASC" for ascending or "DESC" for descending.
34
+ filter (str, optional): The search filter.
24
35
  correlation_id (str, optional): A unique identifier for request tracing
25
36
  and logging. If not provided, one will be automatically generated.
26
37
 
@@ -50,6 +61,15 @@ class AsyncProject(BaseProject):
50
61
  print(f"Description: {project.description}")
51
62
  print(f"Created: {project.created_at}")
52
63
  print("---")
64
+
65
+ # Get projects with pagination and sorting
66
+ projects = await client.project.get_projects(
67
+ page_number=1,
68
+ page_size=10,
69
+ sort_by="name",
70
+ sort_direction="ASC",
71
+ filter="my-project"
72
+ )
53
73
  ```
54
74
 
55
75
  Note:
@@ -58,7 +78,13 @@ class AsyncProject(BaseProject):
58
78
  access to.
59
79
  """
60
80
  request_data = self._pre_get_projects(
61
- correlation_id=correlation_id, api_version=ApiVersion.V1.value
81
+ page_number=page_number,
82
+ page_size=page_size,
83
+ sort_by=sort_by,
84
+ sort_direction=sort_direction,
85
+ filter=filter,
86
+ correlation_id=correlation_id,
87
+ api_version=ApiVersion.V1.value,
62
88
  )
63
89
  resp = await self._request_handler.make_request("GET", request_data)
64
90
 
@@ -1,4 +1,4 @@
1
- from typing import Optional, Union
1
+ from typing import Literal, Optional, Union
2
2
  from urllib.parse import urljoin
3
3
 
4
4
  from ...types._api_version import ApiVersion
@@ -11,6 +11,11 @@ class BaseProject:
11
11
 
12
12
  def _pre_get_projects(
13
13
  self,
14
+ page_number: Optional[int] = None,
15
+ page_size: Optional[int] = None,
16
+ sort_by: Optional[str] = None,
17
+ sort_direction: Optional[Literal["ASC", "DESC"]] = None,
18
+ filter: Optional[str] = None,
14
19
  correlation_id: Optional[str] = None,
15
20
  api_version: str = ApiVersion.V1.value,
16
21
  ):
@@ -18,6 +23,11 @@ class BaseProject:
18
23
  Prepare request data for getting projects endpoint.
19
24
 
20
25
  Args:
26
+ page_number: The page number to be fetched
27
+ page_size: The number of items per page
28
+ sort_by: Property to sort by
29
+ sort_direction: The direction of the sort, either "ASC" for ascending or "DESC" for descending
30
+ filter: The search filter
21
31
  correlation_id: Optional correlation ID for tracing
22
32
  api_version: API version to use for the request
23
33
 
@@ -34,8 +44,21 @@ class BaseProject:
34
44
  url = urljoin(
35
45
  self._request_handler.base_url, f"{api_version}/Project/paginated"
36
46
  )
47
+
48
+ params = {}
49
+ if page_number is not None:
50
+ params["PageNumber"] = page_number
51
+ if page_size is not None:
52
+ params["PageSize"] = page_size
53
+ if sort_by is not None:
54
+ params["SortBy"] = sort_by
55
+ if sort_direction is not None:
56
+ params["SortDirection"] = sort_direction
57
+ if filter is not None:
58
+ params["Filter"] = filter
59
+
37
60
  request_data = self._request_handler.prepare_request(
38
- url, correlation_id=correlation_id
61
+ url, params=params, correlation_id=correlation_id
39
62
  )
40
63
 
41
64
  return request_data
@@ -1,4 +1,4 @@
1
- from typing import List, Optional
1
+ from typing import List, Literal, Optional
2
2
 
3
3
  from ...types._api_version import ApiVersion
4
4
  from ...types.api.project import ProjectItem
@@ -10,15 +10,28 @@ class Project(BaseProject):
10
10
  def __init__(self, request_handler: RequestHandler):
11
11
  super().__init__(request_handler)
12
12
 
13
- def get_projects(self, correlation_id: Optional[str] = None) -> List[ProjectItem]:
13
+ def get_projects(
14
+ self,
15
+ page_number: Optional[int] = None,
16
+ page_size: Optional[int] = None,
17
+ sort_by: Optional[str] = None,
18
+ sort_direction: Optional[Literal["ASC", "DESC"]] = None,
19
+ filter: Optional[str] = None,
20
+ correlation_id: Optional[str] = None,
21
+ ) -> List[ProjectItem]:
14
22
  """
15
- Retrieve a list of all projects accessible to the authenticated user.
23
+ Retrieve a list of all projects accessible to the authenticated user with optional pagination, sorting, and filtering.
16
24
 
17
25
  This method fetches comprehensive information about all projects that the
18
26
  current user has access to, including project metadata, creation details,
19
- and status information.
27
+ and status information. The results can be paginated, sorted, and filtered.
20
28
 
21
29
  Args:
30
+ page_number (int, optional): The page number to be fetched.
31
+ page_size (int, optional): The number of items per page.
32
+ sort_by (str, optional): Property to sort by.
33
+ sort_direction (str, optional): The direction of the sort, either "ASC" for ascending or "DESC" for descending.
34
+ filter (str, optional): The search filter.
22
35
  correlation_id (str, optional): A unique identifier for request tracing
23
36
  and logging. If not provided, one will be automatically generated.
24
37
 
@@ -48,6 +61,15 @@ class Project(BaseProject):
48
61
  print(f"Description: {project.description}")
49
62
  print(f"Created: {project.created_at}")
50
63
  print("---")
64
+
65
+ # Get projects with pagination and sorting
66
+ projects = client.project.get_projects(
67
+ page_number=1,
68
+ page_size=10,
69
+ sort_by="name",
70
+ sort_direction="ASC",
71
+ filter="my-project"
72
+ )
51
73
  ```
52
74
 
53
75
  Note:
@@ -56,7 +78,13 @@ class Project(BaseProject):
56
78
  access to.
57
79
  """
58
80
  request_data = self._pre_get_projects(
59
- correlation_id=correlation_id, api_version=ApiVersion.V1.value
81
+ page_number=page_number,
82
+ page_size=page_size,
83
+ sort_by=sort_by,
84
+ sort_direction=sort_direction,
85
+ filter=filter,
86
+ correlation_id=correlation_id,
87
+ api_version=ApiVersion.V1.value,
60
88
  )
61
89
  resp = self._request_handler.make_request("GET", request_data)
62
90
 
@@ -246,17 +246,22 @@ class AsyncStore(BaseStore):
246
246
  self,
247
247
  project_id: str,
248
248
  store_connector_id: str,
249
+ page_number: Optional[int] = None,
250
+ page_size: Optional[int] = None,
249
251
  correlation_id: Optional[str] = None,
250
252
  ) -> GetFilesResponse:
251
253
  """
252
- Retrieve all files from a store connector in the Airia store asynchronously.
254
+ Retrieve all files from a store connector in the Airia store asynchronously with optional pagination.
253
255
 
254
256
  This method retrieves information about all files in the specified store connector
255
257
  and project, including file metadata, download URLs, and processing status.
258
+ The results can be paginated using the page_number and page_size parameters.
256
259
 
257
260
  Args:
258
261
  project_id: The unique identifier of the project (GUID format)
259
262
  store_connector_id: The unique identifier of the store connector (GUID format)
263
+ page_number: The page number to be fetched
264
+ page_size: The number of items per page
260
265
  correlation_id: Optional correlation ID for request tracing
261
266
 
262
267
  Returns:
@@ -285,6 +290,14 @@ class AsyncStore(BaseStore):
285
290
  store_connector_id="your_store_connector_id"
286
291
  )
287
292
 
293
+ # Get files with pagination
294
+ files_response = await client.store.get_files(
295
+ project_id="your_project_id",
296
+ store_connector_id="your_store_connector_id",
297
+ page_number=1,
298
+ page_size=20
299
+ )
300
+
288
301
  # Access files list
289
302
  if files_response.files:
290
303
  for file in files_response.files:
@@ -310,6 +323,8 @@ class AsyncStore(BaseStore):
310
323
  request_data = self._pre_get_files(
311
324
  project_id=project_id,
312
325
  store_connector_id=store_connector_id,
326
+ page_number=page_number,
327
+ page_size=page_size,
313
328
  correlation_id=correlation_id,
314
329
  api_version=ApiVersion.V1.value,
315
330
  )
@@ -168,6 +168,8 @@ class BaseStore:
168
168
  self,
169
169
  project_id: str,
170
170
  store_connector_id: str,
171
+ page_number: Optional[int] = None,
172
+ page_size: Optional[int] = None,
171
173
  correlation_id: Optional[str] = None,
172
174
  api_version: str = ApiVersion.V1.value,
173
175
  ):
@@ -179,6 +181,8 @@ class BaseStore:
179
181
  Args:
180
182
  project_id: ID of the project
181
183
  store_connector_id: ID of the store connector
184
+ page_number: The page number to be fetched
185
+ page_size: The number of items per page
182
186
  correlation_id: Optional correlation ID for tracing
183
187
  api_version: API version to use for the request
184
188
 
@@ -197,8 +201,14 @@ class BaseStore:
197
201
  f"{api_version}/Store/GetAllFiles/{project_id}/{store_connector_id}",
198
202
  )
199
203
 
204
+ params = {}
205
+ if page_number is not None:
206
+ params["PageNumber"] = page_number
207
+ if page_size is not None:
208
+ params["PageSize"] = page_size
209
+
200
210
  request_data = self._request_handler.prepare_request(
201
- url, payload=None, correlation_id=correlation_id
211
+ url, params=params, payload=None, correlation_id=correlation_id
202
212
  )
203
213
 
204
214
  return request_data
@@ -231,17 +231,22 @@ class Store(BaseStore):
231
231
  self,
232
232
  project_id: str,
233
233
  store_connector_id: str,
234
+ page_number: Optional[int] = None,
235
+ page_size: Optional[int] = None,
234
236
  correlation_id: Optional[str] = None,
235
237
  ) -> GetFilesResponse:
236
238
  """
237
- Retrieve all files from a store connector in the Airia store.
239
+ Retrieve all files from a store connector in the Airia store with optional pagination.
238
240
 
239
241
  This method retrieves information about all files in the specified store connector
240
242
  and project, including file metadata, download URLs, and processing status.
243
+ The results can be paginated using the page_number and page_size parameters.
241
244
 
242
245
  Args:
243
246
  project_id: The unique identifier of the project (GUID format)
244
247
  store_connector_id: The unique identifier of the store connector (GUID format)
248
+ page_number: The page number to be fetched
249
+ page_size: The number of items per page
245
250
  correlation_id: Optional correlation ID for request tracing
246
251
 
247
252
  Returns:
@@ -268,6 +273,14 @@ class Store(BaseStore):
268
273
  store_connector_id="your_store_connector_id"
269
274
  )
270
275
 
276
+ # Get files with pagination
277
+ files_response = client.store.get_files(
278
+ project_id="your_project_id",
279
+ store_connector_id="your_store_connector_id",
280
+ page_number=1,
281
+ page_size=20
282
+ )
283
+
271
284
  # Access files list
272
285
  if files_response.files:
273
286
  for file in files_response.files:
@@ -291,6 +304,8 @@ class Store(BaseStore):
291
304
  request_data = self._pre_get_files(
292
305
  project_id=project_id,
293
306
  store_connector_id=store_connector_id,
307
+ page_number=page_number,
308
+ page_size=page_size,
294
309
  correlation_id=correlation_id,
295
310
  api_version=ApiVersion.V1.value,
296
311
  )
@@ -9,13 +9,21 @@ from ._pipeline_execution import (
9
9
  TemporaryAssistantStreamedResponse,
10
10
  TimeTrackingData,
11
11
  )
12
+ from .get_pipeline_execution import (
13
+ GetPipelineExecutionResponse,
14
+ PipelineExecutionLogDetails,
15
+ StepExecutionLogRecord,
16
+ )
12
17
 
13
18
  __all__ = [
14
19
  "AgentBaseStepResult",
20
+ "GetPipelineExecutionResponse",
15
21
  "PipelineExecutionAsyncStreamedResponse",
22
+ "PipelineExecutionLogDetails",
16
23
  "PipelineExecutionResponse",
17
24
  "PipelineExecutionStreamedResponse",
18
25
  "PipelineStepResult",
26
+ "StepExecutionLogRecord",
19
27
  "TemporaryAssistantAsyncStreamedResponse",
20
28
  "TemporaryAssistantResponse",
21
29
  "TemporaryAssistantStreamedResponse",
@@ -84,11 +84,19 @@ class PipelineExecutionResponse(BaseModel):
84
84
  result: The execution result as a string
85
85
  report: Optional Dictionary containing debugging information and execution details
86
86
  is_backup_pipeline: Whether a backup pipeline was used for execution
87
+ execution_id: Unique execution identifier
88
+ user_input_id: Identifier for the user input associated with the pipeline execution
89
+ files: Files processed during the pipeline execution
90
+ images: Images processed during the pipeline execution
87
91
  """
88
92
 
89
93
  result: Optional[str]
90
94
  report: Optional[Dict[str, PipelineStepResult]] = None
91
95
  is_backup_pipeline: bool = Field(alias="isBackupPipeline")
96
+ execution_id: UUID = Field(alias="executionId")
97
+ user_input_id: Optional[UUID] = Field(None, alias="userInputId")
98
+ files: Optional[List[str]] = None
99
+ images: Optional[List[str]] = None
92
100
 
93
101
 
94
102
  class PipelineExecutionStreamedResponse(BaseModel):
@@ -0,0 +1,83 @@
1
+ """
2
+ Pydantic models for get_pipeline_execution API response.
3
+
4
+ This module defines the response models returned by the get_pipeline_execution endpoint,
5
+ including pipeline execution details and step execution logs.
6
+ """
7
+
8
+ from datetime import datetime
9
+ from typing import Optional
10
+ from uuid import UUID
11
+
12
+ from pydantic import BaseModel, Field
13
+
14
+
15
+ class PipelineExecutionLogDetails(BaseModel):
16
+ """
17
+ Pipeline execution log details.
18
+
19
+ Attributes:
20
+ duration: Duration of the execution (e.g., "00:00:00.0000000").
21
+ started_at: Start date for the pipeline execution.
22
+ finished_at: End date for the pipeline execution.
23
+ success: Success indicator for the pipeline execution.
24
+ exception: First exception for the pipeline execution if any.
25
+ """
26
+
27
+ duration: Optional[str] = None
28
+ started_at: Optional[datetime] = Field(None, alias="startedAt")
29
+ finished_at: Optional[datetime] = Field(None, alias="finishedAt")
30
+ success: Optional[bool] = None
31
+ exception: Optional[str] = None
32
+
33
+
34
+ class StepExecutionLogRecord(BaseModel):
35
+ """
36
+ Step execution log record.
37
+
38
+ Attributes:
39
+ pipeline_id: Pipeline ID.
40
+ step_id: Step ID.
41
+ step_type: Step type (e.g., "AIOperation", "dataSearch", etc.).
42
+ step_title: Step title.
43
+ duration: Duration of the execution (e.g., "00:00:00.0000000").
44
+ started_at: Start date for the step execution.
45
+ finished_at: End date for the step execution.
46
+ success: Success indicator for the step execution.
47
+ exception: First exception for the step execution if any.
48
+ """
49
+
50
+ pipeline_id: UUID = Field(alias="pipelineId")
51
+ step_id: UUID = Field(alias="stepId")
52
+ step_type: Optional[str] = Field(None, alias="stepType")
53
+ step_title: Optional[str] = Field(None, alias="stepTitle")
54
+ duration: Optional[str] = None
55
+ started_at: Optional[datetime] = Field(None, alias="startedAt")
56
+ finished_at: Optional[datetime] = Field(None, alias="finishedAt")
57
+ success: Optional[bool] = None
58
+ exception: Optional[str] = None
59
+
60
+
61
+ class GetPipelineExecutionResponse(BaseModel):
62
+ """
63
+ Response model for get_pipeline_execution requests.
64
+
65
+ Attributes:
66
+ execution_id: Execution result ID.
67
+ pipeline_id: Pipeline ID.
68
+ tenant_id: Tenant ID.
69
+ project_id: Project ID.
70
+ log_record_details: Pipeline execution log details.
71
+ step_execution_log_records: Step execution logs associated to the pipeline.
72
+ """
73
+
74
+ execution_id: UUID = Field(alias="executionId")
75
+ pipeline_id: UUID = Field(alias="pipelineId")
76
+ tenant_id: UUID = Field(alias="tenantId")
77
+ project_id: UUID = Field(alias="projectId")
78
+ log_record_details: Optional[PipelineExecutionLogDetails] = Field(
79
+ None, alias="logRecordDetails"
80
+ )
81
+ step_execution_log_records: Optional[list[StepExecutionLogRecord]] = Field(
82
+ None, alias="stepExecutionLogRecords"
83
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airia
3
- Version: 0.1.31
3
+ Version: 0.1.32
4
4
  Summary: Python SDK for Airia API
5
5
  Author-email: Airia LLC <support@airia.com>
6
6
  License: MIT