eval-studio-client 1.1.6a3__py3-none-any.whl → 1.2.0a2__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 (97) hide show
  1. eval_studio_client/api/__init__.py +20 -0
  2. eval_studio_client/api/api/__init__.py +1 -0
  3. eval_studio_client/api/api/dashboard_service_api.py +1134 -73
  4. eval_studio_client/api/api/info_service_api.py +240 -0
  5. eval_studio_client/api/api/test_service_api.py +1233 -172
  6. eval_studio_client/api/api/workflow_result_service_api.py +1057 -0
  7. eval_studio_client/api/api/workflow_service_api.py +1125 -64
  8. eval_studio_client/api/docs/DashboardServiceApi.md +272 -0
  9. eval_studio_client/api/docs/InfoServiceApi.md +63 -0
  10. eval_studio_client/api/docs/RequiredTheUpdatedWorkflowNode.md +2 -0
  11. eval_studio_client/api/docs/TestServiceApi.md +268 -0
  12. eval_studio_client/api/docs/TestServiceGrantTestAccessRequest.md +30 -0
  13. eval_studio_client/api/docs/TestServiceRevokeTestAccessRequest.md +30 -0
  14. eval_studio_client/api/docs/V1GetStatsResponse.md +29 -0
  15. eval_studio_client/api/docs/V1GetWorkflowResultCorpusPatchResponse.md +29 -0
  16. eval_studio_client/api/docs/V1GetWorkflowResultReportResponse.md +29 -0
  17. eval_studio_client/api/docs/V1GetWorkflowResultSummaryResponse.md +32 -0
  18. eval_studio_client/api/docs/V1GetWorkflowResultSystemPromptPatchResponse.md +29 -0
  19. eval_studio_client/api/docs/V1Info.md +1 -0
  20. eval_studio_client/api/docs/V1ListDashboardAccessResponse.md +29 -0
  21. eval_studio_client/api/docs/V1ListDashboardsSharedWithMeResponse.md +29 -0
  22. eval_studio_client/api/docs/V1ListTestAccessResponse.md +29 -0
  23. eval_studio_client/api/docs/V1ListTestsSharedWithMeResponse.md +29 -0
  24. eval_studio_client/api/docs/V1ListWorkflowAccessResponse.md +29 -0
  25. eval_studio_client/api/docs/V1ListWorkflowsSharedWithMeResponse.md +29 -0
  26. eval_studio_client/api/docs/V1Role.md +12 -0
  27. eval_studio_client/api/docs/V1RoleBinding.md +32 -0
  28. eval_studio_client/api/docs/V1Stats.md +31 -0
  29. eval_studio_client/api/docs/V1WorkflowNode.md +2 -0
  30. eval_studio_client/api/docs/V1WorkflowNodeResultStatus.md +12 -0
  31. eval_studio_client/api/docs/V1WorkflowResultArtifactType.md +12 -0
  32. eval_studio_client/api/docs/WorkflowResultServiceApi.md +280 -0
  33. eval_studio_client/api/docs/WorkflowServiceApi.md +277 -5
  34. eval_studio_client/api/docs/WorkflowServiceRevokeWorkflowAccessRequest.md +30 -0
  35. eval_studio_client/api/models/__init__.py +19 -0
  36. eval_studio_client/api/models/required_the_updated_workflow_node.py +10 -3
  37. eval_studio_client/api/models/test_service_grant_test_access_request.py +90 -0
  38. eval_studio_client/api/models/test_service_revoke_test_access_request.py +90 -0
  39. eval_studio_client/api/models/v1_get_stats_response.py +91 -0
  40. eval_studio_client/api/models/v1_get_workflow_result_corpus_patch_response.py +87 -0
  41. eval_studio_client/api/models/v1_get_workflow_result_report_response.py +87 -0
  42. eval_studio_client/api/models/v1_get_workflow_result_summary_response.py +94 -0
  43. eval_studio_client/api/models/v1_get_workflow_result_system_prompt_patch_response.py +87 -0
  44. eval_studio_client/api/models/v1_info.py +4 -2
  45. eval_studio_client/api/models/v1_list_dashboard_access_response.py +95 -0
  46. eval_studio_client/api/models/v1_list_dashboards_shared_with_me_response.py +95 -0
  47. eval_studio_client/api/models/v1_list_test_access_response.py +95 -0
  48. eval_studio_client/api/models/v1_list_tests_shared_with_me_response.py +95 -0
  49. eval_studio_client/api/models/v1_list_workflow_access_response.py +95 -0
  50. eval_studio_client/api/models/v1_list_workflows_shared_with_me_response.py +95 -0
  51. eval_studio_client/api/models/v1_role.py +38 -0
  52. eval_studio_client/api/models/v1_role_binding.py +92 -0
  53. eval_studio_client/api/models/v1_stats.py +99 -0
  54. eval_studio_client/api/models/v1_workflow_node.py +10 -3
  55. eval_studio_client/api/models/v1_workflow_node_result_status.py +40 -0
  56. eval_studio_client/api/models/v1_workflow_result_artifact_type.py +40 -0
  57. eval_studio_client/api/models/workflow_service_revoke_workflow_access_request.py +90 -0
  58. eval_studio_client/api/test/test_dashboard_service_api.py +28 -0
  59. eval_studio_client/api/test/test_info_service_api.py +6 -0
  60. eval_studio_client/api/test/test_required_the_updated_workflow_node.py +3 -1
  61. eval_studio_client/api/test/test_test_service_api.py +24 -0
  62. eval_studio_client/api/test/test_test_service_grant_test_access_request.py +52 -0
  63. eval_studio_client/api/test/test_test_service_revoke_test_access_request.py +52 -0
  64. eval_studio_client/api/test/test_v1_batch_get_workflow_nodes_response.py +3 -1
  65. eval_studio_client/api/test/test_v1_create_workflow_node_response.py +3 -1
  66. eval_studio_client/api/test/test_v1_delete_workflow_node_response.py +3 -1
  67. eval_studio_client/api/test/test_v1_get_info_response.py +2 -1
  68. eval_studio_client/api/test/test_v1_get_stats_response.py +53 -0
  69. eval_studio_client/api/test/test_v1_get_workflow_node_response.py +3 -1
  70. eval_studio_client/api/test/test_v1_get_workflow_result_corpus_patch_response.py +51 -0
  71. eval_studio_client/api/test/test_v1_get_workflow_result_report_response.py +51 -0
  72. eval_studio_client/api/test/test_v1_get_workflow_result_summary_response.py +58 -0
  73. eval_studio_client/api/test/test_v1_get_workflow_result_system_prompt_patch_response.py +51 -0
  74. eval_studio_client/api/test/test_v1_info.py +2 -1
  75. eval_studio_client/api/test/test_v1_init_workflow_node_response.py +3 -1
  76. eval_studio_client/api/test/test_v1_list_dashboard_access_response.py +56 -0
  77. eval_studio_client/api/test/test_v1_list_dashboards_shared_with_me_response.py +69 -0
  78. eval_studio_client/api/test/test_v1_list_test_access_response.py +56 -0
  79. eval_studio_client/api/test/test_v1_list_tests_shared_with_me_response.py +70 -0
  80. eval_studio_client/api/test/test_v1_list_workflow_access_response.py +56 -0
  81. eval_studio_client/api/test/test_v1_list_workflow_dependencies_response.py +3 -1
  82. eval_studio_client/api/test/test_v1_list_workflows_shared_with_me_response.py +95 -0
  83. eval_studio_client/api/test/test_v1_reset_workflow_node_response.py +3 -1
  84. eval_studio_client/api/test/test_v1_role.py +33 -0
  85. eval_studio_client/api/test/test_v1_role_binding.py +53 -0
  86. eval_studio_client/api/test/test_v1_stats.py +52 -0
  87. eval_studio_client/api/test/test_v1_update_workflow_node_response.py +3 -1
  88. eval_studio_client/api/test/test_v1_workflow_node.py +3 -1
  89. eval_studio_client/api/test/test_v1_workflow_node_result_status.py +33 -0
  90. eval_studio_client/api/test/test_v1_workflow_result_artifact_type.py +33 -0
  91. eval_studio_client/api/test/test_workflow_result_service_api.py +59 -0
  92. eval_studio_client/api/test/test_workflow_service_api.py +28 -0
  93. eval_studio_client/api/test/test_workflow_service_revoke_workflow_access_request.py +52 -0
  94. eval_studio_client/gen/openapiv2/eval_studio.swagger.json +891 -15
  95. {eval_studio_client-1.1.6a3.dist-info → eval_studio_client-1.2.0a2.dist-info}/METADATA +1 -1
  96. {eval_studio_client-1.1.6a3.dist-info → eval_studio_client-1.2.0a2.dist-info}/RECORD +97 -37
  97. {eval_studio_client-1.1.6a3.dist-info → eval_studio_client-1.2.0a2.dist-info}/WHEEL +0 -0
