eval-studio-client 1.1.6a4__py3-none-any.whl → 1.2.0__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 (106) hide show
  1. eval_studio_client/api/__init__.py +21 -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 +1075 -0
  7. eval_studio_client/api/api/workflow_service_api.py +1109 -48
  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/PerturbationServiceCreatePerturbationRequest.md +1 -1
  11. eval_studio_client/api/docs/RequiredTheUpdatedWorkflowNode.md +2 -0
  12. eval_studio_client/api/docs/TestServiceApi.md +268 -0
  13. eval_studio_client/api/docs/TestServiceGrantTestAccessRequest.md +30 -0
  14. eval_studio_client/api/docs/TestServiceRevokeTestAccessRequest.md +30 -0
  15. eval_studio_client/api/docs/V1CreatePerturbationResponse.md +1 -1
  16. eval_studio_client/api/docs/V1GetStatsResponse.md +29 -0
  17. eval_studio_client/api/docs/V1GetWorkflowResultCorpusPatchResponse.md +29 -0
  18. eval_studio_client/api/docs/V1GetWorkflowResultReportResponse.md +30 -0
  19. eval_studio_client/api/docs/V1GetWorkflowResultSummaryResponse.md +32 -0
  20. eval_studio_client/api/docs/V1GetWorkflowResultSystemPromptPatchResponse.md +29 -0
  21. eval_studio_client/api/docs/V1Info.md +2 -0
  22. eval_studio_client/api/docs/V1ListDashboardAccessResponse.md +29 -0
  23. eval_studio_client/api/docs/V1ListDashboardsSharedWithMeResponse.md +29 -0
  24. eval_studio_client/api/docs/V1ListTestAccessResponse.md +29 -0
  25. eval_studio_client/api/docs/V1ListTestsSharedWithMeResponse.md +29 -0
  26. eval_studio_client/api/docs/V1ListWorkflowAccessResponse.md +29 -0
  27. eval_studio_client/api/docs/V1ListWorkflowsSharedWithMeResponse.md +29 -0
  28. eval_studio_client/api/docs/V1Role.md +12 -0
  29. eval_studio_client/api/docs/V1RoleBinding.md +32 -0
  30. eval_studio_client/api/docs/V1Stats.md +32 -0
  31. eval_studio_client/api/docs/V1WorkflowNode.md +2 -0
  32. eval_studio_client/api/docs/V1WorkflowNodeResultStatus.md +12 -0
  33. eval_studio_client/api/docs/V1WorkflowResultArtifactType.md +12 -0
  34. eval_studio_client/api/docs/V1WorkflowResultReportFormat.md +11 -0
  35. eval_studio_client/api/docs/WorkflowResultServiceApi.md +282 -0
  36. eval_studio_client/api/docs/WorkflowServiceApi.md +272 -0
  37. eval_studio_client/api/docs/WorkflowServiceRevokeWorkflowAccessRequest.md +30 -0
  38. eval_studio_client/api/models/__init__.py +20 -0
  39. eval_studio_client/api/models/perturbation_service_create_perturbation_request.py +1 -1
  40. eval_studio_client/api/models/required_the_updated_workflow_node.py +10 -3
  41. eval_studio_client/api/models/test_service_grant_test_access_request.py +90 -0
  42. eval_studio_client/api/models/test_service_revoke_test_access_request.py +90 -0
  43. eval_studio_client/api/models/v1_create_perturbation_response.py +1 -1
  44. eval_studio_client/api/models/v1_get_stats_response.py +91 -0
  45. eval_studio_client/api/models/v1_get_workflow_result_corpus_patch_response.py +87 -0
  46. eval_studio_client/api/models/v1_get_workflow_result_report_response.py +89 -0
  47. eval_studio_client/api/models/v1_get_workflow_result_summary_response.py +94 -0
  48. eval_studio_client/api/models/v1_get_workflow_result_system_prompt_patch_response.py +87 -0
  49. eval_studio_client/api/models/v1_info.py +6 -2
  50. eval_studio_client/api/models/v1_list_dashboard_access_response.py +95 -0
  51. eval_studio_client/api/models/v1_list_dashboards_shared_with_me_response.py +95 -0
  52. eval_studio_client/api/models/v1_list_test_access_response.py +95 -0
  53. eval_studio_client/api/models/v1_list_tests_shared_with_me_response.py +95 -0
  54. eval_studio_client/api/models/v1_list_workflow_access_response.py +95 -0
  55. eval_studio_client/api/models/v1_list_workflows_shared_with_me_response.py +95 -0
  56. eval_studio_client/api/models/v1_role.py +38 -0
  57. eval_studio_client/api/models/v1_role_binding.py +92 -0
  58. eval_studio_client/api/models/v1_stats.py +106 -0
  59. eval_studio_client/api/models/v1_workflow_node.py +10 -3
  60. eval_studio_client/api/models/v1_workflow_node_result_status.py +40 -0
  61. eval_studio_client/api/models/v1_workflow_node_type.py +1 -0
  62. eval_studio_client/api/models/v1_workflow_result_artifact_type.py +40 -0
  63. eval_studio_client/api/models/v1_workflow_result_report_format.py +37 -0
  64. eval_studio_client/api/models/workflow_service_revoke_workflow_access_request.py +90 -0
  65. eval_studio_client/api/test/test_dashboard_service_api.py +28 -0
  66. eval_studio_client/api/test/test_info_service_api.py +6 -0
  67. eval_studio_client/api/test/test_required_the_updated_workflow_node.py +3 -1
  68. eval_studio_client/api/test/test_test_service_api.py +24 -0
  69. eval_studio_client/api/test/test_test_service_grant_test_access_request.py +52 -0
  70. eval_studio_client/api/test/test_test_service_revoke_test_access_request.py +52 -0
  71. eval_studio_client/api/test/test_v1_batch_get_workflow_nodes_response.py +3 -1
  72. eval_studio_client/api/test/test_v1_create_workflow_node_response.py +3 -1
  73. eval_studio_client/api/test/test_v1_delete_workflow_node_response.py +3 -1
  74. eval_studio_client/api/test/test_v1_get_info_response.py +3 -1
  75. eval_studio_client/api/test/test_v1_get_stats_response.py +54 -0
  76. eval_studio_client/api/test/test_v1_get_workflow_node_response.py +3 -1
  77. eval_studio_client/api/test/test_v1_get_workflow_result_corpus_patch_response.py +51 -0
  78. eval_studio_client/api/test/test_v1_get_workflow_result_report_response.py +54 -0
  79. eval_studio_client/api/test/test_v1_get_workflow_result_summary_response.py +58 -0
  80. eval_studio_client/api/test/test_v1_get_workflow_result_system_prompt_patch_response.py +51 -0
  81. eval_studio_client/api/test/test_v1_info.py +3 -1
  82. eval_studio_client/api/test/test_v1_init_workflow_node_response.py +3 -1
  83. eval_studio_client/api/test/test_v1_list_dashboard_access_response.py +56 -0
  84. eval_studio_client/api/test/test_v1_list_dashboards_shared_with_me_response.py +69 -0
  85. eval_studio_client/api/test/test_v1_list_test_access_response.py +56 -0
  86. eval_studio_client/api/test/test_v1_list_tests_shared_with_me_response.py +70 -0
  87. eval_studio_client/api/test/test_v1_list_workflow_access_response.py +56 -0
  88. eval_studio_client/api/test/test_v1_list_workflow_dependencies_response.py +3 -1
  89. eval_studio_client/api/test/test_v1_list_workflows_shared_with_me_response.py +95 -0
  90. eval_studio_client/api/test/test_v1_reset_workflow_node_response.py +3 -1
  91. eval_studio_client/api/test/test_v1_role.py +33 -0
  92. eval_studio_client/api/test/test_v1_role_binding.py +53 -0
  93. eval_studio_client/api/test/test_v1_stats.py +53 -0
  94. eval_studio_client/api/test/test_v1_update_workflow_node_response.py +3 -1
  95. eval_studio_client/api/test/test_v1_workflow_node.py +3 -1
  96. eval_studio_client/api/test/test_v1_workflow_node_result_status.py +33 -0
  97. eval_studio_client/api/test/test_v1_workflow_result_artifact_type.py +33 -0
  98. eval_studio_client/api/test/test_v1_workflow_result_report_format.py +33 -0
  99. eval_studio_client/api/test/test_workflow_result_service_api.py +59 -0
  100. eval_studio_client/api/test/test_workflow_service_api.py +28 -0
  101. eval_studio_client/api/test/test_workflow_service_revoke_workflow_access_request.py +52 -0
  102. eval_studio_client/gen/openapiv2/eval_studio.swagger.json +921 -7
  103. eval_studio_client/tests.py +3 -3
  104. {eval_studio_client-1.1.6a4.dist-info → eval_studio_client-1.2.0.dist-info}/METADATA +1 -1
  105. {eval_studio_client-1.1.6a4.dist-info → eval_studio_client-1.2.0.dist-info}/RECORD +106 -43
  106. {eval_studio_client-1.1.6a4.dist-info → eval_studio_client-1.2.0.dist-info}/WHEEL +0 -0
