superb-ai-onprem 0.9.0__py3-none-any.whl → 0.10.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.

Potentially problematic release.


This version of superb-ai-onprem might be problematic. Click here for more details.

Files changed (65) hide show
  1. spb_onprem/__init__.py +39 -9
  2. spb_onprem/_version.py +2 -2
  3. spb_onprem/data/entities/__init__.py +2 -0
  4. spb_onprem/data/entities/data.py +2 -0
  5. spb_onprem/data/entities/data_annotation_stats.py +8 -0
  6. spb_onprem/data/params/data_list.py +7 -2
  7. spb_onprem/data/params/update_data.py +11 -0
  8. spb_onprem/data/params/update_data_slice.py +14 -2
  9. spb_onprem/data/queries.py +12 -1
  10. spb_onprem/data/service.py +9 -0
  11. spb_onprem/entities.py +24 -6
  12. spb_onprem/models/__init__.py +8 -3
  13. spb_onprem/models/entities/__init__.py +9 -0
  14. spb_onprem/models/entities/model.py +32 -0
  15. spb_onprem/models/entities/model_page_info.py +14 -0
  16. spb_onprem/models/entities/model_train_class.py +15 -0
  17. spb_onprem/models/params/__init__.py +16 -4
  18. spb_onprem/models/params/create_model.py +70 -0
  19. spb_onprem/models/params/delete_model.py +11 -8
  20. spb_onprem/models/params/model.py +17 -0
  21. spb_onprem/models/params/models.py +60 -0
  22. spb_onprem/models/params/pin_model.py +17 -0
  23. spb_onprem/models/params/unpin_model.py +17 -0
  24. spb_onprem/models/params/update_model.py +61 -0
  25. spb_onprem/models/queries.py +224 -19
  26. spb_onprem/models/service.py +251 -30
  27. spb_onprem/reports/__init__.py +25 -0
  28. spb_onprem/reports/entities/__init__.py +10 -0
  29. spb_onprem/reports/entities/analytics_report.py +22 -0
  30. spb_onprem/reports/entities/analytics_report_item.py +30 -0
  31. spb_onprem/reports/entities/analytics_report_page_info.py +14 -0
  32. spb_onprem/reports/params/__init__.py +29 -0
  33. spb_onprem/reports/params/analytics_report.py +17 -0
  34. spb_onprem/reports/params/analytics_reports.py +87 -0
  35. spb_onprem/reports/params/create_analytics_report.py +35 -0
  36. spb_onprem/reports/params/create_analytics_report_item.py +47 -0
  37. spb_onprem/reports/params/delete_analytics_report.py +17 -0
  38. spb_onprem/reports/params/delete_analytics_report_item.py +20 -0
  39. spb_onprem/reports/params/update_analytics_report.py +38 -0
  40. spb_onprem/reports/params/update_analytics_report_item.py +46 -0
  41. spb_onprem/reports/queries.py +239 -0
  42. spb_onprem/reports/service.py +328 -0
  43. spb_onprem/searches.py +18 -0
  44. {superb_ai_onprem-0.9.0.dist-info → superb_ai_onprem-0.10.0.dist-info}/METADATA +53 -9
  45. {superb_ai_onprem-0.9.0.dist-info → superb_ai_onprem-0.10.0.dist-info}/RECORD +48 -38
  46. spb_onprem/models/entities.py +0 -9
  47. spb_onprem/models/params/get_models.py +0 -29
  48. spb_onprem/predictions/__init__.py +0 -7
  49. spb_onprem/predictions/entities.py +0 -11
  50. spb_onprem/predictions/params/__init__.py +0 -15
  51. spb_onprem/predictions/params/create_prediction_set.py +0 -44
  52. spb_onprem/predictions/params/delete_prediction_from_data.py +0 -20
  53. spb_onprem/predictions/params/delete_prediction_set.py +0 -14
  54. spb_onprem/predictions/params/get_prediction_set.py +0 -14
  55. spb_onprem/predictions/params/get_prediction_sets.py +0 -29
  56. spb_onprem/predictions/params/update_prediction_set_data_info.py +0 -28
  57. spb_onprem/predictions/queries.py +0 -110
  58. spb_onprem/predictions/service.py +0 -225
  59. tests/models/__init__.py +0 -1
  60. tests/models/test_model_service.py +0 -249
  61. tests/predictions/__init__.py +0 -1
  62. tests/predictions/test_prediction_service.py +0 -359
  63. {superb_ai_onprem-0.9.0.dist-info → superb_ai_onprem-0.10.0.dist-info}/WHEEL +0 -0
  64. {superb_ai_onprem-0.9.0.dist-info → superb_ai_onprem-0.10.0.dist-info}/licenses/LICENSE +0 -0
  65. {superb_ai_onprem-0.9.0.dist-info → superb_ai_onprem-0.10.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,20 @@
1
+ def delete_analytics_report_item_params(
2
+ item_id: str,
3
+ report_id: str,
4
+ dataset_id: str,
5
+ ):
6
+ """Get parameters for deleting an analytics report item.
7
+
8
+ Args:
9
+ item_id: The item ID
10
+ report_id: The report ID
11
+ dataset_id: The dataset ID
12
+
13
+ Returns:
14
+ dict: Parameters for deleting an analytics report item
15
+ """
16
+ return {
17
+ "itemId": item_id,
18
+ "reportId": report_id,
19
+ "datasetId": dataset_id,
20
+ }
@@ -0,0 +1,38 @@
1
+ from typing import Union, Any
2
+ from spb_onprem.base_types import Undefined, UndefinedType
3
+
4
+
5
+ def update_analytics_report_params(
6
+ dataset_id: str,
7
+ report_id: str,
8
+ title: Union[str, UndefinedType] = Undefined,
9
+ description: Union[str, UndefinedType] = Undefined,
10
+ meta: Union[Any, UndefinedType] = Undefined,
11
+ ):
12
+ """Get parameters for updating an analytics report.
13
+
14
+ Args:
15
+ dataset_id: The dataset ID
16
+ report_id: The report ID
17
+ title: Optional new title
18
+ description: Optional new description
19
+ meta: Optional new metadata
20
+
21
+ Returns:
22
+ dict: Parameters for updating an analytics report
23
+ """
24
+ params = {
25
+ "datasetId": dataset_id,
26
+ "reportId": report_id,
27
+ }
28
+
29
+ if not isinstance(title, UndefinedType):
30
+ params["title"] = title
31
+
32
+ if not isinstance(description, UndefinedType):
33
+ params["description"] = description
34
+
35
+ if not isinstance(meta, UndefinedType):
36
+ params["meta"] = meta
37
+
38
+ return params
@@ -0,0 +1,46 @@
1
+ from typing import Union, Any
2
+ from spb_onprem.base_types import Undefined, UndefinedType
3
+
4
+
5
+ def update_analytics_report_item_params(
6
+ dataset_id: str,
7
+ report_id: str,
8
+ item_id: str,
9
+ title: Union[str, UndefinedType] = Undefined,
10
+ description: Union[str, UndefinedType] = Undefined,
11
+ content_id: Union[str, UndefinedType] = Undefined,
12
+ meta: Union[Any, UndefinedType] = Undefined,
13
+ ):
14
+ """Get parameters for updating an analytics report item.
15
+
16
+ Args:
17
+ dataset_id: The dataset ID
18
+ report_id: The report ID
19
+ item_id: The item ID
20
+ title: Optional new title
21
+ description: Optional new description
22
+ content_id: Optional new content ID
23
+ meta: Optional new metadata
24
+
25
+ Returns:
26
+ dict: Parameters for updating an analytics report item
27
+ """
28
+ params = {
29
+ "datasetId": dataset_id,
30
+ "reportId": report_id,
31
+ "itemId": item_id,
32
+ }
33
+
34
+ if not isinstance(title, UndefinedType):
35
+ params["title"] = title
36
+
37
+ if not isinstance(description, UndefinedType):
38
+ params["description"] = description
39
+
40
+ if not isinstance(content_id, UndefinedType):
41
+ params["contentId"] = content_id
42
+
43
+ if not isinstance(meta, UndefinedType):
44
+ params["meta"] = meta
45
+
46
+ return params
@@ -0,0 +1,239 @@
1
+ from spb_onprem.reports.params import (
2
+ analytics_report_params,
3
+ analytics_reports_params,
4
+ create_analytics_report_params,
5
+ update_analytics_report_params,
6
+ delete_analytics_report_params,
7
+ create_analytics_report_item_params,
8
+ update_analytics_report_item_params,
9
+ delete_analytics_report_item_params,
10
+ )
11
+
12
+
13
+ class Schemas:
14
+ ANALYTICS_REPORT_ITEM = '''
15
+ id
16
+ type
17
+ title
18
+ description
19
+ content {
20
+ id
21
+ downloadURL
22
+ }
23
+ meta
24
+ createdAt
25
+ createdBy
26
+ updatedAt
27
+ updatedBy
28
+ '''
29
+
30
+ ANALYTICS_REPORT = '''
31
+ datasetId
32
+ id
33
+ title
34
+ description
35
+ meta
36
+ createdAt
37
+ updatedAt
38
+ createdBy
39
+ updatedBy
40
+ items {
41
+ id
42
+ type
43
+ title
44
+ description
45
+ content {
46
+ id
47
+ downloadURL
48
+ }
49
+ meta
50
+ createdAt
51
+ createdBy
52
+ updatedAt
53
+ updatedBy
54
+ }
55
+ '''
56
+
57
+
58
+ class Queries():
59
+ ANALYTICS_REPORT = {
60
+ "name": "analyticsReport",
61
+ "query": f'''
62
+ query AnalyticsReport(
63
+ $reportId: ID!,
64
+ $datasetId: String!
65
+ ) {{
66
+ analyticsReport(
67
+ reportId: $reportId,
68
+ datasetId: $datasetId
69
+ ) {{
70
+ {Schemas.ANALYTICS_REPORT}
71
+ }}
72
+ }}
73
+ ''',
74
+ "variables": analytics_report_params,
75
+ }
76
+
77
+ ANALYTICS_REPORTS = {
78
+ "name": "analyticsReports",
79
+ "query": f'''
80
+ query AnalyticsReports(
81
+ $datasetId: ID!,
82
+ $filter: AnalyticsReportFilter,
83
+ $cursor: String,
84
+ $length: Int,
85
+ $orderBy: AnalyticsReportOrderBy
86
+ ) {{
87
+ analyticsReports(
88
+ datasetId: $datasetId,
89
+ filter: $filter,
90
+ cursor: $cursor,
91
+ length: $length,
92
+ orderBy: $orderBy
93
+ ) {{
94
+ analyticsReports {{
95
+ {Schemas.ANALYTICS_REPORT}
96
+ }}
97
+ next
98
+ totalCount
99
+ }}
100
+ }}
101
+ ''',
102
+ "variables": analytics_reports_params,
103
+ }
104
+
105
+ CREATE_ANALYTICS_REPORT = {
106
+ "name": "createAnalyticsReport",
107
+ "query": f'''
108
+ mutation CreateAnalyticsReport(
109
+ $datasetId: ID!,
110
+ $title: String,
111
+ $description: String,
112
+ $meta: JSONObject
113
+ ) {{
114
+ createAnalyticsReport(
115
+ datasetId: $datasetId,
116
+ title: $title,
117
+ description: $description,
118
+ meta: $meta
119
+ ) {{
120
+ {Schemas.ANALYTICS_REPORT}
121
+ }}
122
+ }}
123
+ ''',
124
+ "variables": create_analytics_report_params,
125
+ }
126
+
127
+ UPDATE_ANALYTICS_REPORT = {
128
+ "name": "updateAnalyticsReport",
129
+ "query": f'''
130
+ mutation UpdateAnalyticsReport(
131
+ $datasetId: ID!,
132
+ $reportId: ID!,
133
+ $title: String,
134
+ $description: String,
135
+ $meta: JSONObject
136
+ ) {{
137
+ updateAnalyticsReport(
138
+ datasetId: $datasetId,
139
+ reportId: $reportId,
140
+ title: $title,
141
+ description: $description,
142
+ meta: $meta
143
+ ) {{
144
+ {Schemas.ANALYTICS_REPORT}
145
+ }}
146
+ }}
147
+ ''',
148
+ "variables": update_analytics_report_params,
149
+ }
150
+
151
+ DELETE_ANALYTICS_REPORT = {
152
+ "name": "deleteAnalyticsReport",
153
+ "query": '''
154
+ mutation DeleteAnalyticsReport(
155
+ $reportId: String!,
156
+ $datasetId: String!
157
+ ) {
158
+ deleteAnalyticsReport(
159
+ reportId: $reportId,
160
+ datasetId: $datasetId
161
+ )
162
+ }
163
+ ''',
164
+ "variables": delete_analytics_report_params,
165
+ }
166
+
167
+ CREATE_ANALYTICS_REPORT_ITEM = {
168
+ "name": "createAnalyticsReportItem",
169
+ "query": f'''
170
+ mutation CreateAnalyticsReportItem(
171
+ $datasetId: ID!,
172
+ $reportId: ID!,
173
+ $type: AnalyticsReportItemType!,
174
+ $title: String,
175
+ $description: String,
176
+ $contentId: String,
177
+ $meta: JSONObject
178
+ ) {{
179
+ createAnalyticsReportItem(
180
+ datasetId: $datasetId,
181
+ reportId: $reportId,
182
+ type: $type,
183
+ title: $title,
184
+ description: $description,
185
+ contentId: $contentId,
186
+ meta: $meta
187
+ ) {{
188
+ {Schemas.ANALYTICS_REPORT_ITEM}
189
+ }}
190
+ }}
191
+ ''',
192
+ "variables": create_analytics_report_item_params,
193
+ }
194
+
195
+ UPDATE_ANALYTICS_REPORT_ITEM = {
196
+ "name": "updateAnalyticsReportItem",
197
+ "query": f'''
198
+ mutation UpdateAnalyticsReportItem(
199
+ $datasetId: ID!,
200
+ $reportId: ID!,
201
+ $itemId: ID!,
202
+ $title: String,
203
+ $description: String,
204
+ $contentId: String,
205
+ $meta: JSONObject
206
+ ) {{
207
+ updateAnalyticsReportItem(
208
+ datasetId: $datasetId,
209
+ reportId: $reportId,
210
+ itemId: $itemId,
211
+ title: $title,
212
+ description: $description,
213
+ contentId: $contentId,
214
+ meta: $meta
215
+ ) {{
216
+ {Schemas.ANALYTICS_REPORT_ITEM}
217
+ }}
218
+ }}
219
+ ''',
220
+ "variables": update_analytics_report_item_params,
221
+ }
222
+
223
+ DELETE_ANALYTICS_REPORT_ITEM = {
224
+ "name": "deleteAnalyticsReportItem",
225
+ "query": '''
226
+ mutation DeleteAnalyticsReportItem(
227
+ $itemId: String!,
228
+ $reportId: String!,
229
+ $datasetId: String!
230
+ ) {
231
+ deleteAnalyticsReportItem(
232
+ itemId: $itemId,
233
+ reportId: $reportId,
234
+ datasetId: $datasetId
235
+ )
236
+ }
237
+ ''',
238
+ "variables": delete_analytics_report_item_params,
239
+ }
@@ -0,0 +1,328 @@
1
+ from typing import Optional, Union, Any
2
+ from spb_onprem.base_service import BaseService
3
+ from spb_onprem.exceptions import BadParameterError
4
+ from spb_onprem.base_types import Undefined, UndefinedType
5
+ from .queries import Queries
6
+ from .entities import (
7
+ AnalyticsReport,
8
+ AnalyticsReportItem,
9
+ AnalyticsReportItemType,
10
+ AnalyticsReportPageInfo,
11
+ )
12
+ from .params.analytics_reports import AnalyticsReportsFilter, AnalyticsReportsOrderBy
13
+
14
+
15
+ class ReportService(BaseService):
16
+ """
17
+ Service class for handling analytics report-related operations.
18
+ """
19
+
20
+ def get_analytics_reports(
21
+ self,
22
+ dataset_id: str,
23
+ analytics_reports_filter: Optional[AnalyticsReportsFilter] = None,
24
+ cursor: Optional[str] = None,
25
+ length: Optional[int] = 10,
26
+ order_by: Union[AnalyticsReportsOrderBy, UndefinedType] = Undefined,
27
+ ):
28
+ """
29
+ Get a list of analytics reports based on the provided filter and pagination parameters.
30
+
31
+ Args:
32
+ dataset_id (str): The dataset ID
33
+ analytics_reports_filter (Optional[AnalyticsReportsFilter]): Filter criteria for reports
34
+ cursor (Optional[str]): Cursor for pagination
35
+ length (Optional[int]): Number of items per page (default: 10)
36
+ order_by (Optional[AnalyticsReportsOrderBy]): Order by options
37
+
38
+ Returns:
39
+ tuple: A tuple containing:
40
+ - List[AnalyticsReport]: A list of AnalyticsReport objects
41
+ - str: Next cursor for pagination
42
+ - int: Total count of reports
43
+ """
44
+ if dataset_id is None:
45
+ raise BadParameterError("dataset_id is required.")
46
+
47
+ if length and length > 50:
48
+ raise BadParameterError("The maximum length is 50.")
49
+
50
+ response = self.request_gql(
51
+ Queries.ANALYTICS_REPORTS,
52
+ Queries.ANALYTICS_REPORTS["variables"](
53
+ dataset_id=dataset_id,
54
+ analytics_reports_filter=analytics_reports_filter,
55
+ cursor=cursor,
56
+ length=length,
57
+ order_by=order_by,
58
+ )
59
+ )
60
+
61
+ page_info = AnalyticsReportPageInfo.model_validate(response)
62
+ return (
63
+ page_info.analytics_reports or [],
64
+ page_info.next,
65
+ page_info.total_count or 0
66
+ )
67
+
68
+ def get_analytics_report(
69
+ self,
70
+ dataset_id: str,
71
+ report_id: str,
72
+ ):
73
+ """
74
+ Retrieve an analytics report by its ID.
75
+
76
+ Args:
77
+ dataset_id (str): The dataset ID
78
+ report_id (str): The ID of the report to retrieve
79
+
80
+ Returns:
81
+ AnalyticsReport: The retrieved analytics report object
82
+ """
83
+ if dataset_id is None:
84
+ raise BadParameterError("dataset_id is required.")
85
+
86
+ if report_id is None:
87
+ raise BadParameterError("report_id is required.")
88
+
89
+ response = self.request_gql(
90
+ Queries.ANALYTICS_REPORT,
91
+ Queries.ANALYTICS_REPORT["variables"](
92
+ dataset_id=dataset_id,
93
+ report_id=report_id
94
+ ),
95
+ )
96
+ return AnalyticsReport.model_validate(response)
97
+
98
+ def create_analytics_report(
99
+ self,
100
+ dataset_id: str,
101
+ title: Union[str, UndefinedType] = Undefined,
102
+ description: Union[str, UndefinedType] = Undefined,
103
+ meta: Union[Any, UndefinedType] = Undefined,
104
+ ):
105
+ """
106
+ Create a new analytics report.
107
+
108
+ Args:
109
+ dataset_id (str): The dataset ID
110
+ title (Optional[str]): The title of the report
111
+ description (Optional[str]): The description of the report
112
+ meta (Optional[Any]): The metadata of the report
113
+
114
+ Returns:
115
+ AnalyticsReport: The created analytics report object
116
+ """
117
+ if dataset_id is None:
118
+ raise BadParameterError("dataset_id is required.")
119
+
120
+ response = self.request_gql(
121
+ Queries.CREATE_ANALYTICS_REPORT,
122
+ Queries.CREATE_ANALYTICS_REPORT["variables"](
123
+ dataset_id=dataset_id,
124
+ title=title,
125
+ description=description,
126
+ meta=meta,
127
+ ),
128
+ )
129
+ return AnalyticsReport.model_validate(response)
130
+
131
+ def update_analytics_report(
132
+ self,
133
+ dataset_id: str,
134
+ report_id: str,
135
+ title: Union[str, UndefinedType] = Undefined,
136
+ description: Union[str, UndefinedType] = Undefined,
137
+ meta: Union[Any, UndefinedType] = Undefined,
138
+ ):
139
+ """
140
+ Update an analytics report.
141
+
142
+ Args:
143
+ dataset_id (str): The dataset ID
144
+ report_id (str): The ID of the report to update
145
+ title (Optional[str]): The new title of the report
146
+ description (Optional[str]): The new description of the report
147
+ meta (Optional[Any]): The new metadata of the report
148
+
149
+ Returns:
150
+ AnalyticsReport: The updated analytics report object
151
+ """
152
+ if dataset_id is None:
153
+ raise BadParameterError("dataset_id is required.")
154
+
155
+ if report_id is None:
156
+ raise BadParameterError("report_id is required.")
157
+
158
+ response = self.request_gql(
159
+ Queries.UPDATE_ANALYTICS_REPORT,
160
+ Queries.UPDATE_ANALYTICS_REPORT["variables"](
161
+ dataset_id=dataset_id,
162
+ report_id=report_id,
163
+ title=title,
164
+ description=description,
165
+ meta=meta,
166
+ ),
167
+ )
168
+ return AnalyticsReport.model_validate(response)
169
+
170
+ def delete_analytics_report(
171
+ self,
172
+ dataset_id: str,
173
+ report_id: str,
174
+ ) -> bool:
175
+ """Delete an analytics report.
176
+
177
+ Args:
178
+ dataset_id (str): The dataset ID
179
+ report_id (str): The ID of the report to delete
180
+
181
+ Returns:
182
+ bool: True if deletion was successful
183
+ """
184
+ if dataset_id is None:
185
+ raise BadParameterError("dataset_id is required.")
186
+
187
+ if report_id is None:
188
+ raise BadParameterError("report_id is required.")
189
+
190
+ response = self.request_gql(
191
+ Queries.DELETE_ANALYTICS_REPORT,
192
+ Queries.DELETE_ANALYTICS_REPORT["variables"](
193
+ dataset_id=dataset_id,
194
+ report_id=report_id
195
+ )
196
+ )
197
+ return response
198
+
199
+ def create_analytics_report_item(
200
+ self,
201
+ dataset_id: str,
202
+ report_id: str,
203
+ type: AnalyticsReportItemType,
204
+ title: Union[str, UndefinedType] = Undefined,
205
+ description: Union[str, UndefinedType] = Undefined,
206
+ content_id: Union[str, UndefinedType] = Undefined,
207
+ meta: Union[Any, UndefinedType] = Undefined,
208
+ ):
209
+ """
210
+ Create a new analytics report item.
211
+
212
+ Args:
213
+ dataset_id (str): The dataset ID
214
+ report_id (str): The report ID
215
+ type (AnalyticsReportItemType): The type of report item
216
+ title (Optional[str]): The title of the item
217
+ description (Optional[str]): The description of the item
218
+ content_id (Optional[str]): The content ID of the item
219
+ meta (Optional[Any]): The metadata of the item
220
+
221
+ Returns:
222
+ AnalyticsReportItem: The created analytics report item object
223
+ """
224
+ if dataset_id is None:
225
+ raise BadParameterError("dataset_id is required.")
226
+
227
+ if report_id is None:
228
+ raise BadParameterError("report_id is required.")
229
+
230
+ if type is None:
231
+ raise BadParameterError("type is required.")
232
+
233
+ response = self.request_gql(
234
+ Queries.CREATE_ANALYTICS_REPORT_ITEM,
235
+ Queries.CREATE_ANALYTICS_REPORT_ITEM["variables"](
236
+ dataset_id=dataset_id,
237
+ report_id=report_id,
238
+ type=type,
239
+ title=title,
240
+ description=description,
241
+ content_id=content_id,
242
+ meta=meta,
243
+ ),
244
+ )
245
+ return AnalyticsReportItem.model_validate(response)
246
+
247
+ def update_analytics_report_item(
248
+ self,
249
+ dataset_id: str,
250
+ report_id: str,
251
+ item_id: str,
252
+ title: Union[str, UndefinedType] = Undefined,
253
+ description: Union[str, UndefinedType] = Undefined,
254
+ content_id: Union[str, UndefinedType] = Undefined,
255
+ meta: Union[Any, UndefinedType] = Undefined,
256
+ ):
257
+ """
258
+ Update an analytics report item.
259
+
260
+ Args:
261
+ dataset_id (str): The dataset ID
262
+ report_id (str): The report ID
263
+ item_id (str): The ID of the item to update
264
+ title (Optional[str]): The new title of the item
265
+ description (Optional[str]): The new description of the item
266
+ content_id (Optional[str]): The new content ID of the item
267
+ meta (Optional[Any]): The new metadata of the item
268
+
269
+ Returns:
270
+ AnalyticsReportItem: The updated analytics report item object
271
+ """
272
+ if dataset_id is None:
273
+ raise BadParameterError("dataset_id is required.")
274
+
275
+ if report_id is None:
276
+ raise BadParameterError("report_id is required.")
277
+
278
+ if item_id is None:
279
+ raise BadParameterError("item_id is required.")
280
+
281
+ response = self.request_gql(
282
+ Queries.UPDATE_ANALYTICS_REPORT_ITEM,
283
+ Queries.UPDATE_ANALYTICS_REPORT_ITEM["variables"](
284
+ dataset_id=dataset_id,
285
+ report_id=report_id,
286
+ item_id=item_id,
287
+ title=title,
288
+ description=description,
289
+ content_id=content_id,
290
+ meta=meta,
291
+ ),
292
+ )
293
+ return AnalyticsReportItem.model_validate(response)
294
+
295
+ def delete_analytics_report_item(
296
+ self,
297
+ dataset_id: str,
298
+ report_id: str,
299
+ item_id: str,
300
+ ) -> bool:
301
+ """Delete an analytics report item.
302
+
303
+ Args:
304
+ dataset_id (str): The dataset ID
305
+ report_id (str): The report ID
306
+ item_id (str): The ID of the item to delete
307
+
308
+ Returns:
309
+ bool: True if deletion was successful
310
+ """
311
+ if dataset_id is None:
312
+ raise BadParameterError("dataset_id is required.")
313
+
314
+ if report_id is None:
315
+ raise BadParameterError("report_id is required.")
316
+
317
+ if item_id is None:
318
+ raise BadParameterError("item_id is required.")
319
+
320
+ response = self.request_gql(
321
+ Queries.DELETE_ANALYTICS_REPORT_ITEM,
322
+ Queries.DELETE_ANALYTICS_REPORT_ITEM["variables"](
323
+ dataset_id=dataset_id,
324
+ report_id=report_id,
325
+ item_id=item_id,
326
+ )
327
+ )
328
+ return response
spb_onprem/searches.py CHANGED
@@ -23,6 +23,7 @@ from .data.params.data_list import (
23
23
  FrameFilter,
24
24
  DataFilter,
25
25
  DataListFilter,
26
+ AnnotationCountsFilter
26
27
  )
27
28
  from .datasets.params.datasets import (
28
29
  DatasetsFilter,
@@ -40,6 +41,16 @@ from .exports.params.exports import (
40
41
  ExportFilter,
41
42
  ExportFilterOptions,
42
43
  )
44
+ from .models.params.models import (
45
+ ModelsFilter,
46
+ ModelsFilterOptions,
47
+ )
48
+ from .reports.params.analytics_reports import (
49
+ AnalyticsReportsFilter,
50
+ AnalyticsReportsFilterOptions,
51
+ AnalyticsReportsOrderBy,
52
+ AnalyticsReportListOrderFields,
53
+ )
43
54
 
44
55
  __all__ = [
45
56
  "DateTimeRangeFilterOption",
@@ -73,4 +84,11 @@ __all__ = [
73
84
  "ActivitiesFilterOptions",
74
85
  "ExportFilter",
75
86
  "ExportFilterOptions",
87
+ "AnnotationCountsFilter",
88
+ "ModelsFilter",
89
+ "ModelsFilterOptions",
90
+ "AnalyticsReportsFilter",
91
+ "AnalyticsReportsFilterOptions",
92
+ "AnalyticsReportsOrderBy",
93
+ "AnalyticsReportListOrderFields",
76
94
  ]