@@ -0,0 +1,38 @@
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 json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class V1Role(str, Enum):
22
+ """
23
+ Roles are used to define the access level of a user to a specific resource. - ROLE_UNSPECIFIED: Unspecified role. This is used when the role is not set or not applicable. - ROLE_READER: Reader role. This role allows read-only access to the resource. - ROLE_WRITER: Writer role. This role allows read and write access to the resource. This does not allow to manage access to the resource or to delete it.
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ ROLE_UNSPECIFIED = 'ROLE_UNSPECIFIED'
30
+ ROLE_READER = 'ROLE_READER'
31
+ ROLE_WRITER = 'ROLE_WRITER'
32
+
33
+ @classmethod
34
+ def from_json(cls, json_str: str) -> Self:
35
+ """Create an instance of V1Role from a JSON string"""
36
+ return cls(json.loads(json_str))
37
+
38
+
@@ -0,0 +1,92 @@
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, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from eval_studio_client.api.models.v1_role import V1Role
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1RoleBinding(BaseModel):
27
+ """
28
+ RoleBinding is used to bind a user to a specific role for a specific resource.
29
+ """ # noqa: E501
30
+ subject: Optional[StrictStr] = Field(default=None, description="The subject to which the role is assigned.")
31
+ role: Optional[V1Role] = None
32
+ resource: Optional[StrictStr] = Field(default=None, description="The resource to which the role is assigned.")
33
+ __properties: ClassVar[List[str]] = ["subject", "role", "resource"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of V1RoleBinding from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of V1RoleBinding from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "subject": obj.get("subject"),
87
+ "role": obj.get("role"),
88
+ "resource": obj.get("resource")
89
+ })
90
+ return _obj
91
+
92
+
@@ -0,0 +1,99 @@
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, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V1Stats(BaseModel):
26
+ """
27
+ Stats represents statistics about the Eval Studio instance, jobs and utilization.
28
+ """ # noqa: E501
29
+ topic_modeling_pending_jobs: Optional[StrictStr] = Field(default=None, description="Number of pending jobs in the topic modeling queue. It's marked as optional to always be part of the response, even when the value is zero.", alias="topicModelingPendingJobs")
30
+ test_validation_pending_jobs: Optional[StrictStr] = Field(default=None, description="Number of pending jobs in the test validation queue. It's marked as optional to always be part of the response, even when the value is zero.", alias="testValidationPendingJobs")
31
+ __properties: ClassVar[List[str]] = ["topicModelingPendingJobs", "testValidationPendingJobs"]
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 V1Stats 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
+ # set to None if topic_modeling_pending_jobs (nullable) is None
73
+ # and model_fields_set contains the field
74
+ if self.topic_modeling_pending_jobs is None and "topic_modeling_pending_jobs" in self.model_fields_set:
75
+ _dict['topicModelingPendingJobs'] = None
76
+
77
+ # set to None if test_validation_pending_jobs (nullable) is None
78
+ # and model_fields_set contains the field
79
+ if self.test_validation_pending_jobs is None and "test_validation_pending_jobs" in self.model_fields_set:
80
+ _dict['testValidationPendingJobs'] = None
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of V1Stats from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "topicModelingPendingJobs": obj.get("topicModelingPendingJobs"),
95
+ "testValidationPendingJobs": obj.get("testValidationPendingJobs")
96
+ })
97
+ return _obj
98
+
99
+
@@ -18,10 +18,11 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from datetime import datetime
21
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
23
  from eval_studio_client.api.models.v1_workflow_node_artifact import V1WorkflowNodeArtifact
24
24
  from eval_studio_client.api.models.v1_workflow_node_attributes import V1WorkflowNodeAttributes
25
+ from eval_studio_client.api.models.v1_workflow_node_result_status import V1WorkflowNodeResultStatus
25
26
  from eval_studio_client.api.models.v1_workflow_node_status import V1WorkflowNodeStatus
26
27
  from eval_studio_client.api.models.v1_workflow_node_type import V1WorkflowNodeType
27
28
  from typing import Optional, Set
@@ -48,7 +49,9 @@ class V1WorkflowNode(BaseModel):
48
49
  status: Optional[V1WorkflowNodeStatus] = None
49
50
  attributes: Optional[V1WorkflowNodeAttributes] = None
50
51
  processed_by_operation: Optional[StrictStr] = Field(default=None, description="Output only. Optional. Resource name of the latest Operation that has processed or is currently processing this WorkflowNode.", alias="processedByOperation")
51
- __properties: ClassVar[List[str]] = ["name", "parent", "displayName", "description", "createTime", "creator", "updateTime", "updater", "deleteTime", "deleter", "type", "parameters", "outputs", "outputArtifacts", "status", "attributes", "processedByOperation"]
52
+ result_status: Optional[V1WorkflowNodeResultStatus] = Field(default=None, alias="resultStatus")
53
+ stale: Optional[StrictBool] = Field(default=None, description="Output only. The stale field marks whether the internal result is outdated and need to be checked for validity.")
54
+ __properties: ClassVar[List[str]] = ["name", "parent", "displayName", "description", "createTime", "creator", "updateTime", "updater", "deleteTime", "deleter", "type", "parameters", "outputs", "outputArtifacts", "status", "attributes", "processedByOperation", "resultStatus", "stale"]
52
55
 
53
56
  model_config = ConfigDict(
54
57
  populate_by_name=True,
@@ -91,6 +94,7 @@ class V1WorkflowNode(BaseModel):
91
94
  * OpenAPI `readOnly` fields are excluded.
92
95
  * OpenAPI `readOnly` fields are excluded.
93
96
  * OpenAPI `readOnly` fields are excluded.
97
+ * OpenAPI `readOnly` fields are excluded.
94
98
  """
