eval-studio-client 1.2.0a1__py3-none-any.whl → 1.2.0a3__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 (92) 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 +1420 -101
  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/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/V1CreatePerturbationResponse.md +1 -1
  15. eval_studio_client/api/docs/V1FindWorkflowsByCollectionIDResponse.md +29 -0
  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/V1WorkflowResultArtifactType.md +12 -0
  32. eval_studio_client/api/docs/V1WorkflowResultReportFormat.md +11 -0
  33. eval_studio_client/api/docs/WorkflowResultServiceApi.md +282 -0
  34. eval_studio_client/api/docs/WorkflowServiceApi.md +340 -0
  35. eval_studio_client/api/docs/WorkflowServiceRevokeWorkflowAccessRequest.md +30 -0
  36. eval_studio_client/api/models/__init__.py +20 -0
  37. eval_studio_client/api/models/perturbation_service_create_perturbation_request.py +1 -1
  38. eval_studio_client/api/models/test_service_grant_test_access_request.py +90 -0
  39. eval_studio_client/api/models/test_service_revoke_test_access_request.py +90 -0
  40. eval_studio_client/api/models/v1_create_perturbation_response.py +1 -1
  41. eval_studio_client/api/models/v1_find_workflows_by_collection_id_response.py +95 -0
  42. eval_studio_client/api/models/v1_get_stats_response.py +91 -0
  43. eval_studio_client/api/models/v1_get_workflow_result_corpus_patch_response.py +87 -0
  44. eval_studio_client/api/models/v1_get_workflow_result_report_response.py +89 -0
  45. eval_studio_client/api/models/v1_get_workflow_result_summary_response.py +94 -0
  46. eval_studio_client/api/models/v1_get_workflow_result_system_prompt_patch_response.py +87 -0
  47. eval_studio_client/api/models/v1_info.py +6 -2
  48. eval_studio_client/api/models/v1_list_dashboard_access_response.py +95 -0
  49. eval_studio_client/api/models/v1_list_dashboards_shared_with_me_response.py +95 -0
  50. eval_studio_client/api/models/v1_list_test_access_response.py +95 -0
  51. eval_studio_client/api/models/v1_list_tests_shared_with_me_response.py +95 -0
  52. eval_studio_client/api/models/v1_list_workflow_access_response.py +95 -0
  53. eval_studio_client/api/models/v1_list_workflows_shared_with_me_response.py +95 -0
  54. eval_studio_client/api/models/v1_role.py +38 -0
  55. eval_studio_client/api/models/v1_role_binding.py +92 -0
  56. eval_studio_client/api/models/v1_stats.py +106 -0
  57. eval_studio_client/api/models/v1_workflow_node_type.py +1 -0
  58. eval_studio_client/api/models/v1_workflow_result_artifact_type.py +40 -0
  59. eval_studio_client/api/models/v1_workflow_result_report_format.py +37 -0
  60. eval_studio_client/api/models/workflow_service_revoke_workflow_access_request.py +90 -0
  61. eval_studio_client/api/test/test_dashboard_service_api.py +28 -0
  62. eval_studio_client/api/test/test_info_service_api.py +6 -0
  63. eval_studio_client/api/test/test_test_service_api.py +24 -0
  64. eval_studio_client/api/test/test_test_service_grant_test_access_request.py +52 -0
  65. eval_studio_client/api/test/test_test_service_revoke_test_access_request.py +52 -0
  66. eval_studio_client/api/test/test_v1_find_workflows_by_collection_id_response.py +95 -0
  67. eval_studio_client/api/test/test_v1_get_info_response.py +3 -1
  68. eval_studio_client/api/test/test_v1_get_stats_response.py +54 -0
  69. eval_studio_client/api/test/test_v1_get_workflow_result_corpus_patch_response.py +51 -0
  70. eval_studio_client/api/test/test_v1_get_workflow_result_report_response.py +54 -0
  71. eval_studio_client/api/test/test_v1_get_workflow_result_summary_response.py +58 -0
  72. eval_studio_client/api/test/test_v1_get_workflow_result_system_prompt_patch_response.py +51 -0
  73. eval_studio_client/api/test/test_v1_info.py +3 -1
  74. eval_studio_client/api/test/test_v1_list_dashboard_access_response.py +56 -0
  75. eval_studio_client/api/test/test_v1_list_dashboards_shared_with_me_response.py +69 -0
  76. eval_studio_client/api/test/test_v1_list_test_access_response.py +56 -0
  77. eval_studio_client/api/test/test_v1_list_tests_shared_with_me_response.py +70 -0
  78. eval_studio_client/api/test/test_v1_list_workflow_access_response.py +56 -0
  79. eval_studio_client/api/test/test_v1_list_workflows_shared_with_me_response.py +95 -0
  80. eval_studio_client/api/test/test_v1_role.py +33 -0
  81. eval_studio_client/api/test/test_v1_role_binding.py +53 -0
  82. eval_studio_client/api/test/test_v1_stats.py +53 -0
  83. eval_studio_client/api/test/test_v1_workflow_result_artifact_type.py +33 -0
  84. eval_studio_client/api/test/test_v1_workflow_result_report_format.py +33 -0
  85. eval_studio_client/api/test/test_workflow_result_service_api.py +59 -0
  86. eval_studio_client/api/test/test_workflow_service_api.py +35 -0
  87. eval_studio_client/api/test/test_workflow_service_revoke_workflow_access_request.py +52 -0
  88. eval_studio_client/gen/openapiv2/eval_studio.swagger.json +940 -13
  89. eval_studio_client/tests.py +3 -3
  90. {eval_studio_client-1.2.0a1.dist-info → eval_studio_client-1.2.0a3.dist-info}/METADATA +2 -1
  91. {eval_studio_client-1.2.0a1.dist-info → eval_studio_client-1.2.0a3.dist-info}/RECORD +92 -29
  92. {eval_studio_client-1.2.0a1.dist-info → eval_studio_client-1.2.0a3.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_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
+
@@ -35,6 +35,7 @@ class V1WorkflowNodeType(str, Enum):
35
35
  WORKFLOW_NODE_TYPE_MARGINAL_ANALYSIS = 'WORKFLOW_NODE_TYPE_MARGINAL_ANALYSIS'
36
36
  WORKFLOW_NODE_TYPE_VALIDATION = 'WORKFLOW_NODE_TYPE_VALIDATION'
37
37
  WORKFLOW_NODE_TYPE_ADVERSARIAL_INPUTS = 'WORKFLOW_NODE_TYPE_ADVERSARIAL_INPUTS'
38
+ WORKFLOW_NODE_TYPE_FAILURE_CLUSTERING = 'WORKFLOW_NODE_TYPE_FAILURE_CLUSTERING'
38
39
 
39
40
  @classmethod
40
41
  def from_json(cls, json_str: str) -> Self:
@@ -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,37 @@
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 V1WorkflowResultReportFormat(str, Enum):
22
+ """
23
+ V1WorkflowResultReportFormat
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ WORKFLOW_RESULT_REPORT_FORMAT_UNSPECIFIED = 'WORKFLOW_RESULT_REPORT_FORMAT_UNSPECIFIED'
30
+ WORKFLOW_RESULT_REPORT_FORMAT_HTML = 'WORKFLOW_RESULT_REPORT_FORMAT_HTML'
31
+
32
+ @classmethod
33
+ def from_json(cls, json_str: str) -> Self:
34
+ """Create an instance of V1WorkflowResultReportFormat from a JSON string"""
35
+ return cls(json.loads(json_str))
36
+
37
+
@@ -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()
@@ -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()