eval-studio-client 1.1.0a7__py3-none-any.whl → 1.1.1__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.
@@ -152,6 +152,7 @@ from eval_studio_client.api.models.v1_evaluator_view import V1EvaluatorView
152
152
  from eval_studio_client.api.models.v1_finalize_operation_response import V1FinalizeOperationResponse
153
153
  from eval_studio_client.api.models.v1_find_all_test_cases_by_id_response import V1FindAllTestCasesByIDResponse
154
154
  from eval_studio_client.api.models.v1_find_test_lab_response import V1FindTestLabResponse
155
+ from eval_studio_client.api.models.v1_find_workflows_by_collection_id_response import V1FindWorkflowsByCollectionIDResponse
155
156
  from eval_studio_client.api.models.v1_generate_test_cases_response import V1GenerateTestCasesResponse
156
157
  from eval_studio_client.api.models.v1_get_dashboard_response import V1GetDashboardResponse
157
158
  from eval_studio_client.api.models.v1_get_document_response import V1GetDocumentResponse
@@ -16,7 +16,8 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
16
  from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
- from pydantic import Field, field_validator
19
+ from pydantic import Field, StrictStr, field_validator
20
+ from typing import Optional
20
21
  from typing_extensions import Annotated
21
22
  from eval_studio_client.api.models.required_the_updated_workflow import RequiredTheUpdatedWorkflow
22
23
  from eval_studio_client.api.models.v1_batch_delete_workflows_request import V1BatchDeleteWorkflowsRequest
@@ -24,6 +25,7 @@ from eval_studio_client.api.models.v1_batch_delete_workflows_response import V1B
24
25
  from eval_studio_client.api.models.v1_clone_workflow_response import V1CloneWorkflowResponse
25
26
  from eval_studio_client.api.models.v1_create_workflow_response import V1CreateWorkflowResponse
26
27
  from eval_studio_client.api.models.v1_delete_workflow_response import V1DeleteWorkflowResponse
28
+ from eval_studio_client.api.models.v1_find_workflows_by_collection_id_response import V1FindWorkflowsByCollectionIDResponse
27
29
  from eval_studio_client.api.models.v1_get_guardrails_configuration_response import V1GetGuardrailsConfigurationResponse
28
30
  from eval_studio_client.api.models.v1_get_workflow_response import V1GetWorkflowResponse
29
31
  from eval_studio_client.api.models.v1_list_workflow_dependencies_response import V1ListWorkflowDependenciesResponse
@@ -1120,6 +1122,262 @@ class WorkflowServiceApi:
1120
1122
 
1121
1123
 
1122
1124
 
