frogml-core 0.0.7__py3-none-any.whl → 0.0.8__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 CHANGED
@@ -1,7 +1,7 @@
1
1
  """Top-level package for frogml."""
2
2
 
3
3
  __author__ = "jfrog"
4
- __version__ = "0.0.7"
4
+ __version__ = "0.0.8"
5
5
 
6
6
  from frogml_core.inner.di_configuration import wire_dependencies
7
7
  from frogml_core.model.model_version_tracking import ( # noqa: F401,E501
@@ -19,23 +19,23 @@ SCIKIT_LEARN_FRAMEWORK_FORMAT = "joblib"
19
19
  class ProtoUtils:
20
20
  @staticmethod
21
21
  def model_framework_from_file_format(
22
- serialization_format: str,
22
+ serialization_format: str, framework_version: str = ""
23
23
  ) -> ModelVersionFramework:
24
- framework_to_define: dict
24
+ framework_to_define: dict = {"version": framework_version}
25
25
  stripped_and_lowered_format = serialization_format.strip().lower()
26
26
 
27
27
  if stripped_and_lowered_format == CATBOOST_SERIALIZED_TYPE:
28
- framework_to_define = {"catboost": CatboostFramework()}
28
+ framework_to_define["catboost"] = CatboostFramework()
29
29
  elif stripped_and_lowered_format == HUGGINGFACE_FRAMEWORK_FORMAT:
30
- framework_to_define = {"hugging_face": HuggingFaceFramework()}
30
+ framework_to_define["hugging_face"] = HuggingFaceFramework()
31
31
  elif stripped_and_lowered_format == ONNX_FRAMEWORK_FORMAT:
32
- framework_to_define = {"onnx": OnnxFramework()}
32
+ framework_to_define["onnx"] = OnnxFramework()
33
33
  elif stripped_and_lowered_format == PYTHON_FRAMEWORK_FORMAT:
34
- framework_to_define = {"python_pickle": PythonPickleFramework()}
34
+ framework_to_define["python_pickle"] = PythonPickleFramework()
35
35
  elif stripped_and_lowered_format == PYTORCH_FRAMEWORK_FORMAT:
36
- framework_to_define = {"pytorch": PytorchFramework()}
36
+ framework_to_define["pytorch"] = PytorchFramework()
37
37
  elif stripped_and_lowered_format == SCIKIT_LEARN_FRAMEWORK_FORMAT:
38
- framework_to_define = {"scikit_learn": ScikitLearnFramework()}
38
+ framework_to_define["scikit_learn"] = ScikitLearnFramework()
39
39
  else:
40
40
  raise ValueError(f"Format {serialization_format} is not supported yet")
41
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: frogml-core
3
- Version: 0.0.7
3
+ Version: 0.0.8
4
4
  Summary: frogml Core contains the necessary objects and communication tools for using the Jfrog ml Platform
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -1,4 +1,4 @@
1
- frogml_core/__init__.py,sha256=6rvtaiNb0Im_hNN46FerpVry3me1gGAgSvfeySZ_-io,776
1
+ frogml_core/__init__.py,sha256=JhwoSbF47ceA8YU8-lN8O9gtjsC_Eymxflr02nb2ioI,776
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
@@ -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=QXEOf-pmqRLaijqCVt4IHb7_b8bmG1_ghfgMmqzHrg0,1730
423
+ frogml_core/utils/proto_utils.py,sha256=p0ry5k7iwNT6btEdSBedcfvAKRBmC5X5oKmUz27_E6k,1779
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
@@ -431,15 +431,18 @@ frogml_core/vector_store/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
431
431
  frogml_core/vector_store/utils/filter_utils.py,sha256=n80IlmS7lGelCNEpZ8o3rAHzrZpHc-3EykEd8tZoeAE,854
432
432
  frogml_core/vector_store/utils/upsert_utils.py,sha256=vqnyAJOl46WqpZMUiOa4I8Zf2CDIXQxR7wM4Z8rgooc,7517
433
433
  frogml_proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
434
+ frogml_proto/jfml/model_version/v1/build_spec_pb2.py,sha256=7FeOfvGtH2v4swm0FGl8ALvUgR4ckIcn-pSkzYd-uhQ,3779
435
+ frogml_proto/jfml/model_version/v1/build_spec_pb2.pyi,sha256=CIBEscG5MQoOGddvsfGqxD2K4U342IS-kFpzyYFiFD8,4923
436
+ frogml_proto/jfml/model_version/v1/build_spec_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
434
437
  frogml_proto/jfml/model_version/v1/model_repository_spec_pb2.py,sha256=llPIiXM7XrcYZMOb68gJNnzwMiE9UQDSalcAW8ztNlU,1656
435
438
  frogml_proto/jfml/model_version/v1/model_repository_spec_pb2.pyi,sha256=UXjFPw49S9jVVx0WXOdXv8aQMj74RGpBii6Kw1vrlls,1470
436
439
  frogml_proto/jfml/model_version/v1/model_repository_spec_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
437
- frogml_proto/jfml/model_version/v1/model_version_framework_pb2.py,sha256=iRVMQsfWbuKLTGW4tnOqvOaGWsd1M5Jbs0jQ9lFhd30,5336
438
- frogml_proto/jfml/model_version/v1/model_version_framework_pb2.pyi,sha256=st3v0aHdDXF8onrr4HuiY02GGXTNchk5UNmE9or6y9g,3648
440
+ frogml_proto/jfml/model_version/v1/model_version_framework_pb2.py,sha256=Vk4NO9dlhXkNVgxdLGDfh20s-mBfcoOOZEEr6hUtLag,5370
441
+ frogml_proto/jfml/model_version/v1/model_version_framework_pb2.pyi,sha256=JgOE0Im69ir0PSgpbg6Zz4scRK_u7WAxWTtWcdzfyAw,3773
439
442
  frogml_proto/jfml/model_version/v1/model_version_framework_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
440
- frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2.py,sha256=LNsBpYeMk8TBr1Kgmzv97cKE0UYR35PB6JpgOw4tFKY,10923
441
- frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2.pyi,sha256=Qw0iqfYADeSmAzZTTlwO04inSKtwwF3gDYRG-0kGLg4,9477
442
- frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2_grpc.py,sha256=VKFmhXUTpz1tnnQIRaozTEEaChquv7hG0LwngkQAAs4,13302
443
+ frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2.py,sha256=-QakaXaKJLZX68AuiYqyBGNFEy2i6EralNxddhFQy7Y,12964
444
+ frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2.pyi,sha256=LE4_HRvT_zDjubYt8cRgGrYqtHcAEh1TVSmA8VzsUFc,11863
445
+ frogml_proto/jfml/model_version/v1/model_version_manager_service_pb2_grpc.py,sha256=qx5iX5FK7k8ICpD-T13T4wGDX7dSyVyOPe_O8U6TXSg,15434
443
446
  frogml_proto/jfml/model_version/v1/model_version_pb2.py,sha256=87CsbasbiwvPWGI1b6AfGrje_wzDCZFD8Hi7meguDjU,5797
444
447
  frogml_proto/jfml/model_version/v1/model_version_pb2.pyi,sha256=NqHepmIm1HiKBYn77JDFOoBAEVwCbyFsj0Wiurhsxkc,5664
445
448
  frogml_proto/jfml/model_version/v1/model_version_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -1013,6 +1016,6 @@ frogml_services_mock/mocks/workspace_manager_service_mock.py,sha256=WbOiWgOyr-xT
1013
1016
  frogml_services_mock/services_mock.py,sha256=_34z6rFCHFwcSni-9eyJlrH264xsL_QDNmG-EBv0zMc,20281
1014
1017
  frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1015
1018
  frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1016
- frogml_core-0.0.7.dist-info/METADATA,sha256=LnS5Di-N2yhsJFoy1UYvPOQtoGipRwhLhI_95UwtnB8,2105
1017
- frogml_core-0.0.7.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1018
- frogml_core-0.0.7.dist-info/RECORD,,
1019
+ frogml_core-0.0.8.dist-info/METADATA,sha256=il6AZcJlu5LVDij3EQQSeO-Yriah3rXnwXByh6PJyIc,2105
1020
+ frogml_core-0.0.8.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1021
+ frogml_core-0.0.8.dist-info/RECORD,,
@@ -0,0 +1,67 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: frogml_proto.jfml.model_version/v1/build_spec.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import descriptor_pool as _descriptor_pool
7
+ from google.protobuf import message as _message
8
+ from google.protobuf import reflection as _reflection
9
+ from google.protobuf import symbol_database as _symbol_database
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from frogml_proto.qwak.user_application.common.v0 import resources_pb2 as qwak_dot_user__application_dot_common_dot_v0_dot_resources__pb2
16
+ from frogml_proto.qwak.fitness_service import fitness_pb2 as qwak_dot_fitness__service_dot_fitness__pb2
17
+
18
+
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&jfml/model_version/v1/build_spec.proto\x12\x15jfml.model_version.v1\x1a/qwak/user_application/common/v0/resources.proto\x1a\"qwak/fitness_service/fitness.proto\"\xbc\x02\n\tBuildSpec\x12@\n\x10\x62uild_properties\x18\x01 \x01(\x0b\x32&.jfml.model_version.v1.BuildProperties\x12\x32\n\tbuild_env\x18\x02 \x01(\x0b\x32\x1f.jfml.model_version.v1.BuildEnv\x12Q\n\rpod_resources\x18\x03 \x01(\x0b\x32:.qwak.user_application.common.v0.ClientPodComputeResources\x12\x0f\n\x07verbose\x18\x04 \x01(\r\x12\x16\n\x0e\x65nvironment_id\x18\x05 \x01(\t\x12=\n\x0fpurchase_option\x18\x06 \x01(\x0e\x32$.qwak.fitness.service.PurchaseOption\"K\n\x0f\x42uildProperties\x12\x12\n\nbuild_name\x18\x01 \x01(\t\x12\x0c\n\x04tags\x18\x02 \x03(\t\x12\x16\n\x0egpu_compatible\x18\x03 \x01(\x08\"@\n\x08\x42uildEnv\x12\x34\n\ndocker_env\x18\x01 \x01(\x0b\x32 .jfml.model_version.v1.DockerEnv\"1\n\tDockerEnv\x12\x12\n\nbase_image\x18\x01 \x01(\t\x12\x10\n\x08no_cache\x18\x02 \x01(\x08\x42%\n!com.jfrog.ml.model_version.api.v1P\x01\x62\x06proto3')
20
+
21
+
22
+
23
+ _BUILDSPEC = DESCRIPTOR.message_types_by_name['BuildSpec']
24
+ _BUILDPROPERTIES = DESCRIPTOR.message_types_by_name['BuildProperties']
25
+ _BUILDENV = DESCRIPTOR.message_types_by_name['BuildEnv']
26
+ _DOCKERENV = DESCRIPTOR.message_types_by_name['DockerEnv']
27
+ BuildSpec = _reflection.GeneratedProtocolMessageType('BuildSpec', (_message.Message,), {
28
+ 'DESCRIPTOR' : _BUILDSPEC,
29
+ '__module__' : 'jfml.model_version.v1.build_spec_pb2'
30
+ # @@protoc_insertion_point(class_scope:jfml.model_version.v1.BuildSpec)
31
+ })
32
+ _sym_db.RegisterMessage(BuildSpec)
33
+
34
+ BuildProperties = _reflection.GeneratedProtocolMessageType('BuildProperties', (_message.Message,), {
35
+ 'DESCRIPTOR' : _BUILDPROPERTIES,
36
+ '__module__' : 'jfml.model_version.v1.build_spec_pb2'
37
+ # @@protoc_insertion_point(class_scope:jfml.model_version.v1.BuildProperties)
38
+ })
39
+ _sym_db.RegisterMessage(BuildProperties)
40
+
41
+ BuildEnv = _reflection.GeneratedProtocolMessageType('BuildEnv', (_message.Message,), {
42
+ 'DESCRIPTOR' : _BUILDENV,
43
+ '__module__' : 'jfml.model_version.v1.build_spec_pb2'
44
+ # @@protoc_insertion_point(class_scope:jfml.model_version.v1.BuildEnv)
45
+ })
46
+ _sym_db.RegisterMessage(BuildEnv)
47
+
48
+ DockerEnv = _reflection.GeneratedProtocolMessageType('DockerEnv', (_message.Message,), {
49
+ 'DESCRIPTOR' : _DOCKERENV,
50
+ '__module__' : 'jfml.model_version.v1.build_spec_pb2'
51
+ # @@protoc_insertion_point(class_scope:jfml.model_version.v1.DockerEnv)
52
+ })
53
+ _sym_db.RegisterMessage(DockerEnv)
54
+
55
+ if _descriptor._USE_C_DESCRIPTORS == False:
56
+
57
+ DESCRIPTOR._options = None
58
+ DESCRIPTOR._serialized_options = b'\n!com.jfrog.ml.model_version.api.v1P\001'
59
+ _BUILDSPEC._serialized_start=151
60
+ _BUILDSPEC._serialized_end=467
61
+ _BUILDPROPERTIES._serialized_start=469
62
+ _BUILDPROPERTIES._serialized_end=544
63
+ _BUILDENV._serialized_start=546
64
+ _BUILDENV._serialized_end=610
65
+ _DOCKERENV._serialized_start=612
66
+ _DOCKERENV._serialized_end=661
67
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,120 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import collections.abc
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.internal.containers
9
+ import google.protobuf.message
10
+ import frogml_proto.qwak.fitness_service.fitness_pb2
11
+ import frogml_proto.qwak.user_application.common.v0.resources_pb2
12
+ import sys
13
+
14
+ if sys.version_info >= (3, 8):
15
+ import typing as typing_extensions
16
+ else:
17
+ import typing_extensions
18
+
19
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
20
+
21
+ class BuildSpec(google.protobuf.message.Message):
22
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
23
+
24
+ BUILD_PROPERTIES_FIELD_NUMBER: builtins.int
25
+ BUILD_ENV_FIELD_NUMBER: builtins.int
26
+ POD_RESOURCES_FIELD_NUMBER: builtins.int
27
+ VERBOSE_FIELD_NUMBER: builtins.int
28
+ ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
29
+ PURCHASE_OPTION_FIELD_NUMBER: builtins.int
30
+ @property
31
+ def build_properties(self) -> global___BuildProperties:
32
+ """The build properties"""
33
+ @property
34
+ def build_env(self) -> global___BuildEnv:
35
+ """The build environment"""
36
+ @property
37
+ def pod_resources(self) -> frogml_proto.qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources: ...
38
+ verbose: builtins.int
39
+ """The build verbosity level (0: warning, 1: info, 2: debug)"""
40
+ environment_id: builtins.str
41
+ """The environment to build on"""
42
+ purchase_option: frogml_proto.qwak.fitness_service.fitness_pb2.PurchaseOption.ValueType
43
+ """Purchase option for the build"""
44
+ def __init__(
45
+ self,
46
+ *,
47
+ build_properties: global___BuildProperties | None = ...,
48
+ build_env: global___BuildEnv | None = ...,
49
+ pod_resources: frogml_proto.qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
50
+ verbose: builtins.int = ...,
51
+ environment_id: builtins.str = ...,
52
+ purchase_option: frogml_proto.qwak.fitness_service.fitness_pb2.PurchaseOption.ValueType = ...,
53
+ ) -> None: ...
54
+ def HasField(self, field_name: typing_extensions.Literal["build_env", b"build_env", "build_properties", b"build_properties", "pod_resources", b"pod_resources"]) -> builtins.bool: ...
55
+ def ClearField(self, field_name: typing_extensions.Literal["build_env", b"build_env", "build_properties", b"build_properties", "environment_id", b"environment_id", "pod_resources", b"pod_resources", "purchase_option", b"purchase_option", "verbose", b"verbose"]) -> None: ...
56
+
57
+ global___BuildSpec = BuildSpec
58
+
59
+ class BuildProperties(google.protobuf.message.Message):
60
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
61
+
62
+ BUILD_NAME_FIELD_NUMBER: builtins.int
63
+ TAGS_FIELD_NUMBER: builtins.int
64
+ GPU_COMPATIBLE_FIELD_NUMBER: builtins.int
65
+ build_name: builtins.str
66
+ """Optional - The name of the build we want"""
67
+ @property
68
+ def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
69
+ """Optional - The Build's tags"""
70
+ gpu_compatible: builtins.bool
71
+ """Optional - Should the build be GPU compatible"""
72
+ def __init__(
73
+ self,
74
+ *,
75
+ build_name: builtins.str = ...,
76
+ tags: collections.abc.Iterable[builtins.str] | None = ...,
77
+ gpu_compatible: builtins.bool = ...,
78
+ ) -> None: ...
79
+ def ClearField(self, field_name: typing_extensions.Literal["build_name", b"build_name", "gpu_compatible", b"gpu_compatible", "tags", b"tags"]) -> None: ...
80
+
81
+ global___BuildProperties = BuildProperties
82
+
83
+ class BuildEnv(google.protobuf.message.Message):
84
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
85
+
86
+ DOCKER_ENV_FIELD_NUMBER: builtins.int
87
+ @property
88
+ def docker_env(self) -> global___DockerEnv:
89
+ """Optional - The docker specs to use for the build"""
90
+ def __init__(
91
+ self,
92
+ *,
93
+ docker_env: global___DockerEnv | None = ...,
94
+ ) -> None: ...
95
+ def HasField(self, field_name: typing_extensions.Literal["docker_env", b"docker_env"]) -> builtins.bool: ...
96
+ def ClearField(self, field_name: typing_extensions.Literal["docker_env", b"docker_env"]) -> None: ...
97
+
98
+ global___BuildEnv = BuildEnv
99
+
100
+ class DockerEnv(google.protobuf.message.Message):
101
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
102
+
103
+ BASE_IMAGE_FIELD_NUMBER: builtins.int
104
+ NO_CACHE_FIELD_NUMBER: builtins.int
105
+ base_image: builtins.str
106
+ """Optional - Base image to use for serving"""
107
+ no_cache: builtins.bool
108
+ """Optional -
109
+ Don't use remote cache to build the images, defaults to use cache,
110
+ if the model dependencies changed significantly it could be faster and better to run with no cache
111
+ """
112
+ def __init__(
113
+ self,
114
+ *,
115
+ base_image: builtins.str = ...,
116
+ no_cache: builtins.bool = ...,
117
+ ) -> None: ...
118
+ def ClearField(self, field_name: typing_extensions.Literal["base_image", b"base_image", "no_cache", b"no_cache"]) -> None: ...
119
+
120
+ global___DockerEnv = DockerEnv
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3jfml/model_version/v1/model_version_framework.proto\x12\x15jfml.model_version.v1\"\xa0\x03\n\x15ModelVersionFramework\x12<\n\x08\x63\x61tboost\x18\x01 \x01(\x0b\x32(.jfml.model_version.v1.CatboostFrameworkH\x00\x12\x43\n\x0chugging_face\x18\x02 \x01(\x0b\x32+.jfml.model_version.v1.HuggingFaceFrameworkH\x00\x12\x34\n\x04onnx\x18\x03 \x01(\x0b\x32$.jfml.model_version.v1.OnnxFrameworkH\x00\x12\x45\n\rpython_pickle\x18\x04 \x01(\x0b\x32,.jfml.model_version.v1.PythonPickleFrameworkH\x00\x12:\n\x07pytorch\x18\x05 \x01(\x0b\x32\'.jfml.model_version.v1.PytorchFrameworkH\x00\x12\x43\n\x0cscikit_learn\x18\x06 \x01(\x0b\x32+.jfml.model_version.v1.ScikitLearnFrameworkH\x00\x42\x06\n\x04name\"\x13\n\x11\x43\x61tboostFramework\"\x16\n\x14HuggingFaceFramework\"\x0f\n\rOnnxFramework\"\x17\n\x15PythonPickleFramework\"\x12\n\x10PytorchFramework\"\x16\n\x14ScikitLearnFrameworkB%\n!com.jfrog.ml.model_version.api.v1P\x01\x62\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3jfml/model_version/v1/model_version_framework.proto\x12\x15jfml.model_version.v1\"\xb1\x03\n\x15ModelVersionFramework\x12<\n\x08\x63\x61tboost\x18\x01 \x01(\x0b\x32(.jfml.model_version.v1.CatboostFrameworkH\x00\x12\x43\n\x0chugging_face\x18\x02 \x01(\x0b\x32+.jfml.model_version.v1.HuggingFaceFrameworkH\x00\x12\x34\n\x04onnx\x18\x03 \x01(\x0b\x32$.jfml.model_version.v1.OnnxFrameworkH\x00\x12\x45\n\rpython_pickle\x18\x04 \x01(\x0b\x32,.jfml.model_version.v1.PythonPickleFrameworkH\x00\x12:\n\x07pytorch\x18\x05 \x01(\x0b\x32\'.jfml.model_version.v1.PytorchFrameworkH\x00\x12\x43\n\x0cscikit_learn\x18\x06 \x01(\x0b\x32+.jfml.model_version.v1.ScikitLearnFrameworkH\x00\x12\x0f\n\x07version\x18\x07 \x01(\tB\x06\n\x04name\"\x13\n\x11\x43\x61tboostFramework\"\x16\n\x14HuggingFaceFramework\"\x0f\n\rOnnxFramework\"\x17\n\x15PythonPickleFramework\"\x12\n\x10PytorchFramework\"\x16\n\x14ScikitLearnFrameworkB%\n!com.jfrog.ml.model_version.api.v1P\x01\x62\x06proto3')
18
18
 
19
19
 
20
20
 
@@ -79,17 +79,17 @@ if _descriptor._USE_C_DESCRIPTORS == False:
79
79
  DESCRIPTOR._options = None
80
80
  DESCRIPTOR._serialized_options = b'\n!com.jfrog.ml.model_version.api.v1P\001'
81
81
  _MODELVERSIONFRAMEWORK._serialized_start=79
82
- _MODELVERSIONFRAMEWORK._serialized_end=495
83
- _CATBOOSTFRAMEWORK._serialized_start=497
84
- _CATBOOSTFRAMEWORK._serialized_end=516
85
- _HUGGINGFACEFRAMEWORK._serialized_start=518
86
- _HUGGINGFACEFRAMEWORK._serialized_end=540
87
- _ONNXFRAMEWORK._serialized_start=542
88
- _ONNXFRAMEWORK._serialized_end=557
89
- _PYTHONPICKLEFRAMEWORK._serialized_start=559
90
- _PYTHONPICKLEFRAMEWORK._serialized_end=582
91
- _PYTORCHFRAMEWORK._serialized_start=584
92
- _PYTORCHFRAMEWORK._serialized_end=602
93
- _SCIKITLEARNFRAMEWORK._serialized_start=604
94
- _SCIKITLEARNFRAMEWORK._serialized_end=626
82
+ _MODELVERSIONFRAMEWORK._serialized_end=512
83
+ _CATBOOSTFRAMEWORK._serialized_start=514
84
+ _CATBOOSTFRAMEWORK._serialized_end=533
85
+ _HUGGINGFACEFRAMEWORK._serialized_start=535
86
+ _HUGGINGFACEFRAMEWORK._serialized_end=557
87
+ _ONNXFRAMEWORK._serialized_start=559
88
+ _ONNXFRAMEWORK._serialized_end=574
89
+ _PYTHONPICKLEFRAMEWORK._serialized_start=576
90
+ _PYTHONPICKLEFRAMEWORK._serialized_end=599
91
+ _PYTORCHFRAMEWORK._serialized_start=601
92
+ _PYTORCHFRAMEWORK._serialized_end=619
93
+ _SCIKITLEARNFRAMEWORK._serialized_start=621
94
+ _SCIKITLEARNFRAMEWORK._serialized_end=643
95
95
  # @@protoc_insertion_point(module_scope)
@@ -23,6 +23,7 @@ class ModelVersionFramework(google.protobuf.message.Message):
23
23
  PYTHON_PICKLE_FIELD_NUMBER: builtins.int
24
24
  PYTORCH_FIELD_NUMBER: builtins.int
25
25
  SCIKIT_LEARN_FIELD_NUMBER: builtins.int
26
+ VERSION_FIELD_NUMBER: builtins.int
26
27
  @property
27
28
  def catboost(self) -> global___CatboostFramework: ...
28
29
  @property
@@ -35,6 +36,7 @@ class ModelVersionFramework(google.protobuf.message.Message):
35
36
  def pytorch(self) -> global___PytorchFramework: ...
36
37
  @property
37
38
  def scikit_learn(self) -> global___ScikitLearnFramework: ...
39
+ version: builtins.str
38
40
  def __init__(
39
41
  self,
40
42
  *,
@@ -44,9 +46,10 @@ class ModelVersionFramework(google.protobuf.message.Message):
44
46
  python_pickle: global___PythonPickleFramework | None = ...,
45
47
  pytorch: global___PytorchFramework | None = ...,
46
48
  scikit_learn: global___ScikitLearnFramework | None = ...,
49
+ version: builtins.str = ...,
47
50
  ) -> None: ...
48
51
  def HasField(self, field_name: typing_extensions.Literal["catboost", b"catboost", "hugging_face", b"hugging_face", "name", b"name", "onnx", b"onnx", "python_pickle", b"python_pickle", "pytorch", b"pytorch", "scikit_learn", b"scikit_learn"]) -> builtins.bool: ...
49
- def ClearField(self, field_name: typing_extensions.Literal["catboost", b"catboost", "hugging_face", b"hugging_face", "name", b"name", "onnx", b"onnx", "python_pickle", b"python_pickle", "pytorch", b"pytorch", "scikit_learn", b"scikit_learn"]) -> None: ...
52
+ def ClearField(self, field_name: typing_extensions.Literal["catboost", b"catboost", "hugging_face", b"hugging_face", "name", b"name", "onnx", b"onnx", "python_pickle", b"python_pickle", "pytorch", b"pytorch", "scikit_learn", b"scikit_learn", "version", b"version"]) -> None: ...
50
53
  def WhichOneof(self, oneof_group: typing_extensions.Literal["name", b"name"]) -> typing_extensions.Literal["catboost", "hugging_face", "onnx", "python_pickle", "pytorch", "scikit_learn"] | None: ...
51
54
 
52
55
  global___ModelVersionFramework = ModelVersionFramework
@@ -14,9 +14,10 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
  from frogml_proto.jfml.model_version.v1 import model_version_pb2 as jfml_dot_model__version_dot_v1_dot_model__version__pb2
16
16
  from frogml_proto.jfml.model_version.v1 import model_repository_spec_pb2 as jfml_dot_model__version_dot_v1_dot_model__repository__spec__pb2
17
+ from frogml_proto.jfml.model_version.v1 import build_spec_pb2 as jfml_dot_model__version_dot_v1_dot_build__spec__pb2
17
18
 
18
19
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9jfml/model_version/v1/model_version_manager_service.proto\x12\x15jfml.model_version.v1\x1a)jfml/model_version/v1/model_version.proto\x1a\x31jfml/model_version/v1/model_repository_spec.proto\"l\n\x19\x43reateModelVersionRequest\x12\x0f\n\x07\x64ry_run\x18\x01 \x01(\x08\x12>\n\rmodel_version\x18\x02 \x01(\x0b\x32\'.jfml.model_version.v1.ModelVersionSpec\"X\n\x1a\x43reateModelVersionResponse\x12:\n\rmodel_version\x18\x01 \x01(\x0b\x32#.jfml.model_version.v1.ModelVersion\"6\n\x1aGetModelVersionByIdRequest\x12\x18\n\x10model_version_id\x18\x01 \x01(\t\"Y\n\x1bGetModelVersionByIdResponse\x12:\n\rmodel_version\x18\x01 \x01(\x0b\x32#.jfml.model_version.v1.ModelVersion\"L\n\x1cGetModelVersionByNameRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x1a\n\x12model_version_name\x18\x02 \x01(\t\"[\n\x1dGetModelVersionByNameResponse\x12:\n\rmodel_version\x18\x01 \x01(\x0b\x32#.jfml.model_version.v1.ModelVersion\")\n\x15InitPaginationRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\"E\n\x16InitPaginationResponse\x12\x14\n\x0crecord_count\x18\x01 \x01(\x03\x12\x15\n\rmax_record_id\x18\x02 \x01(\x03\"\x9e\x01\n\x18ListModelVersionsRequest\x12\x43\n\x0frepository_spec\x18\x01 \x01(\x0b\x32*.jfml.model_version.v1.ModelRepositorySpec\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x13\n\x0bpage_number\x18\x03 \x01(\x05\x12\x15\n\rmax_record_id\x18\x04 \x01(\x03\"X\n\x19ListModelVersionsResponse\x12;\n\x0emodel_versions\x18\x01 \x03(\x0b\x32#.jfml.model_version.v1.ModelVersion\"9\n\x1d\x44\x65leteModelVersionByIdRequest\x12\x18\n\x10model_version_id\x18\x01 \x01(\t\" \n\x1e\x44\x65leteModelVersionByIdResponse2\x89\x06\n\x1aModelVersionManagerService\x12y\n\x12\x43reateModelVersion\x12\x30.jfml.model_version.v1.CreateModelVersionRequest\x1a\x31.jfml.model_version.v1.CreateModelVersionResponse\x12|\n\x13GetModelVersionById\x12\x31.jfml.model_version.v1.GetModelVersionByIdRequest\x1a\x32.jfml.model_version.v1.GetModelVersionByIdResponse\x12\x82\x01\n\x15GetModelVersionByName\x12\x33.jfml.model_version.v1.GetModelVersionByNameRequest\x1a\x34.jfml.model_version.v1.GetModelVersionByNameResponse\x12m\n\x0eInitPagination\x12,.jfml.model_version.v1.InitPaginationRequest\x1a-.jfml.model_version.v1.InitPaginationResponse\x12v\n\x11ListModelVersions\x12/.jfml.model_version.v1.ListModelVersionsRequest\x1a\x30.jfml.model_version.v1.ListModelVersionsResponse\x12\x85\x01\n\x16\x44\x65leteModelVersionById\x12\x34.jfml.model_version.v1.DeleteModelVersionByIdRequest\x1a\x35.jfml.model_version.v1.DeleteModelVersionByIdResponseB%\n!com.jfrog.ml.model_version.api.v1P\x01\x62\x06proto3')
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9jfml/model_version/v1/model_version_manager_service.proto\x12\x15jfml.model_version.v1\x1a)jfml/model_version/v1/model_version.proto\x1a\x31jfml/model_version/v1/model_repository_spec.proto\x1a&jfml/model_version/v1/build_spec.proto\"l\n\x19\x43reateModelVersionRequest\x12\x0f\n\x07\x64ry_run\x18\x01 \x01(\x08\x12>\n\rmodel_version\x18\x02 \x01(\x0b\x32\'.jfml.model_version.v1.ModelVersionSpec\"X\n\x1a\x43reateModelVersionResponse\x12:\n\rmodel_version\x18\x01 \x01(\x0b\x32#.jfml.model_version.v1.ModelVersion\"6\n\x1aGetModelVersionByIdRequest\x12\x18\n\x10model_version_id\x18\x01 \x01(\t\"Y\n\x1bGetModelVersionByIdResponse\x12:\n\rmodel_version\x18\x01 \x01(\x0b\x32#.jfml.model_version.v1.ModelVersion\"L\n\x1cGetModelVersionByNameRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x1a\n\x12model_version_name\x18\x02 \x01(\t\"[\n\x1dGetModelVersionByNameResponse\x12:\n\rmodel_version\x18\x01 \x01(\x0b\x32#.jfml.model_version.v1.ModelVersion\")\n\x15InitPaginationRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\"E\n\x16InitPaginationResponse\x12\x14\n\x0crecord_count\x18\x01 \x01(\x03\x12\x15\n\rmax_record_id\x18\x02 \x01(\x03\"\x9e\x01\n\x18ListModelVersionsRequest\x12\x43\n\x0frepository_spec\x18\x01 \x01(\x0b\x32*.jfml.model_version.v1.ModelRepositorySpec\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x13\n\x0bpage_number\x18\x03 \x01(\x05\x12\x15\n\rmax_record_id\x18\x04 \x01(\x03\"X\n\x19ListModelVersionsResponse\x12;\n\x0emodel_versions\x18\x01 \x03(\x0b\x32#.jfml.model_version.v1.ModelVersion\"9\n\x1d\x44\x65leteModelVersionByIdRequest\x12\x18\n\x10model_version_id\x18\x01 \x01(\t\" \n\x1e\x44\x65leteModelVersionByIdResponse\"\xd8\x01\n!PromoteModelVersionToBuildRequest\x12\x45\n\x12model_version_spec\x18\x01 \x01(\x0b\x32\'.jfml.model_version.v1.ModelVersionSpecH\x00\x12\x1a\n\x10model_version_id\x18\x02 \x01(\tH\x00\x12\x34\n\nbuild_spec\x18\x03 \x01(\x0b\x32 .jfml.model_version.v1.BuildSpecB\x1a\n\x18model_version_identifier\"6\n\"PromoteModelVersionToBuildResponse\x12\x10\n\x08\x62uild_id\x18\x01 \x01(\t2\x9d\x07\n\x1aModelVersionManagerService\x12y\n\x12\x43reateModelVersion\x12\x30.jfml.model_version.v1.CreateModelVersionRequest\x1a\x31.jfml.model_version.v1.CreateModelVersionResponse\x12|\n\x13GetModelVersionById\x12\x31.jfml.model_version.v1.GetModelVersionByIdRequest\x1a\x32.jfml.model_version.v1.GetModelVersionByIdResponse\x12\x82\x01\n\x15GetModelVersionByName\x12\x33.jfml.model_version.v1.GetModelVersionByNameRequest\x1a\x34.jfml.model_version.v1.GetModelVersionByNameResponse\x12m\n\x0eInitPagination\x12,.jfml.model_version.v1.InitPaginationRequest\x1a-.jfml.model_version.v1.InitPaginationResponse\x12v\n\x11ListModelVersions\x12/.jfml.model_version.v1.ListModelVersionsRequest\x1a\x30.jfml.model_version.v1.ListModelVersionsResponse\x12\x85\x01\n\x16\x44\x65leteModelVersionById\x12\x34.jfml.model_version.v1.DeleteModelVersionByIdRequest\x1a\x35.jfml.model_version.v1.DeleteModelVersionByIdResponse\x12\x91\x01\n\x1aPromoteModelVersionToBuild\x12\x38.jfml.model_version.v1.PromoteModelVersionToBuildRequest\x1a\x39.jfml.model_version.v1.PromoteModelVersionToBuildResponseB%\n!com.jfrog.ml.model_version.api.v1P\x01\x62\x06proto3')
20
21
 