95
99
  excluded_fields: Set[str] = set([
96
100
  "name",
@@ -104,6 +108,7 @@ class V1WorkflowNode(BaseModel):
104
108
  "outputs",
105
109
  "output_artifacts",
106
110
  "processed_by_operation",
111
+ "stale",
107
112
  ])
108
113
 
109
114
  _dict = self.model_dump(
@@ -149,7 +154,9 @@ class V1WorkflowNode(BaseModel):
149
154
  "outputArtifacts": [V1WorkflowNodeArtifact.from_dict(_item) for _item in obj["outputArtifacts"]] if obj.get("outputArtifacts") is not None else None,
150
155
  "status": obj.get("status"),
151
156
  "attributes": V1WorkflowNodeAttributes.from_dict(obj["attributes"]) if obj.get("attributes") is not None else None,
152
- "processedByOperation": obj.get("processedByOperation")
157
+ "processedByOperation": obj.get("processedByOperation"),
158
+ "resultStatus": obj.get("resultStatus"),
159
+ "stale": obj.get("stale")
153
160
  })
154
161
  return _obj
155
162
 
@@ -0,0 +1,40 @@
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 json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class V1WorkflowNodeResultStatus(str, Enum):
22
+ """
23
+ WorkflowNodeResultStatus represents the result status of the finished computation of the node. - WORKFLOW_NODE_RESULT_STATUS_UNSPECIFIED: Unspecified status. - WORKFLOW_NODE_RESULT_STATUS_NONE: The process has a no result yet (no computation was done). - WORKFLOW_NODE_RESULT_STATUS_SUCCESS: The process succeeded with a valid computation. - WORKFLOW_NODE_RESULT_STATUS_WARNING: The process ends up with a result and warning. - WORKFLOW_NODE_RESULT_STATUS_ERROR: The process failed and no result was produced.
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ WORKFLOW_NODE_RESULT_STATUS_UNSPECIFIED = 'WORKFLOW_NODE_RESULT_STATUS_UNSPECIFIED'
30
+ WORKFLOW_NODE_RESULT_STATUS_NONE = 'WORKFLOW_NODE_RESULT_STATUS_NONE'
31
+ WORKFLOW_NODE_RESULT_STATUS_SUCCESS = 'WORKFLOW_NODE_RESULT_STATUS_SUCCESS'
32
+ WORKFLOW_NODE_RESULT_STATUS_WARNING = 'WORKFLOW_NODE_RESULT_STATUS_WARNING'
33
+ WORKFLOW_NODE_RESULT_STATUS_ERROR = 'WORKFLOW_NODE_RESULT_STATUS_ERROR'
34
+
35
+ @classmethod
36
+ def from_json(cls, json_str: str) -> Self:
37
+ """Create an instance of V1WorkflowNodeResultStatus from a JSON string"""
38
+ return cls(json.loads(json_str))
39
+
40
+
@@ -0,0 +1,40 @@
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 json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class V1WorkflowResultArtifactType(str, Enum):
22
+ """
23
+ WorkflowResultArtifactType enum representing the types of artifacts that can be produced by a Workflow result.
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ WORKFLOW_RESULT_ARTIFACT_TYPE_UNSPECIFIED = 'WORKFLOW_RESULT_ARTIFACT_TYPE_UNSPECIFIED'
30
+ WORKFLOW_RESULT_ARTIFACT_TYPE_REPORT = 'WORKFLOW_RESULT_ARTIFACT_TYPE_REPORT'
31
+ WORKFLOW_RESULT_ARTIFACT_TYPE_CORPUS_PATCH = 'WORKFLOW_RESULT_ARTIFACT_TYPE_CORPUS_PATCH'
32
+ WORKFLOW_RESULT_ARTIFACT_TYPE_SYSTEM_PROMPT_PATCH = 'WORKFLOW_RESULT_ARTIFACT_TYPE_SYSTEM_PROMPT_PATCH'
33
+ WORKFLOW_RESULT_ARTIFACT_TYPE_GUARDRAIL_CONFIG = 'WORKFLOW_RESULT_ARTIFACT_TYPE_GUARDRAIL_CONFIG'
34
+
35
+ @classmethod
36
+ def from_json(cls, json_str: str) -> Self:
37
+ """Create an instance of V1WorkflowResultArtifactType from a JSON string"""
38
+ return cls(json.loads(json_str))
39
+
40
+
@@ -0,0 +1,90 @@
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, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from eval_studio_client.api.models.v1_role import V1Role
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class WorkflowServiceRevokeWorkflowAccessRequest(BaseModel):
27
+ """
28
+ WorkflowServiceRevokeWorkflowAccessRequest
29
+ """ # noqa: E501
30
+ subject: Optional[StrictStr] = Field(default=None, description="Required. The subject to revoke access from.")
31
+ role: Optional[V1Role] = None
32
+ __properties: ClassVar[List[str]] = ["subject", "role"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of WorkflowServiceRevokeWorkflowAccessRequest from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of WorkflowServiceRevokeWorkflowAccessRequest from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "subject": obj.get("subject"),
86
+ "role": obj.get("role")
87
+ })
88
+ return _obj
89
+
90
+
@@ -56,18 +56,46 @@ class TestDashboardServiceApi(unittest.TestCase):
56
56
  """
57
57
  pass
58
58
 
59
+ def test_dashboard_service_grant_dashboard_access(self) -> None:
60
+ """Test case for dashboard_service_grant_dashboard_access
61
+
62
+ GrantDashboardAccess grants access to a Dashboard to a subject with a specified role.
63
+ """
64
+ pass
65
+
66
+ def test_dashboard_service_list_dashboard_access(self) -> None:
67
+ """Test case for dashboard_service_list_dashboard_access
68
+
69
+ ListDashboardAccess lists access to a Dashboard.
70
+ """
71
+ pass
72
+
59
73
  def test_dashboard_service_list_dashboards(self) -> None:
60
74
  """Test case for dashboard_service_list_dashboards