1125
+ @validate_call
1126
+ def workflow_service_find_workflows_by_collection_id(
1127
+ self,
1128
+ collection_id: Annotated[Optional[StrictStr], Field(description="Required. The H2OGPTe collection ID to find the Workflow by.")] = None,
1129
+ _request_timeout: Union[
1130
+ None,
1131
+ Annotated[StrictFloat, Field(gt=0)],
1132
+ Tuple[
1133
+ Annotated[StrictFloat, Field(gt=0)],
1134
+ Annotated[StrictFloat, Field(gt=0)]
1135
+ ]
1136
+ ] = None,
1137
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1138
+ _content_type: Optional[StrictStr] = None,
1139
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1140
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1141
+ ) -> V1FindWorkflowsByCollectionIDResponse:
1142
+ """FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
1143
+
1144
+
1145
+ :param collection_id: Required. The H2OGPTe collection ID to find the Workflow by.
1146
+ :type collection_id: str
1147
+ :param _request_timeout: timeout setting for this request. If one
1148
+ number provided, it will be total request
1149
+ timeout. It can also be a pair (tuple) of
1150
+ (connection, read) timeouts.
1151
+ :type _request_timeout: int, tuple(int, int), optional
1152
+ :param _request_auth: set to override the auth_settings for an a single
1153
+ request; this effectively ignores the
1154
+ authentication in the spec for a single request.
1155
+ :type _request_auth: dict, optional
1156
+ :param _content_type: force content-type for the request.
1157
+ :type _content_type: str, Optional
1158
+ :param _headers: set to override the headers for a single
1159
+ request; this effectively ignores the headers
1160
+ in the spec for a single request.
1161
+ :type _headers: dict, optional
1162
+ :param _host_index: set to override the host_index for a single
1163
+ request; this effectively ignores the host_index
1164
+ in the spec for a single request.
1165
+ :type _host_index: int, optional
1166
+ :return: Returns the result object.
1167
+ """ # noqa: E501
1168
+
1169
+ _param = self._workflow_service_find_workflows_by_collection_id_serialize(
1170
+ collection_id=collection_id,
1171
+ _request_auth=_request_auth,
1172
+ _content_type=_content_type,
1173
+ _headers=_headers,
1174
+ _host_index=_host_index
1175
+ )
1176
+
1177
+ _response_types_map: Dict[str, Optional[str]] = {
1178
+ '200': "V1FindWorkflowsByCollectionIDResponse",
1179
+ }
1180
+ response_data = self.api_client.call_api(
1181
+ *_param,
1182
+ _request_timeout=_request_timeout
1183
+ )
1184
+ response_data.read()
1185
+ return self.api_client.response_deserialize(
1186
+ response_data=response_data,
1187
+ response_types_map=_response_types_map,
1188
+ ).data
1189
+
1190
+
1191
+ @validate_call
1192
+ def workflow_service_find_workflows_by_collection_id_with_http_info(
1193
+ self,
1194
+ collection_id: Annotated[Optional[StrictStr], Field(description="Required. The H2OGPTe collection ID to find the Workflow by.")] = None,
1195
+ _request_timeout: Union[
1196
+ None,
1197
+ Annotated[StrictFloat, Field(gt=0)],
1198
+ Tuple[
1199
+ Annotated[StrictFloat, Field(gt=0)],
1200
+ Annotated[StrictFloat, Field(gt=0)]
1201
+ ]
1202
+ ] = None,
1203
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1204
+ _content_type: Optional[StrictStr] = None,
1205
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1206
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1207
+ ) -> ApiResponse[V1FindWorkflowsByCollectionIDResponse]:
1208
+ """FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
1209
+
1210
+
1211
+ :param collection_id: Required. The H2OGPTe collection ID to find the Workflow by.
1212
+ :type collection_id: str
1213
+ :param _request_timeout: timeout setting for this request. If one
1214
+ number provided, it will be total request
1215
+ timeout. It can also be a pair (tuple) of
1216
+ (connection, read) timeouts.
1217
+ :type _request_timeout: int, tuple(int, int), optional
1218
+ :param _request_auth: set to override the auth_settings for an a single
1219
+ request; this effectively ignores the
1220
+ authentication in the spec for a single request.
1221
+ :type _request_auth: dict, optional
1222
+ :param _content_type: force content-type for the request.
1223
+ :type _content_type: str, Optional
1224
+ :param _headers: set to override the headers for a single
1225
+ request; this effectively ignores the headers
1226
+ in the spec for a single request.
1227
+ :type _headers: dict, optional
1228
+ :param _host_index: set to override the host_index for a single
1229
+ request; this effectively ignores the host_index
1230
+ in the spec for a single request.
1231
+ :type _host_index: int, optional
1232
+ :return: Returns the result object.
1233
+ """ # noqa: E501
1234
+
1235
+ _param = self._workflow_service_find_workflows_by_collection_id_serialize(
1236
+ collection_id=collection_id,
1237
+ _request_auth=_request_auth,
1238
+ _content_type=_content_type,
1239
+ _headers=_headers,
1240
+ _host_index=_host_index
1241
+ )
1242
+
1243
+ _response_types_map: Dict[str, Optional[str]] = {
1244
+ '200': "V1FindWorkflowsByCollectionIDResponse",
1245
+ }
1246
+ response_data = self.api_client.call_api(
1247
+ *_param,
1248
+ _request_timeout=_request_timeout
1249
+ )
1250
+ response_data.read()
1251
+ return self.api_client.response_deserialize(
1252
+ response_data=response_data,
1253
+ response_types_map=_response_types_map,
1254
+ )
1255
+
1256
+
1257
+ @validate_call
1258
+ def workflow_service_find_workflows_by_collection_id_without_preload_content(
1259
+ self,
1260
+ collection_id: Annotated[Optional[StrictStr], Field(description="Required. The H2OGPTe collection ID to find the Workflow by.")] = None,
1261
+ _request_timeout: Union[
1262
+ None,
1263
+ Annotated[StrictFloat, Field(gt=0)],
1264
+ Tuple[
1265
+ Annotated[StrictFloat, Field(gt=0)],
1266
+ Annotated[StrictFloat, Field(gt=0)]
1267
+ ]
1268
+ ] = None,
1269
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1270
+ _content_type: Optional[StrictStr] = None,
1271
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1272
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1273
+ ) -> RESTResponseType:
1274
+ """FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
1275
+
1276
+
1277
+ :param collection_id: Required. The H2OGPTe collection ID to find the Workflow by.
1278
+ :type collection_id: str
1279
+ :param _request_timeout: timeout setting for this request. If one
1280
+ number provided, it will be total request
1281
+ timeout. It can also be a pair (tuple) of
1282
+ (connection, read) timeouts.
1283
+ :type _request_timeout: int, tuple(int, int), optional
1284
+ :param _request_auth: set to override the auth_settings for an a single
1285
+ request; this effectively ignores the
1286
+ authentication in the spec for a single request.
1287
+ :type _request_auth: dict, optional
1288
+ :param _content_type: force content-type for the request.
1289
+ :type _content_type: str, Optional
1290
+ :param _headers: set to override the headers for a single
1291
+ request; this effectively ignores the headers
1292
+ in the spec for a single request.
1293
+ :type _headers: dict, optional
1294
+ :param _host_index: set to override the host_index for a single
1295
+ request; this effectively ignores the host_index
1296
+ in the spec for a single request.
1297
+ :type _host_index: int, optional
1298
+ :return: Returns the result object.
1299
+ """ # noqa: E501
1300
+
1301
+ _param = self._workflow_service_find_workflows_by_collection_id_serialize(
1302
+ collection_id=collection_id,
1303
+ _request_auth=_request_auth,
1304
+ _content_type=_content_type,
1305
+ _headers=_headers,
1306
+ _host_index=_host_index
1307
+ )
1308
+
1309
+ _response_types_map: Dict[str, Optional[str]] = {
1310
+ '200': "V1FindWorkflowsByCollectionIDResponse",
1311
+ }
1312
+ response_data = self.api_client.call_api(
1313
+ *_param,
1314
+ _request_timeout=_request_timeout
1315
+ )
1316
+ return response_data.response
1317
+
1318
+
1319
+ def _workflow_service_find_workflows_by_collection_id_serialize(
1320
+ self,
1321
+ collection_id,
1322
+ _request_auth,
1323
+ _content_type,
1324
+ _headers,
1325
+ _host_index,
1326
+ ) -> RequestSerialized:
1327
+
1328
+ _host = None
1329
+
1330
+ _collection_formats: Dict[str, str] = {
1331
+ }
1332
+
1333
+ _path_params: Dict[str, str] = {}
1334
+ _query_params: List[Tuple[str, str]] = []
1335
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1336
+ _form_params: List[Tuple[str, str]] = []
1337
+ _files: Dict[str, Union[str, bytes]] = {}
1338
+ _body_params: Optional[bytes] = None
1339
+
1340
+ # process the path parameters
1341
+ # process the query parameters
1342
+ if collection_id is not None:
1343
+
1344
+ _query_params.append(('collectionId', collection_id))
1345
+
1346
+ # process the header parameters
1347
+ # process the form parameters
1348
+ # process the body parameter
1349
+
1350
+
1351
+ # set the HTTP header `Accept`
1352
+ _header_params['Accept'] = self.api_client.select_header_accept(
1353
+ [
1354
+ 'application/json'
1355
+ ]
1356
+ )
1357
+
1358
+
1359
+ # authentication setting
1360
+ _auth_settings: List[str] = [
1361
+ ]
1362
+
1363
+ return self.api_client.param_serialize(
1364
+ method='GET',
1365
+ resource_path='/v1/workflows:findWorkflowByH2OGPTeCollectionID',
1366
+ path_params=_path_params,
1367
+ query_params=_query_params,
1368
+ header_params=_header_params,
1369
+ body=_body_params,
1370
+ post_params=_form_params,
1371
+ files=_files,
1372
+ auth_settings=_auth_settings,
1373
+ collection_formats=_collection_formats,
1374
+ _host=_host,
1375
+ _request_auth=_request_auth
1376
+ )
1377
+
1378
+
1379
+
1380
+
1123
1381
  @validate_call