21
22
 
22
23
 
@@ -32,6 +33,8 @@ _LISTMODELVERSIONSREQUEST = DESCRIPTOR.message_types_by_name['ListModelVersionsR
32
33
  _LISTMODELVERSIONSRESPONSE = DESCRIPTOR.message_types_by_name['ListModelVersionsResponse']
33
34
  _DELETEMODELVERSIONBYIDREQUEST = DESCRIPTOR.message_types_by_name['DeleteModelVersionByIdRequest']
34
35
  _DELETEMODELVERSIONBYIDRESPONSE = DESCRIPTOR.message_types_by_name['DeleteModelVersionByIdResponse']
36
+ _PROMOTEMODELVERSIONTOBUILDREQUEST = DESCRIPTOR.message_types_by_name['PromoteModelVersionToBuildRequest']
37
+ _PROMOTEMODELVERSIONTOBUILDRESPONSE = DESCRIPTOR.message_types_by_name['PromoteModelVersionToBuildResponse']
35
38
  CreateModelVersionRequest = _reflection.GeneratedProtocolMessageType('CreateModelVersionRequest', (_message.Message,), {
36
39
  'DESCRIPTOR' : _CREATEMODELVERSIONREQUEST,
37
40
  '__module__' : 'jfml.model_version.v1.model_version_manager_service_pb2'
@@ -116,35 +119,53 @@ DeleteModelVersionByIdResponse = _reflection.GeneratedProtocolMessageType('Delet
116
119
  })
117
120
  _sym_db.RegisterMessage(DeleteModelVersionByIdResponse)
118
121
 
122
+ PromoteModelVersionToBuildRequest = _reflection.GeneratedProtocolMessageType('PromoteModelVersionToBuildRequest', (_message.Message,), {
123
+ 'DESCRIPTOR' : _PROMOTEMODELVERSIONTOBUILDREQUEST,
124
+ '__module__' : 'jfml.model_version.v1.model_version_manager_service_pb2'
125
+ # @@protoc_insertion_point(class_scope:jfml.model_version.v1.PromoteModelVersionToBuildRequest)
126
+ })
127
+ _sym_db.RegisterMessage(PromoteModelVersionToBuildRequest)
128
+
129
+ PromoteModelVersionToBuildResponse = _reflection.GeneratedProtocolMessageType('PromoteModelVersionToBuildResponse', (_message.Message,), {
130
+ 'DESCRIPTOR' : _PROMOTEMODELVERSIONTOBUILDRESPONSE,
131
+ '__module__' : 'jfml.model_version.v1.model_version_manager_service_pb2'
132
+ # @@protoc_insertion_point(class_scope:jfml.model_version.v1.PromoteModelVersionToBuildResponse)
133
+ })
134
+ _sym_db.RegisterMessage(PromoteModelVersionToBuildResponse)
135
+
119
136
  _MODELVERSIONMANAGERSERVICE = DESCRIPTOR.services_by_name['ModelVersionManagerService']
120
137
  if _descriptor._USE_C_DESCRIPTORS == False:
121
138
 
122
139
  DESCRIPTOR._options = None
123
140
  DESCRIPTOR._serialized_options = b'\n!com.jfrog.ml.model_version.api.v1P\001'
124
- _CREATEMODELVERSIONREQUEST._serialized_start=178
125
- _CREATEMODELVERSIONREQUEST._serialized_end=286
126
- _CREATEMODELVERSIONRESPONSE._serialized_start=288
127
- _CREATEMODELVERSIONRESPONSE._serialized_end=376
128
- _GETMODELVERSIONBYIDREQUEST._serialized_start=378
129
- _GETMODELVERSIONBYIDREQUEST._serialized_end=432
130
- _GETMODELVERSIONBYIDRESPONSE._serialized_start=434
131
- _GETMODELVERSIONBYIDRESPONSE._serialized_end=523
132
- _GETMODELVERSIONBYNAMEREQUEST._serialized_start=525
133
- _GETMODELVERSIONBYNAMEREQUEST._serialized_end=601
134
- _GETMODELVERSIONBYNAMERESPONSE._serialized_start=603
135
- _GETMODELVERSIONBYNAMERESPONSE._serialized_end=694
136
- _INITPAGINATIONREQUEST._serialized_start=696
137
- _INITPAGINATIONREQUEST._serialized_end=737
138
- _INITPAGINATIONRESPONSE._serialized_start=739
139
- _INITPAGINATIONRESPONSE._serialized_end=808
140
- _LISTMODELVERSIONSREQUEST._serialized_start=811
141
- _LISTMODELVERSIONSREQUEST._serialized_end=969
142
- _LISTMODELVERSIONSRESPONSE._serialized_start=971
143
- _LISTMODELVERSIONSRESPONSE._serialized_end=1059
144
- _DELETEMODELVERSIONBYIDREQUEST._serialized_start=1061
145
- _DELETEMODELVERSIONBYIDREQUEST._serialized_end=1118
146
- _DELETEMODELVERSIONBYIDRESPONSE._serialized_start=1120
147
- _DELETEMODELVERSIONBYIDRESPONSE._serialized_end=1152
148
- _MODELVERSIONMANAGERSERVICE._serialized_start=1155
149
- _MODELVERSIONMANAGERSERVICE._serialized_end=1932
141
+ _CREATEMODELVERSIONREQUEST._serialized_start=218
142
+ _CREATEMODELVERSIONREQUEST._serialized_end=326
143
+ _CREATEMODELVERSIONRESPONSE._serialized_start=328
144
+ _CREATEMODELVERSIONRESPONSE._serialized_end=416
145
+ _GETMODELVERSIONBYIDREQUEST._serialized_start=418
146
+ _GETMODELVERSIONBYIDREQUEST._serialized_end=472
147
+ _GETMODELVERSIONBYIDRESPONSE._serialized_start=474
148
+ _GETMODELVERSIONBYIDRESPONSE._serialized_end=563
149
+ _GETMODELVERSIONBYNAMEREQUEST._serialized_start=565
150
+ _GETMODELVERSIONBYNAMEREQUEST._serialized_end=641
151
+ _GETMODELVERSIONBYNAMERESPONSE._serialized_start=643
152
+ _GETMODELVERSIONBYNAMERESPONSE._serialized_end=734
153
+ _INITPAGINATIONREQUEST._serialized_start=736
154
+ _INITPAGINATIONREQUEST._serialized_end=777
155
+ _INITPAGINATIONRESPONSE._serialized_start=779
156
+ _INITPAGINATIONRESPONSE._serialized_end=848
157
+ _LISTMODELVERSIONSREQUEST._serialized_start=851
158
+ _LISTMODELVERSIONSREQUEST._serialized_end=1009
159
+ _LISTMODELVERSIONSRESPONSE._serialized_start=1011
160
+ _LISTMODELVERSIONSRESPONSE._serialized_end=1099
161
+ _DELETEMODELVERSIONBYIDREQUEST._serialized_start=1101
162
+ _DELETEMODELVERSIONBYIDREQUEST._serialized_end=1158
163
+ _DELETEMODELVERSIONBYIDRESPONSE._serialized_start=1160
164
+ _DELETEMODELVERSIONBYIDRESPONSE._serialized_end=1192
165
+ _PROMOTEMODELVERSIONTOBUILDREQUEST._serialized_start=1195
166
+ _PROMOTEMODELVERSIONTOBUILDREQUEST._serialized_end=1411
167
+ _PROMOTEMODELVERSIONTOBUILDRESPONSE._serialized_start=1413
168
+ _PROMOTEMODELVERSIONTOBUILDRESPONSE._serialized_end=1467
169
+ _MODELVERSIONMANAGERSERVICE._serialized_start=1470
170
+ _MODELVERSIONMANAGERSERVICE._serialized_end=2395
150
171
  # @@protoc_insertion_point(module_scope)
@@ -7,6 +7,7 @@ import collections.abc
7
7
  import google.protobuf.descriptor
8
8
  import google.protobuf.internal.containers
9
9
  import google.protobuf.message
10
+ import frogml_proto.jfml.model_version.v1.build_spec_pb2
10
11
  import frogml_proto.jfml.model_version.v1.model_repository_spec_pb2
11
12
  import frogml_proto.jfml.model_version.v1.model_version_pb2
12
13
  import sys
@@ -228,3 +229,45 @@ class DeleteModelVersionByIdResponse(google.protobuf.message.Message):
228
229
  ) -> None: ...
229
230
 
230
231
  global___DeleteModelVersionByIdResponse = DeleteModelVersionByIdResponse
232
+
233
+ class PromoteModelVersionToBuildRequest(google.protobuf.message.Message):
234
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
235
+
236
+ MODEL_VERSION_SPEC_FIELD_NUMBER: builtins.int
237
+ MODEL_VERSION_ID_FIELD_NUMBER: builtins.int
238
+ BUILD_SPEC_FIELD_NUMBER: builtins.int
239
+ @property
240
+ def model_version_spec(self) -> frogml_proto.jfml.model_version.v1.model_version_pb2.ModelVersionSpec:
241
+ """The model_version spec, we will use from it only the model's id and the model version's name"""
242
+ model_version_id: builtins.str
243
+ """The model_version id"""
244
+ @property
245
+ def build_spec(self) -> frogml_proto.jfml.model_version.v1.build_spec_pb2.BuildSpec:
246
+ """The build specifications"""
247
+ def __init__(
248
+ self,
249
+ *,
250
+ model_version_spec: frogml_proto.jfml.model_version.v1.model_version_pb2.ModelVersionSpec | None = ...,
251
+ model_version_id: builtins.str = ...,
252
+ build_spec: frogml_proto.jfml.model_version.v1.build_spec_pb2.BuildSpec | None = ...,
253
+ ) -> None: ...
254
+ def HasField(self, field_name: typing_extensions.Literal["build_spec", b"build_spec", "model_version_id", b"model_version_id", "model_version_identifier", b"model_version_identifier", "model_version_spec", b"model_version_spec"]) -> builtins.bool: ...
255
+ def ClearField(self, field_name: typing_extensions.Literal["build_spec", b"build_spec", "model_version_id", b"model_version_id", "model_version_identifier", b"model_version_identifier", "model_version_spec", b"model_version_spec"]) -> None: ...
256
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["model_version_identifier", b"model_version_identifier"]) -> typing_extensions.Literal["model_version_spec", "model_version_id"] | None: ...
257
+
258
+ global___PromoteModelVersionToBuildRequest = PromoteModelVersionToBuildRequest
259
+
260
+ class PromoteModelVersionToBuildResponse(google.protobuf.message.Message):
261
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
262
+
263
+ BUILD_ID_FIELD_NUMBER: builtins.int
264
+ build_id: builtins.str
265
+ """The Build that was created"""
266
+ def __init__(
267
+ self,
268
+ *,
269
+ build_id: builtins.str = ...,
270
+ ) -> None: ...
271
+ def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id"]) -> None: ...
272
+
273
+ global___PromoteModelVersionToBuildResponse = PromoteModelVersionToBuildResponse
@@ -44,6 +44,11 @@ class ModelVersionManagerServiceStub(object):
44
44
  request_serializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.DeleteModelVersionByIdRequest.SerializeToString,