61
75
 
62
76
  """
63
77
  pass
64
78
 
79
+ def test_dashboard_service_list_dashboards_shared_with_me(self) -> None:
80
+ """Test case for dashboard_service_list_dashboards_shared_with_me
81
+
82
+ ListDashboardsSharedWithMe lists Dashboards shared with the authenticated user.
83
+ """
84
+ pass
85
+
65
86
  def test_dashboard_service_list_most_recent_dashboards(self) -> None:
66
87
  """Test case for dashboard_service_list_most_recent_dashboards
67
88
 
68
89
  """
69
90
  pass
70
91
 
92
+ def test_dashboard_service_revoke_dashboard_access(self) -> None:
93
+ """Test case for dashboard_service_revoke_dashboard_access
94
+
95
+ RevokeDashboardAccess revokes access to a Dashboard from a subject.
96
+ """
97
+ pass
98
+
71
99
  def test_dashboard_service_update_dashboard(self) -> None:
72
100
  """Test case for dashboard_service_update_dashboard
73
101
 
@@ -32,6 +32,12 @@ class TestInfoServiceApi(unittest.TestCase):
32
32
  """
33
33
  pass
34
34
 
35
+ def test_info_service_get_stats(self) -> None:
36
+ """Test case for info_service_get_stats
37
+
38
+ """
39
+ pass
40
+
35
41
 
36
42
  if __name__ == '__main__':
37
43
  unittest.main()
@@ -65,7 +65,9 @@ class TestRequiredTheUpdatedWorkflowNode(unittest.TestCase):
65
65
  status = 'WORKFLOW_NODE_STATUS_UNSPECIFIED',
66
66
  attributes = eval_studio_client.api.models.v1_workflow_node_attributes.v1WorkflowNodeAttributes(
67
67
  can_delete = True, ),
68
- processed_by_operation = ''
68
+ processed_by_operation = '',
69
+ result_status = 'WORKFLOW_NODE_RESULT_STATUS_UNSPECIFIED',
70
+ stale = True
69
71
  )
70
72
  else:
71
73
  return RequiredTheUpdatedWorkflowNode(
@@ -74,6 +74,12 @@ class TestTestServiceApi(unittest.TestCase):
74
74
  """
