superb-ai-onprem 0.4.3__py3-none-any.whl → 0.4.5__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.
- spb_onprem/__init__.py +28 -0
- spb_onprem/_version.py +2 -2
- spb_onprem/data/params/data_list.py +121 -2
- spb_onprem/data/queries.py +1 -1
- spb_onprem/searches.py +28 -0
- {superb_ai_onprem-0.4.3.dist-info → superb_ai_onprem-0.4.5.dist-info}/METADATA +1 -1
- {superb_ai_onprem-0.4.3.dist-info → superb_ai_onprem-0.4.5.dist-info}/RECORD +10 -10
- {superb_ai_onprem-0.4.3.dist-info → superb_ai_onprem-0.4.5.dist-info}/WHEEL +0 -0
- {superb_ai_onprem-0.4.3.dist-info → superb_ai_onprem-0.4.5.dist-info}/licenses/LICENSE +0 -0
- {superb_ai_onprem-0.4.3.dist-info → superb_ai_onprem-0.4.5.dist-info}/top_level.txt +0 -0
spb_onprem/__init__.py
CHANGED
|
@@ -44,6 +44,20 @@ from .searches import (
|
|
|
44
44
|
AnnotationFilter,
|
|
45
45
|
DataListFilter,
|
|
46
46
|
DataFilterOptions,
|
|
47
|
+
AnnotationRangeFilter,
|
|
48
|
+
DateTimeRangeFilter,
|
|
49
|
+
UserFilter,
|
|
50
|
+
StringMetaFilter,
|
|
51
|
+
NumberMetaFilter,
|
|
52
|
+
DateTimeMetaFilter,
|
|
53
|
+
MetaFilterOptions,
|
|
54
|
+
DataSliceStatusFilter,
|
|
55
|
+
DataSliceUserFilter,
|
|
56
|
+
DataSliceTagsFilter,
|
|
57
|
+
DataSliceCommentFilter,
|
|
58
|
+
DataSlicePropertiesFilter,
|
|
59
|
+
DataSliceFilter,
|
|
60
|
+
CommentStatus,
|
|
47
61
|
DatasetsFilter,
|
|
48
62
|
DatasetsFilterOptions,
|
|
49
63
|
SlicesFilter,
|
|
@@ -87,11 +101,25 @@ __all__ = (
|
|
|
87
101
|
"ActivityStatus",
|
|
88
102
|
"ActivitySchema",
|
|
89
103
|
"SchemaType",
|
|
104
|
+
"CommentStatus",
|
|
90
105
|
|
|
91
106
|
# Filters
|
|
92
107
|
"AnnotationFilter",
|
|
93
108
|
"DataListFilter",
|
|
94
109
|
"DataFilterOptions",
|
|
110
|
+
"AnnotationRangeFilter",
|
|
111
|
+
"DateTimeRangeFilter",
|
|
112
|
+
"UserFilter",
|
|
113
|
+
"StringMetaFilter",
|
|
114
|
+
"NumberMetaFilter",
|
|
115
|
+
"DateTimeMetaFilter",
|
|
116
|
+
"MetaFilterOptions",
|
|
117
|
+
"DataSliceStatusFilter",
|
|
118
|
+
"DataSliceUserFilter",
|
|
119
|
+
"DataSliceTagsFilter",
|
|
120
|
+
"DataSliceCommentFilter",
|
|
121
|
+
"DataSlicePropertiesFilter",
|
|
122
|
+
"DataSliceFilter",
|
|
95
123
|
"DatasetsFilter",
|
|
96
124
|
"DatasetsFilterOptions",
|
|
97
125
|
"SlicesFilter",
|
spb_onprem/_version.py
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
from typing import (
|
|
2
2
|
Optional,
|
|
3
|
-
List
|
|
3
|
+
List,
|
|
4
|
+
Union,
|
|
5
|
+
Any
|
|
4
6
|
)
|
|
7
|
+
from enum import Enum
|
|
5
8
|
from spb_onprem.base_model import CustomBaseModel, Field
|
|
6
|
-
from spb_onprem.data.enums import DataType
|
|
9
|
+
from spb_onprem.data.enums import DataType, DataStatus
|
|
7
10
|
from spb_onprem.exceptions import BadParameterError
|
|
8
11
|
|
|
12
|
+
|
|
13
|
+
class CommentStatus(str, Enum):
|
|
14
|
+
"""댓글 상태를 나타내는 열거형"""
|
|
15
|
+
RESOLVED = "RESOLVED"
|
|
16
|
+
UNRESOLVED = "UNRESOLVED"
|
|
17
|
+
|
|
18
|
+
|
|
9
19
|
class AnnotationFilter(CustomBaseModel):
|
|
10
20
|
type: Optional[str] = None
|
|
11
21
|
name: Optional[str] = None
|
|
@@ -20,12 +30,113 @@ class AnnotationRangeFilter(CustomBaseModel):
|
|
|
20
30
|
class_count_min: Optional[int] = Field(None, alias="classCountMin")
|
|
21
31
|
|
|
22
32
|
|
|
33
|
+
class DateTimeRangeFilter(CustomBaseModel):
|
|
34
|
+
"""날짜/시간 범위 필터"""
|
|
35
|
+
from_date: Optional[str] = Field(None, alias="from")
|
|
36
|
+
to_date: Optional[str] = Field(None, alias="to")
|
|
37
|
+
equals: Optional[str] = None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class UserFilter(CustomBaseModel):
|
|
41
|
+
"""사용자 필터 옵션"""
|
|
42
|
+
equals: Optional[str] = None
|
|
43
|
+
contains: Optional[str] = None
|
|
44
|
+
in_list: Optional[List[str]] = Field(None, alias="in")
|
|
45
|
+
exists: Optional[bool] = None
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class StringMetaFilter(CustomBaseModel):
|
|
49
|
+
"""문자열 메타 데이터 필터"""
|
|
50
|
+
key: str
|
|
51
|
+
contains: Optional[str] = None
|
|
52
|
+
equals: Optional[str] = None
|
|
53
|
+
in_list: Optional[List[str]] = Field(None, alias="in")
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class NumberMetaFilter(CustomBaseModel):
|
|
57
|
+
"""숫자 메타 데이터 필터"""
|
|
58
|
+
key: str
|
|
59
|
+
min_value: Optional[float] = Field(None, alias="min")
|
|
60
|
+
max_value: Optional[float] = Field(None, alias="max")
|
|
61
|
+
equals: Optional[float] = None
|
|
62
|
+
in_list: Optional[List[float]] = Field(None, alias="in")
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class DateTimeMetaFilter(CustomBaseModel):
|
|
66
|
+
"""날짜/시간 메타 데이터 필터"""
|
|
67
|
+
key: str
|
|
68
|
+
from_date: Optional[str] = Field(None, alias="from")
|
|
69
|
+
to_date: Optional[str] = Field(None, alias="to")
|
|
70
|
+
equals: Optional[str] = None
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class MetaFilterOptions(CustomBaseModel):
|
|
74
|
+
"""메타 데이터 필터 옵션들"""
|
|
75
|
+
string_meta: Optional[List[StringMetaFilter]] = Field(None, alias="stringMeta")
|
|
76
|
+
number_meta: Optional[List[NumberMetaFilter]] = Field(None, alias="numberMeta")
|
|
77
|
+
date_time_meta: Optional[List[DateTimeMetaFilter]] = Field(None, alias="dateTimeMeta")
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
class DataSliceStatusFilter(CustomBaseModel):
|
|
81
|
+
"""데이터 슬라이스 상태 필터"""
|
|
82
|
+
in_list: Optional[List[DataStatus]] = Field(None, alias="in")
|
|
83
|
+
equals: Optional[DataStatus] = None
|
|
84
|
+
not_in: Optional[List[DataStatus]] = Field(None, alias="notIn")
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class DataSliceUserFilter(CustomBaseModel):
|
|
88
|
+
"""데이터 슬라이스 사용자 필터 (labeler, reviewer용)"""
|
|
89
|
+
equals: Optional[str] = None
|
|
90
|
+
in_list: Optional[List[str]] = Field(None, alias="in")
|
|
91
|
+
exists: Optional[bool] = None
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class DataSliceTagsFilter(CustomBaseModel):
|
|
95
|
+
"""데이터 슬라이스 태그 필터"""
|
|
96
|
+
contains: Optional[str] = None
|
|
97
|
+
has_any: Optional[List[str]] = Field(None, alias="hasAny")
|
|
98
|
+
has_all: Optional[List[str]] = Field(None, alias="hasAll")
|
|
99
|
+
exists: Optional[bool] = None
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class DataSliceCommentFilter(CustomBaseModel):
|
|
103
|
+
"""데이터 슬라이스 댓글 필터"""
|
|
104
|
+
comment_contains: Optional[str] = Field(None, alias="commentContains")
|
|
105
|
+
category: Optional[str] = None
|
|
106
|
+
status: Optional[CommentStatus] = None
|
|
107
|
+
created_by: Optional[UserFilter] = Field(None, alias="createdBy")
|
|
108
|
+
created_at: Optional[DateTimeRangeFilter] = Field(None, alias="createdAt")
|
|
109
|
+
exists: Optional[bool] = None
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class DataSlicePropertiesFilter(CustomBaseModel):
|
|
113
|
+
"""슬라이스 속성 필터 (ID 제외)"""
|
|
114
|
+
status: Optional[DataSliceStatusFilter] = None
|
|
115
|
+
labeler: Optional[DataSliceUserFilter] = None
|
|
116
|
+
reviewer: Optional[DataSliceUserFilter] = None
|
|
117
|
+
tags: Optional[DataSliceTagsFilter] = None
|
|
118
|
+
status_changed_at: Optional[DateTimeRangeFilter] = Field(None, alias="statusChangedAt")
|
|
119
|
+
comments: Optional[DataSliceCommentFilter] = None
|
|
120
|
+
meta: Optional[MetaFilterOptions] = None
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class DataSliceFilter(CustomBaseModel):
|
|
124
|
+
"""슬라이스 필터 (ID + must/not 구조)"""
|
|
125
|
+
id: str # 검색할 슬라이스 ID (필수)
|
|
126
|
+
must: Optional[DataSlicePropertiesFilter] = None # 만족해야 하는 조건
|
|
127
|
+
not_filter: Optional[DataSlicePropertiesFilter] = Field(None, alias="not") # 만족하지 않아야 하는 조건
|
|
128
|
+
|
|
129
|
+
|
|
23
130
|
class DataFilterOptions(CustomBaseModel):
|
|
24
131
|
id_in: Optional[List[str]] = Field(None, alias="idIn")
|
|
25
132
|
slice_id: Optional[str] = Field(None, alias="sliceId")
|
|
26
133
|
slice_id_in: Optional[List[str]] = Field(None, alias="sliceIdIn")
|
|
134
|
+
slice_id_any: Optional[List[str]] = Field(None, alias="sliceIdAny") # 추가된 필드
|
|
135
|
+
slice_id_exists: Optional[bool] = Field(None, alias="sliceIdExists") # 추가된 필드
|
|
27
136
|
key_contains: Optional[str] = Field(None, alias="keyContains")
|
|
28
137
|
key_matches: Optional[str] = Field(None, alias="keyMatches")
|
|
138
|
+
sub_type_contains: Optional[str] = Field(None, alias="subTypeContains") # 추가된 필드
|
|
139
|
+
sub_type_matches: Optional[str] = Field(None, alias="subTypeMatches") # 추가된 필드
|
|
29
140
|
type_in: Optional[List[DataType]] = Field(None, alias="typeIn")
|
|
30
141
|
annotation_any: Optional[List[AnnotationFilter]] = Field(None, alias="annotationAny")
|
|
31
142
|
annotation_in: Optional[List[AnnotationFilter]] = Field(None, alias="annotationIn")
|
|
@@ -33,11 +144,19 @@ class DataFilterOptions(CustomBaseModel):
|
|
|
33
144
|
annotation_range: Optional[List[AnnotationRangeFilter]] = Field(None, alias="annotationRange")
|
|
34
145
|
prediction_set_id_in: Optional[List[str]] = Field(None, alias="predictionSetIdIn")
|
|
35
146
|
prediction_set_id_exists: Optional[bool] = Field(None, alias="predictionSetIdExists")
|
|
147
|
+
|
|
148
|
+
# 추가된 필드들 (GraphQL과 매칭)
|
|
149
|
+
created_at: Optional[DateTimeRangeFilter] = Field(None, alias="createdAt")
|
|
150
|
+
updated_at: Optional[DateTimeRangeFilter] = Field(None, alias="updatedAt")
|
|
151
|
+
created_by: Optional[UserFilter] = Field(None, alias="createdBy")
|
|
152
|
+
updated_by: Optional[UserFilter] = Field(None, alias="updatedBy")
|
|
153
|
+
meta: Optional[MetaFilterOptions] = None
|
|
36
154
|
|
|
37
155
|
|
|
38
156
|
class DataListFilter(CustomBaseModel):
|
|
39
157
|
must_filter: Optional[DataFilterOptions] = Field(None, alias="must")
|
|
40
158
|
not_filter: Optional[DataFilterOptions] = Field(None, alias="not")
|
|
159
|
+
slice: Optional[DataSliceFilter] = Field(None, alias="slice")
|
|
41
160
|
|
|
42
161
|
|
|
43
162
|
def get_data_id_list_params(
|
spb_onprem/data/queries.py
CHANGED
spb_onprem/searches.py
CHANGED
|
@@ -3,6 +3,20 @@ from .data.params.data_list import (
|
|
|
3
3
|
AnnotationFilter,
|
|
4
4
|
DataListFilter,
|
|
5
5
|
DataFilterOptions,
|
|
6
|
+
AnnotationRangeFilter,
|
|
7
|
+
DateTimeRangeFilter,
|
|
8
|
+
UserFilter,
|
|
9
|
+
StringMetaFilter,
|
|
10
|
+
NumberMetaFilter,
|
|
11
|
+
DateTimeMetaFilter,
|
|
12
|
+
MetaFilterOptions,
|
|
13
|
+
DataSliceStatusFilter,
|
|
14
|
+
DataSliceUserFilter,
|
|
15
|
+
DataSliceTagsFilter,
|
|
16
|
+
DataSliceCommentFilter,
|
|
17
|
+
DataSlicePropertiesFilter,
|
|
18
|
+
DataSliceFilter,
|
|
19
|
+
CommentStatus,
|
|
6
20
|
)
|
|
7
21
|
from .datasets.params.datasets import (
|
|
8
22
|
DatasetsFilter,
|
|
@@ -25,6 +39,20 @@ __all__ = [
|
|
|
25
39
|
"AnnotationFilter",
|
|
26
40
|
"DataListFilter",
|
|
27
41
|
"DataFilterOptions",
|
|
42
|
+
"AnnotationRangeFilter",
|
|
43
|
+
"DateTimeRangeFilter",
|
|
44
|
+
"UserFilter",
|
|
45
|
+
"StringMetaFilter",
|
|
46
|
+
"NumberMetaFilter",
|
|
47
|
+
"DateTimeMetaFilter",
|
|
48
|
+
"MetaFilterOptions",
|
|
49
|
+
"DataSliceStatusFilter",
|
|
50
|
+
"DataSliceUserFilter",
|
|
51
|
+
"DataSliceTagsFilter",
|
|
52
|
+
"DataSliceCommentFilter",
|
|
53
|
+
"DataSlicePropertiesFilter",
|
|
54
|
+
"DataSliceFilter",
|
|
55
|
+
"CommentStatus",
|
|
28
56
|
"DatasetsFilter",
|
|
29
57
|
"DatasetsFilterOptions",
|
|
30
58
|
"SlicesFilter",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
spb_onprem/__init__.py,sha256=
|
|
2
|
-
spb_onprem/_version.py,sha256=
|
|
1
|
+
spb_onprem/__init__.py,sha256=7sMK6ajypSTEggxQ1YS1SxmXvymwcxC-dyeqzwCykyo,2625
|
|
2
|
+
spb_onprem/_version.py,sha256=YrJwLVAkXjdo87YWYyrI7_B7BOSjbDIJ_FAFmb7g_vc,511
|
|
3
3
|
spb_onprem/base_model.py,sha256=XLtyoxRBs68LrvbFH8V4EvQGPc2W17koC310MnS37jc,442
|
|
4
4
|
spb_onprem/base_service.py,sha256=dPfr3mGXYlqadOXycu6RBFX1HcZ1qzEsskLoOxERLOU,5737
|
|
5
5
|
spb_onprem/base_types.py,sha256=5HO6uy6qf08b4KSElwIaGy7UkoQG2KqVO6gcHbsqqSo,269
|
|
6
6
|
spb_onprem/entities.py,sha256=EVoJNYM4BM2Q_ZbwCGiLjFEKQ_NsETiI86zhliPtjTc,943
|
|
7
7
|
spb_onprem/exceptions.py,sha256=jx5rTGsVZ5shOdbgQzk8GcSyMWFtb_3xhPq6Sylwc5o,478
|
|
8
|
-
spb_onprem/searches.py,sha256
|
|
8
|
+
spb_onprem/searches.py,sha256=-ARAdCumAa1RViwhcinh-E7VHLs4xv5gk9dPyNze6-4,1448
|
|
9
9
|
spb_onprem/activities/__init__.py,sha256=iTHUza8mtiBd_QEPH-0tzrOsd_VSwSQNMbzVWfebQ6c,175
|
|
10
10
|
spb_onprem/activities/queries.py,sha256=L01PRDUQdbbIGoKP_M-CmZ1ORQzuq9NOr-rdWLW0ejE,6083
|
|
11
11
|
spb_onprem/activities/service.py,sha256=HX_0IgdqFp0ProgQxfsf6rJk00uLDGnlqMOfRc3cKRM,11469
|
|
@@ -28,7 +28,7 @@ spb_onprem/contents/entities/__init__.py,sha256=HsQ9J8UDxCx4xYTdMKQto7HCVUQilNoz
|
|
|
28
28
|
spb_onprem/contents/entities/base_content.py,sha256=nM7NALpeRjtUKPv7eU0-hlqT1rPtD2mwB6Bvv_2Zc1E,346
|
|
29
29
|
spb_onprem/contents/entities/content.py,sha256=YhTGHE9ykiOgFjvxbnLzSLg2665jPYrDATteB9PbGPE,534
|
|
30
30
|
spb_onprem/data/__init__.py,sha256=5XKxNm2BlKufrX5uRQreUEzJ-nerTrozKpG1RJL5wt8,68
|
|
31
|
-
spb_onprem/data/queries.py,sha256=
|
|
31
|
+
spb_onprem/data/queries.py,sha256=luCodg5jgxmzSlOPTdT-F2V0-5EV3ruZuhzACKTkPmY,15054
|
|
32
32
|
spb_onprem/data/service.py,sha256=Q9CPYkq5C7dONcTfodt4kCtSK3Hi1iAcQLDEkSLPzFY,23797
|
|
33
33
|
spb_onprem/data/entities/__init__.py,sha256=g_IvUIFSNpqqMJbNeIRU_aaP-rJKIo_AJW0ljlzhK5s,338
|
|
34
34
|
spb_onprem/data/entities/annotation.py,sha256=BSKU-nvtjuSeXPNuqUAG_McjLowWRCkR6iT8p3pOMYA,744
|
|
@@ -48,7 +48,7 @@ spb_onprem/data/params/change_data_reviewer.py,sha256=dFix3NfS2_8lpaoWxz6anLEJWM
|
|
|
48
48
|
spb_onprem/data/params/change_data_status.py,sha256=34gGtmTJT8wiDDpHOgQYvgP0-ziuYEBDFlpfY8SAZtI,593
|
|
49
49
|
spb_onprem/data/params/create_data.py,sha256=8DOfbEchf9GSybiYY1cZoNzNYwILokoAkxXRFybJUAU,2038
|
|
50
50
|
spb_onprem/data/params/data.py,sha256=ZPJRjCbkjOCV73NxlGm5DxbSaNOAztVBRZRE8FFQ9mw,779
|
|
51
|
-
spb_onprem/data/params/data_list.py,sha256=
|
|
51
|
+
spb_onprem/data/params/data_list.py,sha256=sxMBaK3n2YgbUQ9yNmcRkcngbClnkEJFAeeX07umS2M,8645
|
|
52
52
|
spb_onprem/data/params/delete_annotation_version.py,sha256=R_jBVujor-09VS1Aa8yGP14R8nJ2Aa9OmmKezC4gz4c,457
|
|
53
53
|
spb_onprem/data/params/delete_data.py,sha256=HN4xXW9o4ZFOSjlzRZJ-F0wwtd_RzgI30gVWoULo1p8,319
|
|
54
54
|
spb_onprem/data/params/delete_prediction.py,sha256=X3sV2mrSUqg8FOlZYRtb0o1hAwFos48ydFK2Il8UCp4,479
|
|
@@ -103,7 +103,7 @@ spb_onprem/slices/params/update_slice.py,sha256=kryOmCnRTQ_OU0qDKgugppLrpeUpuLwm
|
|
|
103
103
|
spb_onprem/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
104
|
spb_onprem/users/entities/__init__.py,sha256=X8HZsCTlQnuPszok3AwI-i7bsQi0Ehul5L_2jZaol5E,57
|
|
105
105
|
spb_onprem/users/entities/auth.py,sha256=_KP-7yUErBxhJMm-dE3ObprPEG6e0JI2qNg6g8aK1qM,3371
|
|
106
|
-
superb_ai_onprem-0.4.
|
|
106
|
+
superb_ai_onprem-0.4.5.dist-info/licenses/LICENSE,sha256=CdinbFiHKGkGl6cPde6WgXhMuzyUXEG6tzy2-7udZ8o,1066
|
|
107
107
|
tests/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
|
|
108
108
|
tests/activities/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
|
|
109
109
|
tests/activities/real_test.py,sha256=0gQHg7rIEuZndGZyNHMWSD5nUZPMsUGigfCjWFxMthQ,1786
|
|
@@ -116,7 +116,7 @@ tests/exports/test_entities.py,sha256=hG7G4kVkyHKT3mv4lvrzUqOW8ILeHiYj87QZjQcmg9
|
|
|
116
116
|
tests/exports/test_integration.py,sha256=cCcEgwIIHyQRlc04EAXSKz7RcblQvhI2GBR3uVaOOq8,6201
|
|
117
117
|
tests/exports/test_params.py,sha256=oRRa6nEru_FImlB3TrmFiBidz6ZstCx4rVaCK-EMGfQ,11070
|
|
118
118
|
tests/exports/test_service.py,sha256=IDcKxrmByh00jk9142P2ThuGureMoijTHNdU0rERGG8,14628
|
|
119
|
-
superb_ai_onprem-0.4.
|
|
120
|
-
superb_ai_onprem-0.4.
|
|
121
|
-
superb_ai_onprem-0.4.
|
|
122
|
-
superb_ai_onprem-0.4.
|
|
119
|
+
superb_ai_onprem-0.4.5.dist-info/METADATA,sha256=CLTbYzfJPGw-v7I_1N9NkvXJL7cnqhl6dAvQrBjF0QY,5817
|
|
120
|
+
superb_ai_onprem-0.4.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
121
|
+
superb_ai_onprem-0.4.5.dist-info/top_level.txt,sha256=LbqU6FjWKaxO7FPS5-71e3OIS8VgBi5VrtQMWFOW25Q,17
|
|
122
|
+
superb_ai_onprem-0.4.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|