45
45
  response_deserializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.DeleteModelVersionByIdResponse.FromString,
46
46
  )
47
+ self.PromoteModelVersionToBuild = channel.unary_unary(
48
+ '/jfml.model_version.v1.ModelVersionManagerService/PromoteModelVersionToBuild',
49
+ request_serializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.PromoteModelVersionToBuildRequest.SerializeToString,
50
+ response_deserializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.PromoteModelVersionToBuildResponse.FromString,
51
+ )
47
52
 
48
53
 
49
54
  class ModelVersionManagerServiceServicer(object):
@@ -91,6 +96,13 @@ class ModelVersionManagerServiceServicer(object):
91
96
  context.set_details('Method not implemented!')
92
97
  raise NotImplementedError('Method not implemented!')
93
98
 
99
+ def PromoteModelVersionToBuild(self, request, context):
100
+ """Promote a model_version to a build
101
+ """
102
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
103
+ context.set_details('Method not implemented!')
104
+ raise NotImplementedError('Method not implemented!')
105
+
94
106
 
95
107
  def add_ModelVersionManagerServiceServicer_to_server(servicer, server):
96
108
  rpc_method_handlers = {
@@ -124,6 +136,11 @@ def add_ModelVersionManagerServiceServicer_to_server(servicer, server):
124
136
  request_deserializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.DeleteModelVersionByIdRequest.FromString,
125
137
  response_serializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.DeleteModelVersionByIdResponse.SerializeToString,
126
138
  ),