75
75
  pass
76
76
 
77
+ def test_test_service_grant_test_access(self) -> None:
78
+ """Test case for test_service_grant_test_access
79
+
80
+ """
81
+ pass
82
+
77
83
  def test_test_service_import_test_cases_from_library(self) -> None:
78
84
  """Test case for test_service_import_test_cases_from_library
79
85
 
@@ -86,6 +92,12 @@ class TestTestServiceApi(unittest.TestCase):
86
92
  """
87
93
  pass
88
94
 
95
+ def test_test_service_list_test_access(self) -> None:
96
+ """Test case for test_service_list_test_access
97
+
98
+ """
99
+ pass
100
+
89
101
  def test_test_service_list_test_case_library_items(self) -> None:
90
102
  """Test case for test_service_list_test_case_library_items
91
103
 
@@ -98,6 +110,12 @@ class TestTestServiceApi(unittest.TestCase):
98
110
  """
99
111
  pass
100
112
 
113
+ def test_test_service_list_tests_shared_with_me(self) -> None:
114
+ """Test case for test_service_list_tests_shared_with_me
115
+
116
+ """
117
+ pass
118
+
101
119
  def test_test_service_perturb_test(self) -> None:
102
120
  """Test case for test_service_perturb_test
103
121
 
@@ -110,6 +128,12 @@ class TestTestServiceApi(unittest.TestCase):
110
128
  """