@@ -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_role_binding import V1RoleBinding
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1ListTestAccessResponse(BaseModel):
27
+ """
28
+ V1ListTestAccessResponse
29
+ """ # noqa: E501
30
+ role_bindings: Optional[List[V1RoleBinding]] = Field(default=None, description="The RoleBindings for the Test requested.", alias="roleBindings")
31
+ __properties: ClassVar[List[str]] = ["roleBindings"]
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 V1ListTestAccessResponse 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 role_bindings (list)
73
+ _items = []
74
+ if self.role_bindings:
75
+ for _item in self.role_bindings:
76
+ if _item:
77
+ _items.append(_item.to_dict())
78
+ _dict['roleBindings'] = _items
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of V1ListTestAccessResponse 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
+ "roleBindings": [V1RoleBinding.from_dict(_item) for _item in obj["roleBindings"]] if obj.get("roleBindings") 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
+ 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_test import V1Test
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1ListTestsSharedWithMeResponse(BaseModel):
27
+ """
28
+ V1ListTestsSharedWithMeResponse
29
+ """ # noqa: E501
30
+ tests: Optional[List[V1Test]] = Field(default=None, description="The Tests that match the request.")
31
+ __properties: ClassVar[List[str]] = ["tests"]
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 V1ListTestsSharedWithMeResponse 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 tests (list)
73
+ _items = []
74
+ if self.tests:
75
+ for _item in self.tests:
76
+ if _item:
77
+ _items.append(_item.to_dict())
78
+ _dict['tests'] = _items
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of V1ListTestsSharedWithMeResponse 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
+ "tests": [V1Test.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") 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
+ 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_role_binding import V1RoleBinding
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V1ListWorkflowAccessResponse(BaseModel):
27
+ """
28
+ V1ListWorkflowAccessResponse
29
+ """ # noqa: E501
30
+ role_bindings: Optional[List[V1RoleBinding]] = Field(default=None, description="The RoleBindings for the Workflow requested.", alias="roleBindings")
31
+ __properties: ClassVar[List[str]] = ["roleBindings"]
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 V1ListWorkflowAccessResponse 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 role_bindings (list)
73
+ _items = []
74
+ if self.role_bindings:
75
+ for _item in self.role_bindings:
76
+ if _item:
77
+ _items.append(_item.to_dict())
78
+ _dict['roleBindings'] = _items
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of V1ListWorkflowAccessResponse 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
+ "roleBindings": [V1RoleBinding.from_dict(_item) for _item in obj["roleBindings"]] if obj.get("roleBindings") 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
+ 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 V1ListWorkflowsSharedWithMeResponse(BaseModel):
27
+ """
28
+ V1ListWorkflowsSharedWithMeResponse
29
+ """ # noqa: E501
30
+ workflows: Optional[List[V1Workflow]] = Field(default=None, description="The Workflows that match the request.")
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 V1ListWorkflowsSharedWithMeResponse 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 V1ListWorkflowsSharedWithMeResponse 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,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,106 @@
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
+ failure_clustering_pending_jobs: Optional[StrictStr] = Field(default=None, description="Number of pending jobs in the failure clustering queue. It's marked as optional to always be part of the response, even when the value is zero.", alias="failureClusteringPendingJobs")
32
+ __properties: ClassVar[List[str]] = ["topicModelingPendingJobs", "testValidationPendingJobs", "failureClusteringPendingJobs"]
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 V1Stats 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
+ # set to None if topic_modeling_pending_jobs (nullable) is None
74
+ # and model_fields_set contains the field
75
+ if self.topic_modeling_pending_jobs is None and "topic_modeling_pending_jobs" in self.model_fields_set:
76
+ _dict['topicModelingPendingJobs'] = None
77
+
78
+ # set to None if test_validation_pending_jobs (nullable) is None
79
+ # and model_fields_set contains the field
80
+ if self.test_validation_pending_jobs is None and "test_validation_pending_jobs" in self.model_fields_set:
81
+ _dict['testValidationPendingJobs'] = None
82
+
83
+ # set to None if failure_clustering_pending_jobs (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.failure_clustering_pending_jobs is None and "failure_clustering_pending_jobs" in self.model_fields_set:
86
+ _dict['failureClusteringPendingJobs'] = None
87
+
88
+ return _dict
89
+
90
+ @classmethod
91
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
92
+ """Create an instance of V1Stats from a dict"""
93
+ if obj is None:
94
+ return None
95
+
96
+ if not isinstance(obj, dict):
97
+ return cls.model_validate(obj)
98
+
99
+ _obj = cls.model_validate({
100
+ "topicModelingPendingJobs": obj.get("topicModelingPendingJobs"),
101
+ "testValidationPendingJobs": obj.get("testValidationPendingJobs"),
102
+ "failureClusteringPendingJobs": obj.get("failureClusteringPendingJobs")
103
+ })
104
+ return _obj
105
+
106
+
@@ -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