139
+ 'PromoteModelVersionToBuild': grpc.unary_unary_rpc_method_handler(
140
+ servicer.PromoteModelVersionToBuild,
141
+ request_deserializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.PromoteModelVersionToBuildRequest.FromString,
142
+ response_serializer=jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.PromoteModelVersionToBuildResponse.SerializeToString,
143
+ ),
127
144
  }
128
145
  generic_handler = grpc.method_handlers_generic_handler(
129
146
  'jfml.model_version.v1.ModelVersionManagerService', rpc_method_handlers)
@@ -235,3 +252,20 @@ class ModelVersionManagerService(object):
235
252
  jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.DeleteModelVersionByIdResponse.FromString,
236
253
  options, channel_credentials,
237
254
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
255
+
256
+ @staticmethod
257
+ def PromoteModelVersionToBuild(request,
258
+ target,
259
+ options=(),
260
+ channel_credentials=None,
261
+ call_credentials=None,
262
+ insecure=False,
263
+ compression=None,
264
+ wait_for_ready=None,
265
+ timeout=None,
266
+ metadata=None):
267
+ return grpc.experimental.unary_unary(request, target, '/jfml.model_version.v1.ModelVersionManagerService/PromoteModelVersionToBuild',
268
+ jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.PromoteModelVersionToBuildRequest.SerializeToString,
269
+ jfml_dot_model__version_dot_v1_dot_model__version__manager__service__pb2.PromoteModelVersionToBuildResponse.FromString,
270
+ options, channel_credentials,
271
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)