111
129
  pass
112
130
 
131
+ def test_test_service_revoke_test_access(self) -> None:
132
+ """Test case for test_service_revoke_test_access
133
+
134
+ """
135
+ pass
136
+
113
137
  def test_test_service_update_test(self) -> None:
114
138
  """Test case for test_service_update_test
115
139
 
@@ -0,0 +1,52 @@
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.test_service_grant_test_access_request import TestServiceGrantTestAccessRequest
18
+
19
+ class TestTestServiceGrantTestAccessRequest(unittest.TestCase):
20
+ """TestServiceGrantTestAccessRequest 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) -> TestServiceGrantTestAccessRequest:
29
+ """Test TestServiceGrantTestAccessRequest
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 `TestServiceGrantTestAccessRequest`
34
+ """
35
+ model = TestServiceGrantTestAccessRequest()
36
+ if include_optional:
37
+ return TestServiceGrantTestAccessRequest(
38
+ subject = '',
39
+ role = 'ROLE_UNSPECIFIED'
40
+ )
41
+ else:
42
+ return TestServiceGrantTestAccessRequest(
43
+ )
44
+ """
45
+
46
+ def testTestServiceGrantTestAccessRequest(self):
47
+ """Test TestServiceGrantTestAccessRequest"""
48
+ # inst_req_only = self.make_instance(include_optional=False)
49
+ # inst_req_and_optional = self.make_instance(include_optional=True)
50
+
51
+ if __name__ == '__main__':
52
+ unittest.main()