1124
1382
  def workflow_service_get_guardrails_configuration(
1125
1383
  self,
@@ -0,0 +1,29 @@
1
+ # V1FindWorkflowsByCollectionIDResponse
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **workflows** | [**List[V1Workflow]**](V1Workflow.md) | The Workflows found. | [optional]
9
+
10
+ ## Example
11
+
12
+ ```python
13
+ from eval_studio_client.api.models.v1_find_workflows_by_collection_id_response import V1FindWorkflowsByCollectionIDResponse
14
+
15
+ # TODO update the JSON string below
16
+ json = "{}"
17
+ # create an instance of V1FindWorkflowsByCollectionIDResponse from a JSON string
18
+ v1_find_workflows_by_collection_id_response_instance = V1FindWorkflowsByCollectionIDResponse.from_json(json)
19
+ # print the JSON string representation of the object
20
+ print(V1FindWorkflowsByCollectionIDResponse.to_json())
21
+
22
+ # convert the object into a dict
23
+ v1_find_workflows_by_collection_id_response_dict = v1_find_workflows_by_collection_id_response_instance.to_dict()
24
+ # create an instance of V1FindWorkflowsByCollectionIDResponse from a dict
25
+ v1_find_workflows_by_collection_id_response_from_dict = V1FindWorkflowsByCollectionIDResponse.from_dict(v1_find_workflows_by_collection_id_response_dict)
26
+ ```
27
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
28
+
29
+
@@ -8,6 +8,7 @@ Method | HTTP request | Description
8
8
  [**workflow_service_clone_workflow**](WorkflowServiceApi.md#workflow_service_clone_workflow) | **POST** /v1/{name_1}:clone | CloneWorkflow clones an existing Workflow.
9
9
  [**workflow_service_create_workflow**](WorkflowServiceApi.md#workflow_service_create_workflow) | **POST** /v1/workflows | CreateWorkflow creates a Workflow.
10
10
  [**workflow_service_delete_workflow**](WorkflowServiceApi.md#workflow_service_delete_workflow) | **DELETE** /v1/{name_9} | DeleteWorkflow deletes a Workflow by name. If the Workflow does not exist an error is returned.
11
+ [**workflow_service_find_workflows_by_collection_id**](WorkflowServiceApi.md#workflow_service_find_workflows_by_collection_id) | **GET** /v1/workflows:findWorkflowByH2OGPTeCollectionID | FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
11
12
  [**workflow_service_get_guardrails_configuration**](WorkflowServiceApi.md#workflow_service_get_guardrails_configuration) | **GET** /v1/{name}:getGuardrailsConfiguration |
12
13
  [**workflow_service_get_workflow**](WorkflowServiceApi.md#workflow_service_get_workflow) | **GET** /v1/{name_12} | GetWorkflow retrieves a Workflow by name. Deleted Workflow is returned without error, it has a delete_time and deleter fields set.
13
14
  [**workflow_service_list_workflow_dependencies**](WorkflowServiceApi.md#workflow_service_list_workflow_dependencies) | **GET** /v1/{name}:nodeDependencies | ListWorkflowDependencies lists workflow nodes and map of the node dependencies.
@@ -288,6 +289,73 @@ No authorization required
288
289
 
289
290
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
290
291
 
292
+ # **workflow_service_find_workflows_by_collection_id**
293
+ > V1FindWorkflowsByCollectionIDResponse workflow_service_find_workflows_by_collection_id(collection_id=collection_id)
294
+
295
+ FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
296
+
297
+ ### Example
298
+
299
+
300
+ ```python
301
+ import eval_studio_client.api
302
+ from eval_studio_client.api.models.v1_find_workflows_by_collection_id_response import V1FindWorkflowsByCollectionIDResponse
303
+ from eval_studio_client.api.rest import ApiException
304
+ from pprint import pprint
305
+
306
+ # Defining the host is optional and defaults to http://localhost
307
+ # See configuration.py for a list of all supported configuration parameters.
308
+ configuration = eval_studio_client.api.Configuration(
309
+ host = "http://localhost"
310
+ )
311
+
312
+
313
+ # Enter a context with an instance of the API client
314
+ with eval_studio_client.api.ApiClient(configuration) as api_client:
315
+ # Create an instance of the API class
316
+ api_instance = eval_studio_client.api.WorkflowServiceApi(api_client)
317
+ collection_id = 'collection_id_example' # str | Required. The H2OGPTe collection ID to find the Workflow by. (optional)
318
+
319
+ try:
320
+ # FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
321
+ api_response = api_instance.workflow_service_find_workflows_by_collection_id(collection_id=collection_id)
322
+ print("The response of WorkflowServiceApi->workflow_service_find_workflows_by_collection_id:\n")
323
+ pprint(api_response)
324
+ except Exception as e:
325
+ print("Exception when calling WorkflowServiceApi->workflow_service_find_workflows_by_collection_id: %s\n" % e)
326
+ ```
327
+
328
+
329
+
330
+ ### Parameters
331
+
332
+
333
+ Name | Type | Description | Notes
334
+ ------------- | ------------- | ------------- | -------------
335
+ **collection_id** | **str**| Required. The H2OGPTe collection ID to find the Workflow by. | [optional]
336
+
337
+ ### Return type
338
+
339
+ [**V1FindWorkflowsByCollectionIDResponse**](V1FindWorkflowsByCollectionIDResponse.md)
340
+
341
+ ### Authorization
342
+
343
+ No authorization required
344
+
345
+ ### HTTP request headers
346
+
347
+ - **Content-Type**: Not defined
348
+ - **Accept**: application/json
349
+
350
+ ### HTTP response details
351
+
352
+ | Status code | Description | Response headers |
353
+ |-------------|-------------|------------------|
354
+ **200** | A successful response. | - |
355
+ **0** | An unexpected error response. | - |
356
+
357
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
358
+
291
359
  # **workflow_service_get_guardrails_configuration**
292
360
  > V1GetGuardrailsConfigurationResponse workflow_service_get_guardrails_configuration(name)
293
361
 
@@ -111,6 +111,7 @@ from eval_studio_client.api.models.v1_evaluator_view import V1EvaluatorView
111
111
  from eval_studio_client.api.models.v1_finalize_operation_response import V1FinalizeOperationResponse
112
112
  from eval_studio_client.api.models.v1_find_all_test_cases_by_id_response import V1FindAllTestCasesByIDResponse
113
113
  from eval_studio_client.api.models.v1_find_test_lab_response import V1FindTestLabResponse
114
+ from eval_studio_client.api.models.v1_find_workflows_by_collection_id_response import V1FindWorkflowsByCollectionIDResponse
114
115
  from eval_studio_client.api.models.v1_generate_test_cases_response import V1GenerateTestCasesResponse
115
116
  from eval_studio_client.api.models.v1_get_dashboard_response import V1GetDashboardResponse
116
117
  from eval_studio_client.api.models.v1_get_document_response import V1GetDocumentResponse
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ ai/h2o/eval_studio/v1/insight.proto
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: version not set
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from eval_studio_client.api.models.v1_workflow import V1Workflow
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1FindWorkflowsByCollectionIDResponse(BaseModel):
27
+ """
28
+ V1FindWorkflowsByCollectionIDResponse
29
+ """ # noqa: E501
30
+ workflows: Optional[List[V1Workflow]] = Field(default=None, description="The Workflows found.")
31
+ __properties: ClassVar[List[str]] = ["workflows"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of V1FindWorkflowsByCollectionIDResponse from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # override the default output from pydantic by calling `to_dict()` of each item in workflows (list)
73
+ _items = []
74
+ if self.workflows:
75
+ for _item in self.workflows:
76
+ if _item:
77
+ _items.append(_item.to_dict())
78
+ _dict['workflows'] = _items
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of V1FindWorkflowsByCollectionIDResponse from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "workflows": [V1Workflow.from_dict(_item) for _item in obj["workflows"]] if obj.get("workflows") is not None else None
92
+ })
93
+ return _obj
94
+
95
+
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ ai/h2o/eval_studio/v1/insight.proto
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: version not set
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from eval_studio_client.api.models.v1_find_workflows_by_collection_id_response import V1FindWorkflowsByCollectionIDResponse
18
+
19
+ class TestV1FindWorkflowsByCollectionIDResponse(unittest.TestCase):
20
+ """V1FindWorkflowsByCollectionIDResponse unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1FindWorkflowsByCollectionIDResponse:
29
+ """Test V1FindWorkflowsByCollectionIDResponse
30
+ include_option is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1FindWorkflowsByCollectionIDResponse`
34
+ """
35
+ model = V1FindWorkflowsByCollectionIDResponse()
36
+ if include_optional:
37
+ return V1FindWorkflowsByCollectionIDResponse(
38
+ workflows = [
39
+ eval_studio_client.api.models.v1_workflow.v1Workflow(
40
+ name = '',
41
+ display_name = '',
42
+ description = '',
43
+ create_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
44
+ creator = '',
45
+ update_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
46
+ updater = '',
47
+ delete_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
48
+ deleter = '',
49
+ type = 'WORKFLOW_TYPE_UNSPECIFIED',
50
+ model = '',
51
+ nodes = [
52
+ ''
53
+ ],
54
+ edges = [
55
+ ''
56
+ ],
57
+ outputs = {
58
+ 'key' : None
59
+ },
60
+ output_artifacts = {
61
+ 'key' : eval_studio_client.api.models.v1_workflow_node_artifacts.v1WorkflowNodeArtifacts(
62
+ artifacts = [
63
+ eval_studio_client.api.models.v1_workflow_node_artifact.v1WorkflowNodeArtifact(
64
+ name = '',
65
+ parent = '',
66
+ display_name = '',
67
+ description = '',
68
+ create_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
69
+ creator = '',
70
+ update_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
71
+ updater = '',
72
+ delete_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
73
+ deleter = '',
74
+ mime_type = '', )
75
+ ], )
76
+ },
77
+ llm_model = '',
78
+ model_parameters = '',
79
+ document = '',
80
+ h2ogpte_collection = '',
81
+ cloned_from_workflow = '', )
82
+ ]
83
+ )
84
+ else:
85
+ return V1FindWorkflowsByCollectionIDResponse(
86
+ )
87
+ """
88
+
89
+ def testV1FindWorkflowsByCollectionIDResponse(self):
90
+ """Test V1FindWorkflowsByCollectionIDResponse"""
91
+ # inst_req_only = self.make_instance(include_optional=False)
92
+ # inst_req_and_optional = self.make_instance(include_optional=True)
93
+
94
+ if __name__ == '__main__':
95
+ unittest.main()
@@ -54,6 +54,13 @@ class TestWorkflowServiceApi(unittest.TestCase):
54
54
  """
55
55
  pass
56
56
 
57
+ def test_workflow_service_find_workflows_by_collection_id(self) -> None:
58
+ """Test case for workflow_service_find_workflows_by_collection_id
59
+
60
+ FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.
61
+ """
62
+ pass
63
+
57
64
  def test_workflow_service_get_guardrails_configuration(self) -> None:
58
65
  """Test case for workflow_service_get_guardrails_configuration
59
66
 
@@ -2338,6 +2338,38 @@
2338
2338
  ]
2339
2339
  }
2340
2340
  },
2341
+ "/v1/workflows:findWorkflowByH2OGPTeCollectionID": {
2342
+ "get": {
2343
+ "summary": "FindWorkflowByCollectionID finds a Workflow by used H2OGPTe collection ID.",
2344
+ "operationId": "WorkflowService_FindWorkflowsByCollectionID",
2345
+ "responses": {
2346
+ "200": {
2347
+ "description": "A successful response.",
2348
+ "schema": {
2349
+ "$ref": "#/definitions/v1FindWorkflowsByCollectionIDResponse"
2350
+ }
2351
+ },
2352
+ "default": {
2353
+ "description": "An unexpected error response.",
2354
+ "schema": {
2355
+ "$ref": "#/definitions/rpcStatus"
2356
+ }
2357
+ }
2358
+ },
2359
+ "parameters": [
2360
+ {
2361
+ "name": "collectionId",
2362
+ "description": "Required. The H2OGPTe collection ID to find the Workflow by.",
2363
+ "in": "query",
2364
+ "required": false,
2365
+ "type": "string"
2366
+ }
2367
+ ],
2368
+ "tags": [
2369
+ "WorkflowService"
2370
+ ]
2371
+ }
2372
+ },
2341
2373
  "/v1/{dashboard.name}": {
2342
2374
  "patch": {
2343
2375
  "operationId": "DashboardService_UpdateDashboard",
@@ -6839,6 +6871,19 @@
6839
6871
  }
6840
6872
  }
6841
6873
  },
6874
+ "v1FindWorkflowsByCollectionIDResponse": {
6875
+ "type": "object",
6876
+ "properties": {
6877
+ "workflows": {
6878
+ "type": "array",
6879
+ "items": {
6880
+ "type": "object",
6881
+ "$ref": "#/definitions/v1Workflow"
6882
+ },
6883
+ "description": "The Workflows found."
6884
+ }
6885
+ }
6886
+ },
6842
6887
  "v1GenerateTestCasesResponse": {
6843
6888
  "type": "object",
6844
6889
  "properties": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eval-studio-client
3
- Version: 1.1.0a7
3
+ Version: 1.1.1
4
4
  Project-URL: Source, https://github.com/h2oai/eval-studio/tree/main/client-py/src/
5
5
  Project-URL: Issues, https://github.com/h2oai/eval-studio/issues
6
6
  Author-email: "H2O.ai" <support@h2o.ai>
@@ -12,7 +12,7 @@ eval_studio_client/problems.py,sha256=rdGIfo7AqyxGhWMpbIDX1WXFoQvzKktKAWDKRde5Vb
12
12
  eval_studio_client/test_labs.py,sha256=tePU8z4Cw6wMBrW-pSP3FAaT76Y2RK3xiWaRVndcmv4,12331
13
13
  eval_studio_client/tests.py,sha256=mH4xexkwUbFywE0O48FkEmit07gsCghznaPZjL2puKM,32980
14
14
  eval_studio_client/utils.py,sha256=e5bsQVgNHYNSqSOthxlmncerPdgbvWwQaY_C-libuXk,764
15
- eval_studio_client/api/__init__.py,sha256=Hd-GCbKSIf4LdJ937gZZDJKpv6Y2Bo8a-Syt0oZqbkI,23344
15
+ eval_studio_client/api/__init__.py,sha256=Ml-RLP3e_YKiBrqdw-LCCtOBd_ZtuVePO-gWDtsRZyQ,23468
16
16
  eval_studio_client/api/api_client.py,sha256=2Qwvxm4lRzMDRaA2FqunosFSEbIEO7Oz5YH5WAGTDnU,26428
17
17
  eval_studio_client/api/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
18
18
  eval_studio_client/api/configuration.py,sha256=3A8i8o_A71YfdwAzpmNYI-aBT7pWj2Eg7uBCLhamPPs,14520
@@ -43,7 +43,7 @@ eval_studio_client/api/api/test_service_api.py,sha256=cUGg2icZkrHat5MLdru6C0l51s
43
43
  eval_studio_client/api/api/who_am_i_service_api.py,sha256=Am6A2ADTsStWPhSGcUcVTr7Kcl7TQ2LyyADuNhyTR_g,10326
44
44
  eval_studio_client/api/api/workflow_edge_service_api.py,sha256=_nMV7ya5Uxll3kyAZgoVwtvclZP5LqGgMOWlrM6AEjE,34540
45
45
  eval_studio_client/api/api/workflow_node_service_api.py,sha256=pszpOlQ82UPLLd8xSG-z8ygqptGTKZJTLQYizwSQEn8,105755
46
- eval_studio_client/api/api/workflow_service_api.py,sha256=1llKqfObt-hoGfY4n4jg8sobLY0wpfoDSqQfb5JMxM4,97559
46
+ eval_studio_client/api/api/workflow_service_api.py,sha256=v8F-q8h-ZH5C3-dD5NATS1Z7VJyvsmSVitnZhgVYgL8,108347
47
47
  eval_studio_client/api/docs/AdversarialInputsServiceApi.md,sha256=B7XWi7se4QJCTilz3ynROBNe2OQI5NIl3ypCKkEzVlk,3098
48
48
  eval_studio_client/api/docs/AdversarialInputsServiceTestAdversarialInputsRobustnessRequest.md,sha256=OtQi3VLRE3o28wG0FXoXD2IdXBxL4pu5xuefJNwJTHI,3968
49
49
  eval_studio_client/api/docs/DashboardServiceApi.md,sha256=5XbPvjWaYqQl-28kHIH7y_zDJJAG23VNzhYDk_LV57M,20431
@@ -162,6 +162,7 @@ eval_studio_client/api/docs/V1EvaluatorView.md,sha256=KJiZ9xGSyhGfqToNWYN3DQSwyS
162
162
  eval_studio_client/api/docs/V1FinalizeOperationResponse.md,sha256=hstFodHOaIo3xjIq3EFLOZ-wwBe0GCenOlSiMh68B8Y,1109
163
163
  eval_studio_client/api/docs/V1FindAllTestCasesByIDResponse.md,sha256=XNfuyhfeHmj1Uo-zWCXh_WGKON5nRnDxsx2exE3l-80,1199
164
164
  eval_studio_client/api/docs/V1FindTestLabResponse.md,sha256=cc-cG2eV5wp8XdihCtAAhBuICpdmbgHBa1CJ1OycA4E,1032
165
+ eval_studio_client/api/docs/V1FindWorkflowsByCollectionIDResponse.md,sha256=bphKQnUWImEJZgzmxBr2BnAPUjrSq1cBs1hzDOO4Vp0,1281
165
166
  eval_studio_client/api/docs/V1GenerateTestCasesResponse.md,sha256=YHQQrk0F9FXdqrqPTnNxUrSWr42L9VW4K4v4wFWntqg,1115
166
167
  eval_studio_client/api/docs/V1GetDashboardResponse.md,sha256=v4pZcpq-x7M4VG4Gp0yfslb4XLFy_2QF0UBo93RefOU,1044
167
168
  eval_studio_client/api/docs/V1GetDocumentResponse.md,sha256=zW8BEDk1axGqpjh35TVD-exRWP7gxszzx5XuEdQho-s,1028
@@ -277,9 +278,9 @@ eval_studio_client/api/docs/V1WorkflowType.md,sha256=NEV31ubMjbz-pIgrhHjE6g2edQC
277
278
  eval_studio_client/api/docs/WhoAmIServiceApi.md,sha256=4WdD0einH2LA3FWwL_BDvPDG6O3w_Sc2Gn82KceAjH8,2163
278
279
  eval_studio_client/api/docs/WorkflowEdgeServiceApi.md,sha256=BYOqI5AIaBOLMaSPEsvmzSWkqJwIdPhflHypKLtmDTg,8609
279
280
  eval_studio_client/api/docs/WorkflowNodeServiceApi.md,sha256=xqbOn71eF3_nS6DNRc8n7rRBEmk294xT5_owjbd-88o,27530
280
- eval_studio_client/api/docs/WorkflowServiceApi.md,sha256=U_K48gGo0RdLjyAnH1yC3gk4PMI_58CG6MVTVPJgU60,22946
281
+ eval_studio_client/api/docs/WorkflowServiceApi.md,sha256=6sZpr2V-KLpmgyj22khiwcG725qJLFbVvP3knRVWB0Y,25659
281
282
  eval_studio_client/api/docs/WorkflowServiceCloneWorkflowRequest.md,sha256=fN-qS7wkta3xTLcGfy4NTPlmyu3g1_NLZ0Q0ehJcDpI,2115
282
- eval_studio_client/api/models/__init__.py,sha256=xOnmZx29D6oPdFox8IHEnrTL4u43YooPqqMQfWtApyQ,20598
283
+ eval_studio_client/api/models/__init__.py,sha256=OD5RP-r24bZxSm5UnLnS35XFO4wdnXgJuR16ZiNGiwY,20722
283
284
  eval_studio_client/api/models/adversarial_inputs_service_test_adversarial_inputs_robustness_request.py,sha256=JhHXmeWmrfI1-PEGYi7Ky7lWCYuM-eDTKZPFDQv4n7Q,8832
284
285
  eval_studio_client/api/models/perturbation_service_create_perturbation_request.py,sha256=EpkmFf1kVq4dFThRoY8aNHkc7P-gNlGwpuc9KcTtTDs,5629
285
286
  eval_studio_client/api/models/prompt_generation_service_auto_generate_prompts_request.py,sha256=wcG3bsYiwM0-X2Pd30xae0c9br-pqjcz2_vzwR5Cybg,5357
@@ -377,6 +378,7 @@ eval_studio_client/api/models/v1_evaluator_view.py,sha256=5FAdg48CV83UsmMpvLpEZs
377
378
  eval_studio_client/api/models/v1_finalize_operation_response.py,sha256=rj3foaDgH-OwHiThDyxfYgxGFuNjgzDiGUKsfICxAN8,2905
378
379
  eval_studio_client/api/models/v1_find_all_test_cases_by_id_response.py,sha256=E4hKDgyrBo9Xa_PauAD0ETjS5hFeVb1GFJAdvuFn-9Y,3164
379
380
  eval_studio_client/api/models/v1_find_test_lab_response.py,sha256=O4u1BfUZ8NONvo6zY1NgboLwwGs20XGMGgL67oW8m2I,2899
381
+ eval_studio_client/api/models/v1_find_workflows_by_collection_id_response.py,sha256=dbkcMlynYDP3G5JA6x_qPDpedA2t5DVDTC3kau16edI,3166
380
382
  eval_studio_client/api/models/v1_generate_test_cases_response.py,sha256=M3ZVEo5D213OShWZoM8JQ6gl_xvj5oafh36KIUweoaY,2905
381
383
  eval_studio_client/api/models/v1_get_dashboard_response.py,sha256=RNTBkvKCTvcypGgkcw9LHci82fi5EJcehcOngU6Bsnw,2885
382
384
  eval_studio_client/api/models/v1_get_document_response.py,sha256=vShaz_Hng8JkIOaHfeH6S4P9LvcCLL7Ws6XZCMmN1n8,2868
@@ -609,6 +611,7 @@ eval_studio_client/api/test/test_v1_evaluator_view.py,sha256=HsqgAhQxSTXNQhjG3q3
609
611
  eval_studio_client/api/test/test_v1_finalize_operation_response.py,sha256=v1Hs4I3T3biobGLmWe5G6GA98-zVkNoFD_z4rQl--Uc,2619
610
612
  eval_studio_client/api/test/test_v1_find_all_test_cases_by_id_response.py,sha256=PtqikS3C3skqh-A4KNGJiF3tZL9fRy2HHB57_a9Mg34,2763
611
613
  eval_studio_client/api/test/test_v1_find_test_lab_response.py,sha256=YMDOKfKMxggWLhwhDFKBQ32vxQZPnPGxIYiURbOvKaQ,2385
614
+ eval_studio_client/api/test/test_v1_find_workflows_by_collection_id_response.py,sha256=8SKMoJDl14btw27OrpHGmgGXk_utFJPnOnmcUpiSLuw,4275
612
615
  eval_studio_client/api/test/test_v1_generate_test_cases_response.py,sha256=IFch-yaGkUL5HBLpVrd5X1a62TkunbCwQZpWgloYaYw,2620
613
616
  eval_studio_client/api/test/test_v1_get_dashboard_response.py,sha256=1pi5X28i7IMchma3PoG1OzdvetfaAOeix3UWgo0rHJM,2427
614
617
  eval_studio_client/api/test/test_v1_get_document_response.py,sha256=oOzkMXZbIRDArIbxn2UrztiSPvjU6WXEPHlOpBphuHo,2153
@@ -724,9 +727,9 @@ eval_studio_client/api/test/test_v1_workflow_type.py,sha256=mueLud9ujK_AtuoRUKoD
724
727
  eval_studio_client/api/test/test_who_am_i_service_api.py,sha256=T1B3Drpu4G11kUYazeI-4l-RZhvQPB4rkFzAPkcvl6Y,895
725
728
  eval_studio_client/api/test/test_workflow_edge_service_api.py,sha256=M42JexfC9GMJPZvTv43vJtdndYrXlNmabk_zPtpLDSU,1624
726
729
  eval_studio_client/api/test/test_workflow_node_service_api.py,sha256=Yiwp7OKJhmDRGu0QWLu7ljZS6eUicNg2-ecIKZjSsXQ,3574
727
- eval_studio_client/api/test/test_workflow_service_api.py,sha256=IdXocT_m0fLJ-ah_ase2pZ0jxFqkrDG_oIX6D_tczXs,2763
730
+ eval_studio_client/api/test/test_workflow_service_api.py,sha256=DbczaurH2D5vH6NfYkas1_0yfB6lvzHD7lhCp-gS3J4,3024
728
731
  eval_studio_client/api/test/test_workflow_service_clone_workflow_request.py,sha256=loIe3yBEh454kxeTnT1Y7dwGbktRvm0XBZPWhkoXELQ,1866
729
- eval_studio_client/gen/openapiv2/eval_studio.swagger.json,sha256=3JNvXuMKpEhhpYA77VS2jeGO4IyS47JpknZ24rL3B1g,328714
730
- eval_studio_client-1.1.0a7.dist-info/METADATA,sha256=yhTrtcZ2IO0bfwCMJ2FD54QukEAIt4N7KLt5vvDxrL8,696
731
- eval_studio_client-1.1.0a7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
732
- eval_studio_client-1.1.0a7.dist-info/RECORD,,
732
+ eval_studio_client/gen/openapiv2/eval_studio.swagger.json,sha256=wpZJMUKw7uuHuOwXGhFpv3E0zULBSKKFcj8_nAr1cpc,330038
733
+ eval_studio_client-1.1.1.dist-info/METADATA,sha256=iHUg1epMrgy2JOucvByJBvc-Yo7feFG4fkqqYTeblSw,694
734
+ eval_studio_client-1.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
735
+ eval_studio_client-1.1.1.dist-info/RECORD,,