frogml-core 0.0.14__py3-none-any.whl → 0.0.16__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.
- frogml_core/__init__.py +1 -1
- frogml_core/clients/model_version_manager/client.py +112 -1
- frogml_core/utils/proto_utils.py +21 -0
- {frogml_core-0.0.14.dist-info → frogml_core-0.0.16.dist-info}/METADATA +1 -1
- {frogml_core-0.0.14.dist-info → frogml_core-0.0.16.dist-info}/RECORD +8 -8
- frogml_proto/jfml/model_version/v1/model_version_pb2.py +33 -13
- frogml_proto/jfml/model_version/v1/model_version_pb2.pyi +40 -8
- {frogml_core-0.0.14.dist-info → frogml_core-0.0.16.dist-info}/WHEEL +0 -0
frogml_core/__init__.py
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
from platform import python_version
|
2
|
+
from typing import List, Optional, Dict, Union, Tuple
|
2
3
|
|
3
4
|
from dependency_injector.wiring import Provide
|
5
|
+
from frogml_storage.entity_manifest import Artifact
|
4
6
|
from grpc import RpcError
|
5
7
|
|
6
8
|
from frogml_core.exceptions import FrogmlException
|
7
9
|
from frogml_core.inner.di_configuration import FrogmlContainer
|
8
10
|
from frogml_core.utils.model_utils import get_model_id_from_model_name
|
11
|
+
from frogml_core.utils.proto_utils import ProtoUtils
|
12
|
+
from frogml_proto.jfml.model_version.v1.artifact_pb2 import Artifact as ArtifactProto
|
9
13
|
from frogml_proto.jfml.model_version.v1.model_repository_spec_pb2 import (
|
10
14
|
ModelRepositorySpec,
|
11
15
|
)
|
@@ -21,7 +25,12 @@ from frogml_proto.jfml.model_version.v1.model_version_manager_service_pb2 import
|
|
21
25
|
from frogml_proto.jfml.model_version.v1.model_version_manager_service_pb2_grpc import (
|
22
26
|
ModelVersionManagerServiceStub,
|
23
27
|
)
|
24
|
-
from frogml_proto.jfml.model_version.v1.model_version_pb2 import
|
28
|
+
from frogml_proto.jfml.model_version.v1.model_version_pb2 import (
|
29
|
+
ModelVersionSpec,
|
30
|
+
MlBomData,
|
31
|
+
ParameterValue,
|
32
|
+
MetricValue,
|
33
|
+
)
|
25
34
|
|
26
35
|
|
27
36
|
class ModelVersionManagerClient:
|
@@ -33,14 +42,54 @@ class ModelVersionManagerClient:
|
|
33
42
|
self.__model_version_manager_stub = ModelVersionManagerServiceStub(grpc_channel)
|
34
43
|
|
35
44
|
@staticmethod
|
45
|
+
def __build_mlbom_data_kwargs(
|
46
|
+
model_artifact: List[ArtifactProto],
|
47
|
+
code_artifacts: Optional[List[ArtifactProto]] = None,
|
48
|
+
dependency_artifacts: Optional[List[ArtifactProto]] = None,
|
49
|
+
metrics: Optional[Dict[str, str]] = None,
|
50
|
+
parameters: Optional[Dict[str, str]] = None,
|
51
|
+
) -> Dict[
|
52
|
+
str, Union[List[ArtifactProto], Dict[str, Union[ParameterValue, MetricValue]]]
|
53
|
+
]:
|
54
|
+
kwargs = {"model_artifact": model_artifact}
|
55
|
+
|
56
|
+
if dependency_artifacts:
|
57
|
+
kwargs["dependency_artifacts"] = dependency_artifacts
|
58
|
+
|
59
|
+
if code_artifacts:
|
60
|
+
kwargs["code_artifacts"] = code_artifacts
|
61
|
+
|
62
|
+
if parameters:
|
63
|
+
kwargs["parameters"] = {
|
64
|
+
key: ParameterValue(value=str(value))
|
65
|
+
for key, value in parameters.items()
|
66
|
+
}
|
67
|
+
|
68
|
+
if metrics:
|
69
|
+
kwargs["metrics"] = {
|
70
|
+
key: MetricValue(value=str(value)) for key, value in metrics.items()
|
71
|
+
}
|
72
|
+
|
73
|
+
return kwargs
|
74
|
+
|
36
75
|
def __build_create_model_version_request(
|
76
|
+
self,
|
37
77
|
project_key: str,
|
38
78
|
repository_key: str,
|
39
79
|
model_name: str,
|
40
80
|
model_version_name: str,
|
41
81
|
model_version_framework: ModelVersionFramework,
|
42
82
|
dry_run: bool,
|
83
|
+
model_artifacts: List[ArtifactProto],
|
84
|
+
dependency_artifacts: Optional[List[ArtifactProto]] = None,
|
85
|
+
code_artifacts: Optional[List[ArtifactProto]] = None,
|
86
|
+
parameters: Optional[Dict[str, str]] = None,
|
87
|
+
metrics: Optional[Dict[str, str]] = None,
|
43
88
|
) -> CreateModelVersionRequest:
|
89
|
+
kwargs: dict = self.__build_mlbom_data_kwargs(
|
90
|
+
model_artifacts, code_artifacts, dependency_artifacts, metrics, parameters
|
91
|
+
)
|
92
|
+
|
44
93
|
return CreateModelVersionRequest(
|
45
94
|
dry_run=dry_run,
|
46
95
|
model_version=ModelVersionSpec(
|
@@ -54,6 +103,7 @@ class ModelVersionManagerClient:
|
|
54
103
|
framework=model_version_framework,
|
55
104
|
python_version=python_version(),
|
56
105
|
),
|
106
|
+
ml_bom_data=MlBomData(**kwargs),
|
57
107
|
)
|
58
108
|
|
59
109
|
def validate_create_model_version(
|
@@ -63,8 +113,21 @@ class ModelVersionManagerClient:
|
|
63
113
|
model_name: str,
|
64
114
|
model_version_name: str,
|
65
115
|
model_version_framework: ModelVersionFramework,
|
116
|
+
model_artifact: List[Artifact],
|
117
|
+
dependency_artifacts: Optional[List[Artifact]] = None,
|
118
|
+
code_artifacts: Optional[List[Artifact]] = None,
|
119
|
+
parameters: Optional[Dict[str, str]] = None,
|
120
|
+
metrics: Optional[Dict[str, str]] = None,
|
66
121
|
):
|
67
122
|
try:
|
123
|
+
(
|
124
|
+
code_artifacts_proto,
|
125
|
+
dependency_artifacts_proto,
|
126
|
+
model_artifact_proto,
|
127
|
+
) = self.convert_artifacts(
|
128
|
+
model_artifact, dependency_artifacts, code_artifacts
|
129
|
+
)
|
130
|
+
|
68
131
|
create_model_request = self.__build_create_model_version_request(
|
69
132
|
project_key=project_key,
|
70
133
|
repository_key=repository_key,
|
@@ -72,6 +135,11 @@ class ModelVersionManagerClient:
|
|
72
135
|
model_version_name=model_version_name,
|
73
136
|
model_version_framework=model_version_framework,
|
74
137
|
dry_run=True,
|
138
|
+
model_artifacts=model_artifact_proto,
|
139
|
+
dependency_artifacts=dependency_artifacts_proto,
|
140
|
+
code_artifacts=code_artifacts_proto,
|
141
|
+
parameters=parameters,
|
142
|
+
metrics=metrics,
|
75
143
|
)
|
76
144
|
self.__model_version_manager_stub.CreateModelVersion(create_model_request)
|
77
145
|
except RpcError as e:
|
@@ -89,8 +157,21 @@ class ModelVersionManagerClient:
|
|
89
157
|
model_name: str,
|
90
158
|
model_version_name: str,
|
91
159
|
model_version_framework: ModelVersionFramework,
|
160
|
+
model_artifact: List[Artifact],
|
161
|
+
dependency_artifacts: Optional[List[Artifact]] = None,
|
162
|
+
code_artifacts: Optional[List[Artifact]] = None,
|
163
|
+
parameters: Optional[Dict[str, str]] = None,
|
164
|
+
metrics: Optional[Dict[str, str]] = None,
|
92
165
|
) -> CreateModelVersionResponse:
|
93
166
|
try:
|
167
|
+
(
|
168
|
+
code_artifacts_proto,
|
169
|
+
dependency_artifacts_proto,
|
170
|
+
model_artifact_proto,
|
171
|
+
) = self.convert_artifacts(
|
172
|
+
model_artifact, dependency_artifacts, code_artifacts
|
173
|
+
)
|
174
|
+
|
94
175
|
create_model_request = self.__build_create_model_version_request(
|
95
176
|
project_key=project_key,
|
96
177
|
repository_key=repository_key,
|
@@ -98,6 +179,11 @@ class ModelVersionManagerClient:
|
|
98
179
|
model_version_name=model_version_name,
|
99
180
|
model_version_framework=model_version_framework,
|
100
181
|
dry_run=False,
|
182
|
+
model_artifacts=model_artifact_proto,
|
183
|
+
dependency_artifacts=dependency_artifacts_proto,
|
184
|
+
code_artifacts=code_artifacts_proto,
|
185
|
+
parameters=parameters,
|
186
|
+
metrics=metrics,
|
101
187
|
)
|
102
188
|
create_model_version_response: CreateModelVersionResponse = (
|
103
189
|
self.__model_version_manager_stub.CreateModelVersion(
|
@@ -114,6 +200,31 @@ class ModelVersionManagerClient:
|
|
114
200
|
message = f"Failed to validate model version, details [{e}]"
|
115
201
|
raise FrogmlException(message)
|
116
202
|
|
203
|
+
@staticmethod
|
204
|
+
def convert_artifacts(
|
205
|
+
model_artifact: List[Artifact],
|
206
|
+
dependency_artifacts: Optional[List[Artifact]] = None,
|
207
|
+
code_artifacts: Optional[List[Artifact]] = None,
|
208
|
+
) -> Tuple[
|
209
|
+
Optional[List[ArtifactProto]],
|
210
|
+
Optional[List[ArtifactProto]],
|
211
|
+
List[ArtifactProto],
|
212
|
+
]:
|
213
|
+
model_artifact_proto: List[
|
214
|
+
ArtifactProto
|
215
|
+
] = ProtoUtils.convert_artifacts_to_artifacts_proto(model_artifact)
|
216
|
+
dependency_artifacts_proto = (
|
217
|
+
ProtoUtils.convert_artifacts_to_artifacts_proto(dependency_artifacts)
|
218
|
+
if dependency_artifacts
|
219
|
+
else None
|
220
|
+
)
|
221
|
+
code_artifacts_proto = (
|
222
|
+
ProtoUtils.convert_artifacts_to_artifacts_proto(code_artifacts)
|
223
|
+
if code_artifacts
|
224
|
+
else None
|
225
|
+
)
|
226
|
+
return code_artifacts_proto, dependency_artifacts_proto, model_artifact_proto
|
227
|
+
|
117
228
|
def get_mlbom_by_model_version_id(
|
118
229
|
self, model_version_id: str
|
119
230
|
) -> GetMlBomModelVersionByIdResponse:
|
frogml_core/utils/proto_utils.py
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
from typing import List
|
2
|
+
|
3
|
+
from frogml_storage.entity_manifest import Artifact
|
4
|
+
|
5
|
+
from frogml_proto.jfml.model_version.v1.artifact_pb2 import (
|
6
|
+
Artifact as ArtifactProto,
|
7
|
+
Checksums as ChecksumsProto,
|
8
|
+
)
|
1
9
|
from frogml_proto.jfml.model_version.v1.model_version_framework_pb2 import (
|
2
10
|
ModelVersionFramework,
|
3
11
|
CatboostFramework,
|
@@ -40,3 +48,16 @@ class ProtoUtils:
|
|
40
48
|
raise ValueError(f"Format {serialization_format} is not supported yet")
|
41
49
|
|
42
50
|
return ModelVersionFramework(**framework_to_define)
|
51
|
+
|
52
|
+
@staticmethod
|
53
|
+
def convert_artifacts_to_artifacts_proto(
|
54
|
+
artifacts: List[Artifact],
|
55
|
+
) -> List[ArtifactProto]:
|
56
|
+
return [
|
57
|
+
ArtifactProto(
|
58
|
+
artifact_path=artifact.artifact_path,
|
59
|
+
size=artifact.size,
|
60
|
+
checksums=ChecksumsProto(sha2=artifact.checksums.sha2),
|
61
|
+
)
|
62
|
+
for artifact in artifacts
|
63
|
+
]
|
@@ -1,4 +1,4 @@
|
|
1
|
-
frogml_core/__init__.py,sha256=
|
1
|
+
frogml_core/__init__.py,sha256=xfkJMPQDpFXX6tK6N3XczqyEFeBl2j5IVujzbM_rCRw,777
|
2
2
|
frogml_core/automations/__init__.py,sha256=j2gD15MN-xVWhI5rAFsDwhL0CIyICLNT0scXsKvNBkU,1547
|
3
3
|
frogml_core/automations/automation_executions.py,sha256=xpOb9Dq8gPPGNQDJTvBBZbNz4woZDRZY0HqnLSu7pwU,3230
|
4
4
|
frogml_core/automations/automations.py,sha256=GKEQyQMi8sxX5oZn62PaxPi0zD8IaJRjBkhczRJxHNs,13070
|
@@ -73,7 +73,7 @@ frogml_core/clients/logging_client/client.py,sha256=A7qQJWW54Ve7O0DuJX9gmSJlUQyR
|
|
73
73
|
frogml_core/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
|
74
74
|
frogml_core/clients/model_management/client.py,sha256=rXnzcP3-pfXCVG0KlcCwbdeIJ1iFzV84JYtyNC8n-x8,4575
|
75
75
|
frogml_core/clients/model_version_manager/__init__.py,sha256=4Pnfzj4Egps48__dProdbSKQl5pNip0hGJd75w67BfY,46
|
76
|
-
frogml_core/clients/model_version_manager/client.py,sha256=
|
76
|
+
frogml_core/clients/model_version_manager/client.py,sha256=WeU9XXLu5K0ViS-2YeENq121qV4ESXmI6pzc_K8QkvM,9457
|
77
77
|
frogml_core/clients/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
78
|
frogml_core/clients/project/client.py,sha256=VvnUk7mo-UkE9Gkj9jVkCPGTVx8qmuekMz7oH9Uzv2Y,2159
|
79
79
|
frogml_core/clients/prompt_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -420,7 +420,7 @@ frogml_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
420
420
|
frogml_core/utils/datetime_utils.py,sha256=3zK7PUrerMlwB7U6WeuYwMAclVMfPqBNZihNRyIVMs4,581
|
421
421
|
frogml_core/utils/dict_utils.py,sha256=YsOSQeGpmrsm3CMnx2ZbqvzEcybk3m-0TCMXbBdBXaY,263
|
422
422
|
frogml_core/utils/model_utils.py,sha256=fLdYIScmVUfChGGxOacH2mID00ZUOPtS4ewUimEDGhg,132
|
423
|
-
frogml_core/utils/proto_utils.py,sha256=
|
423
|
+
frogml_core/utils/proto_utils.py,sha256=5kQAIxuzhk2_AB_enOD8kpLpIeruFjEGGSafnnt1fc8,2383
|
424
424
|
frogml_core/vector_store/__init__.py,sha256=9gR2B5A1MXb2ks5VUzqrPASGpVTDuJs4uq7N7FNWOY4,120
|
425
425
|
frogml_core/vector_store/client.py,sha256=mmchLHjR5aOZOLIz1eibmsoXSMHvcHjCtaWB24QZoAY,6067
|
426
426
|
frogml_core/vector_store/collection.py,sha256=KKeEww8iogmHdfEeqgTHqIV9PizeiUl1coWwHJY8Glc,17150
|
@@ -446,8 +446,8 @@ frogml_proto/jfml/model_version/v1/model_version_framework_pb2_grpc.py,sha256=1o
|
|
446
446
|
frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2.py,sha256=AdtFAjC0tmEIcQD7k8m7TtTCVTa0ioexf31VSyUcPHk,14670
|
447
447
|
frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2.pyi,sha256=ZEEgWKD0qd8zAD8nljdBAZFP3hnLN0MOAYtZA1EHfjw,13323
|
448
448
|
frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2_grpc.py,sha256=5b77ei6ijZs9-z0frMZ6MngPziapHRYJAqU6CzZFMFs,17535
|
449
|
-
frogml_proto/jfml/model_version/v1/model_version_pb2.py,sha256=
|
450
|
-
frogml_proto/jfml/model_version/v1/model_version_pb2.pyi,sha256=
|
449
|
+
frogml_proto/jfml/model_version/v1/model_version_pb2.py,sha256=BdoKHI2jNE5gWrFzBt6iqWynhkdxk_C2qKxqrXhphHw,9443
|
450
|
+
frogml_proto/jfml/model_version/v1/model_version_pb2.pyi,sha256=MYREFLuBZP-AJZUUuJVhfNiSfzyqceTAc9naO2T622M,10095
|
451
451
|
frogml_proto/jfml/model_version/v1/model_version_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
452
452
|
frogml_proto/qwak/administration/account/v1/account_pb2.py,sha256=eiD7FPyN-7p5OplBBPYYavyXYVAEcu2tFp5sgZ2-fgs,8082
|
453
453
|
frogml_proto/qwak/administration/account/v1/account_pb2.pyi,sha256=-pGJBR4NbmZDPkznUbb3sfGsTu4W6hfg72pE0jtvmpg,10934
|
@@ -1019,6 +1019,6 @@ frogml_services_mock/mocks/workspace_manager_service_mock.py,sha256=WbOiWgOyr-xT
|
|
1019
1019
|
frogml_services_mock/services_mock.py,sha256=_34z6rFCHFwcSni-9eyJlrH264xsL_QDNmG-EBv0zMc,20281
|
1020
1020
|
frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1021
1021
|
frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
|
1022
|
-
frogml_core-0.0.
|
1023
|
-
frogml_core-0.0.
|
1024
|
-
frogml_core-0.0.
|
1022
|
+
frogml_core-0.0.16.dist-info/METADATA,sha256=v80qSNEQ165y-bZc1x9T8zWowOhh4XJq5uOWEFu_1VE,2099
|
1023
|
+
frogml_core-0.0.16.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
1024
|
+
frogml_core-0.0.16.dist-info/RECORD,,
|
@@ -18,7 +18,7 @@ from frogml_proto.jfml.model_version.v1 import model_repository_spec_pb2 as jfml
|
|
18
18
|
from frogml_proto.jfml.model_version.v1 import artifact_pb2 as jfml_dot_model__version_dot_v1_dot_artifact__pb2
|
19
19
|
|
20
20
|
|
21
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)jfml/model_version/v1/model_version.proto\x12\x15jfml.model_version.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x33jfml/model_version/v1/model_version_framework.proto\x1a\x31jfml/model_version/v1/model_repository_spec.proto\x1a$jfml/model_version/v1/artifact.proto\"\x8e\x02\n\x0cModelVersion\x12\x18\n\x10model_version_id\x18\x01 \x01(\t\x12\x35\n\x04spec\x18\x02 \x01(\x0b\x32\'.jfml.model_version.v1.ModelVersionSpec\x12\x39\n\x06status\x18\x03 \x01(\x0b\x32).jfml.model_version.v1.ModelVersionStatus\x12\x12\n\ncreated_by\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbe\x01\n\x10ModelVersionSpec\x12\x43\n\x0frepository_spec\x18\x01 \x01(\x0b\x32*.jfml.model_version.v1.ModelRepositorySpec\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\tframework\x18\x03 \x01(\x0b\x32,.jfml.model_version.v1.ModelVersionFramework\x12\x16\n\x0epython_version\x18\x04 \x01(\t\"\
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)jfml/model_version/v1/model_version.proto\x12\x15jfml.model_version.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x33jfml/model_version/v1/model_version_framework.proto\x1a\x31jfml/model_version/v1/model_repository_spec.proto\x1a$jfml/model_version/v1/artifact.proto\"\x8e\x02\n\x0cModelVersion\x12\x18\n\x10model_version_id\x18\x01 \x01(\t\x12\x35\n\x04spec\x18\x02 \x01(\x0b\x32\'.jfml.model_version.v1.ModelVersionSpec\x12\x39\n\x06status\x18\x03 \x01(\x0b\x32).jfml.model_version.v1.ModelVersionStatus\x12\x12\n\ncreated_by\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbe\x01\n\x10ModelVersionSpec\x12\x43\n\x0frepository_spec\x18\x01 \x01(\x0b\x32*.jfml.model_version.v1.ModelRepositorySpec\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\tframework\x18\x03 \x01(\x0b\x32,.jfml.model_version.v1.ModelVersionFramework\x12\x16\n\x0epython_version\x18\x04 \x01(\t\"\xf0\x03\n\tMlBomData\x12\x37\n\x0emodel_artifact\x18\x01 \x03(\x0b\x32\x1f.jfml.model_version.v1.Artifact\x12\x37\n\x0e\x63ode_artifacts\x18\x02 \x03(\x0b\x32\x1f.jfml.model_version.v1.Artifact\x12=\n\x14\x64\x65pendency_artifacts\x18\x03 \x03(\x0b\x32\x1f.jfml.model_version.v1.Artifact\x12\x44\n\nparameters\x18\x04 \x03(\x0b\x32\x30.jfml.model_version.v1.MlBomData.ParametersEntry\x12>\n\x07metrics\x18\x05 \x03(\x0b\x32-.jfml.model_version.v1.MlBomData.MetricsEntry\x1aX\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.jfml.model_version.v1.ParameterValue:\x02\x38\x01\x1aR\n\x0cMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\".jfml.model_version.v1.MetricValue:\x02\x38\x01\"\x1f\n\x0eParameterValue\x12\r\n\x05value\x18\x01 \x01(\t\"\x1c\n\x0bMetricValue\x12\r\n\x05value\x18\x01 \x01(\t\"\xf6\x01\n\x12ModelVersionStatus\x12J\n\x0bin_progress\x18\x01 \x01(\x0b\x32\x33.jfml.model_version.v1.ModelVersionInProgressStatusH\x00\x12G\n\tcompleted\x18\x02 \x01(\x0b\x32\x32.jfml.model_version.v1.ModelVersionCompletedStatusH\x00\x12\x41\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32/.jfml.model_version.v1.ModelVersionFailedStatusH\x00\x42\x08\n\x06status\"\x1e\n\x1cModelVersionInProgressStatus\"\x1d\n\x1bModelVersionCompletedStatus\"\x1a\n\x18ModelVersionFailedStatusB%\n!com.jfrog.ml.model_version.api.v1P\x01\x62\x06proto3')
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -27,6 +27,8 @@ _MODELVERSIONSPEC = DESCRIPTOR.message_types_by_name['ModelVersionSpec']
|
|
27
27
|
_MLBOMDATA = DESCRIPTOR.message_types_by_name['MlBomData']
|
28
28
|
_MLBOMDATA_PARAMETERSENTRY = _MLBOMDATA.nested_types_by_name['ParametersEntry']
|
29
29
|
_MLBOMDATA_METRICSENTRY = _MLBOMDATA.nested_types_by_name['MetricsEntry']
|
30
|
+
_PARAMETERVALUE = DESCRIPTOR.message_types_by_name['ParameterValue']
|
31
|
+
_METRICVALUE = DESCRIPTOR.message_types_by_name['MetricValue']
|
30
32
|
_MODELVERSIONSTATUS = DESCRIPTOR.message_types_by_name['ModelVersionStatus']
|
31
33
|
_MODELVERSIONINPROGRESSSTATUS = DESCRIPTOR.message_types_by_name['ModelVersionInProgressStatus']
|
32
34
|
_MODELVERSIONCOMPLETEDSTATUS = DESCRIPTOR.message_types_by_name['ModelVersionCompletedStatus']
|
@@ -68,6 +70,20 @@ _sym_db.RegisterMessage(MlBomData)
|
|
68
70
|
_sym_db.RegisterMessage(MlBomData.ParametersEntry)
|
69
71
|
_sym_db.RegisterMessage(MlBomData.MetricsEntry)
|
70
72
|
|
73
|
+
ParameterValue = _reflection.GeneratedProtocolMessageType('ParameterValue', (_message.Message,), {
|
74
|
+
'DESCRIPTOR' : _PARAMETERVALUE,
|
75
|
+
'__module__' : 'jfml.model_version.v1.model_version_pb2'
|
76
|
+
# @@protoc_insertion_point(class_scope:jfml.model_version.v1.ParameterValue)
|
77
|
+
})
|
78
|
+
_sym_db.RegisterMessage(ParameterValue)
|
79
|
+
|
80
|
+
MetricValue = _reflection.GeneratedProtocolMessageType('MetricValue', (_message.Message,), {
|
81
|
+
'DESCRIPTOR' : _METRICVALUE,
|
82
|
+
'__module__' : 'jfml.model_version.v1.model_version_pb2'
|
83
|
+
# @@protoc_insertion_point(class_scope:jfml.model_version.v1.MetricValue)
|
84
|
+
})
|
85
|
+
_sym_db.RegisterMessage(MetricValue)
|
86
|
+
|
71
87
|
ModelVersionStatus = _reflection.GeneratedProtocolMessageType('ModelVersionStatus', (_message.Message,), {
|
72
88
|
'DESCRIPTOR' : _MODELVERSIONSTATUS,
|
73
89
|
'__module__' : 'jfml.model_version.v1.model_version_pb2'
|
@@ -109,17 +125,21 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
109
125
|
_MODELVERSIONSPEC._serialized_start=517
|
110
126
|
_MODELVERSIONSPEC._serialized_end=707
|
111
127
|
_MLBOMDATA._serialized_start=710
|
112
|
-
_MLBOMDATA._serialized_end=
|
128
|
+
_MLBOMDATA._serialized_end=1206
|
113
129
|
_MLBOMDATA_PARAMETERSENTRY._serialized_start=1034
|
114
|
-
_MLBOMDATA_PARAMETERSENTRY._serialized_end=
|
115
|
-
_MLBOMDATA_METRICSENTRY._serialized_start=
|
116
|
-
_MLBOMDATA_METRICSENTRY._serialized_end=
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
130
|
+
_MLBOMDATA_PARAMETERSENTRY._serialized_end=1122
|
131
|
+
_MLBOMDATA_METRICSENTRY._serialized_start=1124
|
132
|
+
_MLBOMDATA_METRICSENTRY._serialized_end=1206
|
133
|
+
_PARAMETERVALUE._serialized_start=1208
|
134
|
+
_PARAMETERVALUE._serialized_end=1239
|
135
|
+
_METRICVALUE._serialized_start=1241
|
136
|
+
_METRICVALUE._serialized_end=1269
|
137
|
+
_MODELVERSIONSTATUS._serialized_start=1272
|
138
|
+
_MODELVERSIONSTATUS._serialized_end=1518
|
139
|
+
_MODELVERSIONINPROGRESSSTATUS._serialized_start=1520
|
140
|
+
_MODELVERSIONINPROGRESSSTATUS._serialized_end=1550
|
141
|
+
_MODELVERSIONCOMPLETEDSTATUS._serialized_start=1552
|
142
|
+
_MODELVERSIONCOMPLETEDSTATUS._serialized_end=1581
|
143
|
+
_MODELVERSIONFAILEDSTATUS._serialized_start=1583
|
144
|
+
_MODELVERSIONFAILEDSTATUS._serialized_end=1609
|
125
145
|
# @@protoc_insertion_point(module_scope)
|
@@ -92,13 +92,15 @@ class MlBomData(google.protobuf.message.Message):
|
|
92
92
|
KEY_FIELD_NUMBER: builtins.int
|
93
93
|
VALUE_FIELD_NUMBER: builtins.int
|
94
94
|
key: builtins.str
|
95
|
-
|
95
|
+
@property
|
96
|
+
def value(self) -> global___ParameterValue: ...
|
96
97
|
def __init__(
|
97
98
|
self,
|
98
99
|
*,
|
99
100
|
key: builtins.str = ...,
|
100
|
-
value:
|
101
|
+
value: global___ParameterValue | None = ...,
|
101
102
|
) -> None: ...
|
103
|
+
def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
|
102
104
|
def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
|
103
105
|
|
104
106
|
class MetricsEntry(google.protobuf.message.Message):
|
@@ -107,13 +109,15 @@ class MlBomData(google.protobuf.message.Message):
|
|
107
109
|
KEY_FIELD_NUMBER: builtins.int
|
108
110
|
VALUE_FIELD_NUMBER: builtins.int
|
109
111
|
key: builtins.str
|
110
|
-
|
112
|
+
@property
|
113
|
+
def value(self) -> global___MetricValue: ...
|
111
114
|
def __init__(
|
112
115
|
self,
|
113
116
|
*,
|
114
117
|
key: builtins.str = ...,
|
115
|
-
value:
|
118
|
+
value: global___MetricValue | None = ...,
|
116
119
|
) -> None: ...
|
120
|
+
def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
|
117
121
|
def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
|
118
122
|
|
119
123
|
MODEL_ARTIFACT_FIELD_NUMBER: builtins.int
|
@@ -131,10 +135,10 @@ class MlBomData(google.protobuf.message.Message):
|
|
131
135
|
def dependency_artifacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[jfml.model_version.v1.artifact_pb2.Artifact]:
|
132
136
|
"""The model's dependency artifacts"""
|
133
137
|
@property
|
134
|
-
def parameters(self) -> google.protobuf.internal.containers.
|
138
|
+
def parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___ParameterValue]:
|
135
139
|
"""The model's parameters"""
|
136
140
|
@property
|
137
|
-
def metrics(self) -> google.protobuf.internal.containers.
|
141
|
+
def metrics(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___MetricValue]:
|
138
142
|
"""The model's metrics"""
|
139
143
|
def __init__(
|
140
144
|
self,
|
@@ -142,13 +146,41 @@ class MlBomData(google.protobuf.message.Message):
|
|
142
146
|
model_artifact: collections.abc.Iterable[jfml.model_version.v1.artifact_pb2.Artifact] | None = ...,
|
143
147
|
code_artifacts: collections.abc.Iterable[jfml.model_version.v1.artifact_pb2.Artifact] | None = ...,
|
144
148
|
dependency_artifacts: collections.abc.Iterable[jfml.model_version.v1.artifact_pb2.Artifact] | None = ...,
|
145
|
-
parameters: collections.abc.Mapping[builtins.str,
|
146
|
-
metrics: collections.abc.Mapping[builtins.str,
|
149
|
+
parameters: collections.abc.Mapping[builtins.str, global___ParameterValue] | None = ...,
|
150
|
+
metrics: collections.abc.Mapping[builtins.str, global___MetricValue] | None = ...,
|
147
151
|
) -> None: ...
|
148
152
|
def ClearField(self, field_name: typing_extensions.Literal["code_artifacts", b"code_artifacts", "dependency_artifacts", b"dependency_artifacts", "metrics", b"metrics", "model_artifact", b"model_artifact", "parameters", b"parameters"]) -> None: ...
|
149
153
|
|
150
154
|
global___MlBomData = MlBomData
|
151
155
|
|
156
|
+
class ParameterValue(google.protobuf.message.Message):
|
157
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
158
|
+
|
159
|
+
VALUE_FIELD_NUMBER: builtins.int
|
160
|
+
value: builtins.str
|
161
|
+
def __init__(
|
162
|
+
self,
|
163
|
+
*,
|
164
|
+
value: builtins.str = ...,
|
165
|
+
) -> None: ...
|
166
|
+
def ClearField(self, field_name: typing_extensions.Literal["value", b"value"]) -> None: ...
|
167
|
+
|
168
|
+
global___ParameterValue = ParameterValue
|
169
|
+
|
170
|
+
class MetricValue(google.protobuf.message.Message):
|
171
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
172
|
+
|
173
|
+
VALUE_FIELD_NUMBER: builtins.int
|
174
|
+
value: builtins.str
|
175
|
+
def __init__(
|
176
|
+
self,
|
177
|
+
*,
|
178
|
+
value: builtins.str = ...,
|
179
|
+
) -> None: ...
|
180
|
+
def ClearField(self, field_name: typing_extensions.Literal["value", b"value"]) -> None: ...
|
181
|
+
|
182
|
+
global___MetricValue = MetricValue
|
183
|
+
|
152
184
|
class ModelVersionStatus(google.protobuf.message.Message):
|
153
185
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
154
186
|
|
File without changes
|