frogml-core 0.0.3__py3-none-any.whl → 0.0.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.
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.3"
4
+ __version__ = "0.0.5"
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
@@ -3,6 +3,7 @@ from typing import Optional
3
3
  import grpc
4
4
  from dependency_injector.wiring import Provide
5
5
 
6
+ from frogml_core.utils.model_utils import get_model_id_from_model_name
6
7
  from frogml_proto.qwak.models.models_pb2 import (
7
8
  CreateModelRequest,
8
9
  DeleteModelRequest,
@@ -59,7 +60,7 @@ class ModelsManagementClient:
59
60
  return self._models_management_service.CreateModel(
60
61
  CreateModelRequest(
61
62
  model_spec=ModelSpec(
62
- model_named_id=model_name.lower().replace(" ", "-"),
63
+ model_named_id=get_model_id_from_model_name(model_name),
63
64
  display_name=model_name,
64
65
  project_id=project_id,
65
66
  model_description=model_description,
@@ -3,6 +3,7 @@ from platform import python_version
3
3
  from dependency_injector.wiring import Provide
4
4
  from grpc import RpcError
5
5
 
6
+ from frogml_core.utils.model_utils import get_model_id_from_model_name
6
7
  from frogml_proto.jfml.model_version.v1.model_repository_spec_pb2 import (
7
8
  ModelRepositorySpec,
8
9
  )
@@ -33,7 +34,7 @@ class ModelVersionManagerClient:
33
34
  def __build_create_model_request(
34
35
  project_key: str,
35
36
  repository_key: str,
36
- model_id: str,
37
+ model_name: str,
37
38
  model_version_name: str,
38
39
  model_version_framework: ModelVersionFramework,
39
40
  dry_run: bool,
@@ -44,7 +45,7 @@ class ModelVersionManagerClient:
44
45
  repository_spec=ModelRepositorySpec(
45
46
  project_key=project_key,
46
47
  repository_key=repository_key,
47
- model_id=model_id,
48
+ model_id=get_model_id_from_model_name(model_name),
48
49
  ),
49
50
  name=model_version_name,
50
51
  framework=model_version_framework,
@@ -64,7 +65,7 @@ class ModelVersionManagerClient:
64
65
  create_model_request = self.__build_create_model_request(
65
66
  project_key=project_key,
66
67
  repository_key=repository_key,
67
- model_id=model_name,
68
+ model_name=model_name,
68
69
  model_version_name=model_version_name,
69
70
  model_version_framework=model_version_framework,
70
71
  dry_run=True,
@@ -90,7 +91,7 @@ class ModelVersionManagerClient:
90
91
  create_model_request = self.__build_create_model_request(
91
92
  project_key=project_key,
92
93
  repository_key=repository_key,
93
- model_id=model_name,
94
+ model_name=model_name,
94
95
  model_version_name=model_version_name,
95
96
  model_version_framework=model_version_framework,
96
97
  dry_run=False,
@@ -0,0 +1,2 @@
1
+ def get_model_id_from_model_name(model_name: str) -> str:
2
+ return model_name.strip().lower().replace(" ", "_").replace("-", "_")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: frogml-core
3
- Version: 0.0.3
3
+ Version: 0.0.5
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
@@ -12,8 +12,6 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.7
16
- Classifier: Programming Language :: Python :: 3.8
17
15
  Classifier: Programming Language :: Python :: Implementation :: CPython
18
16
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
17
  Provides-Extra: feature-store
@@ -28,12 +26,12 @@ Requires-Dist: frogml-storage (>=0.9.0,<0.10.0)
28
26
  Requires-Dist: grpcio (>=1.57.0)
29
27
  Requires-Dist: joblib (>=1.3.2,<2.0.0)
30
28
  Requires-Dist: marshmallow-dataclass (>=8.5.8,<9.0.0)
31
- Requires-Dist: protobuf (>=3.10,<4) ; python_full_version >= "3.7.1" and python_version < "3.10"
29
+ Requires-Dist: protobuf (>=3.10,<4) ; python_version < "3.10"
32
30
  Requires-Dist: protobuf (>=4.21.6) ; python_version >= "3.10"
33
31
  Requires-Dist: pyarrow (>=6.0.0) ; extra == "feature-store"
34
32
  Requires-Dist: pyathena (>=2.2.0,!=2.18.0) ; extra == "feature-store"
33
+ Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
35
34
  Requires-Dist: pyspark (==3.4.2) ; extra == "feature-store"
36
- Requires-Dist: python-jose
37
35
  Requires-Dist: python-json-logger (>=3.2.1,<4.0.0)
38
36
  Requires-Dist: requests
39
37
  Requires-Dist: retrying (==1.3.4)
@@ -1,4 +1,4 @@
1
- frogml_core/__init__.py,sha256=EUzySlsCynPLIXZHCUR2AIdMCeA7AzjOLsQiNCbt_Is,776
1
+ frogml_core/__init__.py,sha256=gtjCUe_Qnnwk_i-GPq2WqAVkjn_BLGk8M042omH-oio,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
@@ -71,9 +71,9 @@ frogml_core/clients/kube_deployment_captain/client.py,sha256=oz7VF37TSO0S07MqXOY
71
71
  frogml_core/clients/logging_client/__init__.py,sha256=1OCHnigQBYThBwGbxCreYA0BgP0HcuLFzNEWd3Yxh-c,34
72
72
  frogml_core/clients/logging_client/client.py,sha256=A7qQJWW54Ve7O0DuJX9gmSJlUQyRIKC0VmfGS6bUwjo,4950
73
73
  frogml_core/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
74
- frogml_core/clients/model_management/client.py,sha256=ZsElgiI2hH8eArLeN6Gm4mN8VojdPyCSmbCNUQspJD4,4500
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=HvoIEx3fFP4cLoEnmIqD3jwB1EXA4a3TvOuz43eXkeg,4038
76
+ frogml_core/clients/model_version_manager/client.py,sha256=-QN6ibQ_wdkS_pUqcD_WfjSoroeGgCMFEXOcqOdndVo,4147
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
@@ -419,6 +419,7 @@ frogml_core/tools/logger/logging.yml,sha256=E3wtIVo7JV5DPP0EjT2Ang1zhdntW9s7uMVW
419
419
  frogml_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
420
420
  frogml_core/utils/datetime_utils.py,sha256=3zK7PUrerMlwB7U6WeuYwMAclVMfPqBNZihNRyIVMs4,581
421
421
  frogml_core/utils/dict_utils.py,sha256=YsOSQeGpmrsm3CMnx2ZbqvzEcybk3m-0TCMXbBdBXaY,263
422
+ frogml_core/utils/model_utils.py,sha256=fLdYIScmVUfChGGxOacH2mID00ZUOPtS4ewUimEDGhg,132
422
423
  frogml_core/utils/proto_utils.py,sha256=QXEOf-pmqRLaijqCVt4IHb7_b8bmG1_ghfgMmqzHrg0,1730
423
424
  frogml_core/vector_store/__init__.py,sha256=9gR2B5A1MXb2ks5VUzqrPASGpVTDuJs4uq7N7FNWOY4,120
424
425
  frogml_core/vector_store/client.py,sha256=mmchLHjR5aOZOLIz1eibmsoXSMHvcHjCtaWB24QZoAY,6067
@@ -862,8 +863,8 @@ frogml_proto/qwak/logging/log_source_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
862
863
  frogml_proto/qwak/model_descriptor/open_ai_descriptor_pb2.py,sha256=yArUUX9SsaOuTmFfhxGIxe_ZEFC6u39oqYBAiPro5mo,6764
863
864
  frogml_proto/qwak/model_descriptor/open_ai_descriptor_pb2.pyi,sha256=G5CaQGczrZ9kGsMbmJXMFWAwnqMZ4jPSl9KQpSq0yMo,12345
864
865
  frogml_proto/qwak/model_descriptor/open_ai_descriptor_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
865
- frogml_proto/qwak/models/models_pb2.py,sha256=vFkGZfot9GipWUJSkY1HWNaTQ9cLnaCJjnGvM_MYJ10,29834
866
- frogml_proto/qwak/models/models_pb2.pyi,sha256=bcFrmhKv6Vn593WHP3vgCts2yd3T7-ThUvTxjs4QIMs,35371
866
+ frogml_proto/qwak/models/models_pb2.py,sha256=7JC60OCmr3_3LwG85hHo3eBPKgdMVH-5WvSArtPUIcc,30108
867
+ frogml_proto/qwak/models/models_pb2.pyi,sha256=974RCUcyp6vHiuBlMyzdyG-j5KCqHmHRYsqhmcYhsEA,35930
867
868
  frogml_proto/qwak/models/models_pb2_grpc.py,sha256=KV9Ez2InTVv7CwFgzNzNmjmMlWQkRgSVAS1iFTrUBh8,19831
868
869
  frogml_proto/qwak/monitoring/v0/alerting_channel_management_service_pb2.py,sha256=skfQrw_RUDMu-F0A1jUmkKrpF694hBgTC1jSNGjeuyg,10759
869
870
  frogml_proto/qwak/monitoring/v0/alerting_channel_management_service_pb2.pyi,sha256=enqAQBr8RW_FLVL1BkZ_MGjeklQkhIZZ2OU2jczePdk,6907
@@ -886,8 +887,11 @@ frogml_proto/qwak/offline/serving/v1/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw
886
887
  frogml_proto/qwak/offline/serving/v1/population_pb2.py,sha256=ZdZbhDf89YPYRMFdKbSZBjA7cakkSJNgz0pgv1qMisM,4073
887
888
  frogml_proto/qwak/offline/serving/v1/population_pb2.pyi,sha256=O9khD516sbdaY5FZHcDOGxTFSoOOUa__SiJN8wkteLs,3906
888
889
  frogml_proto/qwak/offline/serving/v1/population_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
889
- frogml_proto/qwak/projects/projects_pb2.py,sha256=nsbWAyTIqn5d9xcc6vvIdSDwIhCO8OtA26Ls9Ap1kH8,15786
890
- frogml_proto/qwak/projects/projects_pb2.pyi,sha256=MYjPFj0JRQ4XmbPa0r67z3ANoNnTQK5OXvXmLW2S5s8,18665
890
+ frogml_proto/qwak/projects/jfrog_project_spec_pb2.py,sha256=dWhM1EfkKTZgmNggxMGstI9o-jEa9_hjRTn4PiOg1z0,1617
891
+ frogml_proto/qwak/projects/jfrog_project_spec_pb2.pyi,sha256=Ovtqc19hCDGuOaaXKfMplDFnuMjVnzI7GX1lep8NrjA,1279
892
+ frogml_proto/qwak/projects/jfrog_project_spec_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
893
+ frogml_proto/qwak/projects/projects_pb2.py,sha256=XUqz4Q4wXoY02H1YeFRkfTymJS1hrzDGHoh_UEqHTEY,15273
894
+ frogml_proto/qwak/projects/projects_pb2.pyi,sha256=jTswNOXBUxEBzDiLBInc64IR3ldEma-wXrZ-h9UcysM,17854
891
895
  frogml_proto/qwak/projects/projects_pb2_grpc.py,sha256=Lzofyas6Bwx2z-5kgB5MGwxp_CJ_au2k8-QgNzzunqo,9643
892
896
  frogml_proto/qwak/prompt/v1/prompt/prompt_manager_service_pb2.py,sha256=JEzeZ9_DoENW1BJgOFseqCqj3xccZSK0Wfj9y7m1HtA,19872
893
897
  frogml_proto/qwak/prompt/v1/prompt/prompt_manager_service_pb2.pyi,sha256=SPZ0n_Jc29nhIkU2UKZQlq9M5XRz-tNVCqdIHooUjm0,16539
@@ -964,7 +968,7 @@ frogml_services_mock/mocks/alert_manager_service_api.py,sha256=wEBgwtCRAxUSAni-r
964
968
  frogml_services_mock/mocks/alert_registry_service_api.py,sha256=k_MbEytyIvUcMffqd1E6Wf0qBEOyZMVpBu-jaS6Tvjw,2277
965
969
  frogml_services_mock/mocks/analytics_api.py,sha256=9zA90He4hYOd8Wr1k_wZho6bWsbkd8mVUt4MUCrTEKc,2132
966
970
  frogml_services_mock/mocks/audience_service_api.py,sha256=x96adhF05NYqEtI8lJaf5llrZX29udPLHuVXKy_FbR0,2661
967
- frogml_services_mock/mocks/authentication_service.py,sha256=cmsDEcVjJsCU143oOAEfinShvzRw9I8mJAAEIa53SjI,1176
971
+ frogml_services_mock/mocks/authentication_service.py,sha256=cyuH9XX8oicOz_GFoIgP62ru0NWxk7OiXQushfftBUc,1170
968
972
  frogml_services_mock/mocks/automation_management_service.py,sha256=-7kncqM3R-_pLmppzFpuv_TniXCVGVuESculVuQ3EbY,8238
969
973
  frogml_services_mock/mocks/autoscaling_service_api.py,sha256=u3RkwHxACPFSk9DwhLFQSI7_ULoHN9uWFL-zyyo-sNw,1032
970
974
  frogml_services_mock/mocks/batch_job_manager_service.py,sha256=QY3HA0MlA8eg2jkQEzjyGx8UsSnlGbOUopDLOYLacL4,13146
@@ -1009,6 +1013,6 @@ frogml_services_mock/mocks/workspace_manager_service_mock.py,sha256=WbOiWgOyr-xT
1009
1013
  frogml_services_mock/services_mock.py,sha256=_34z6rFCHFwcSni-9eyJlrH264xsL_QDNmG-EBv0zMc,20281
1010
1014
  frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1011
1015
  frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1012
- frogml_core-0.0.3.dist-info/METADATA,sha256=dpBUY4pgp3lPzjBHjgqftDZa0p7A1tdTqXwFQuJYqwQ,2228
1013
- frogml_core-0.0.3.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1014
- frogml_core-0.0.3.dist-info/RECORD,,
1016
+ frogml_core-0.0.5.dist-info/METADATA,sha256=F0kOu8Pcq0VETo8XqWjePdCvQq21d3um34KbbfoDjvg,2105
1017
+ frogml_core-0.0.5.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1018
+ frogml_core-0.0.5.dist-info/RECORD,,
@@ -15,12 +15,13 @@ _sym_db = _symbol_database.Default()
15
15
 
16
16
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
17
17
  from frogml_proto.qwak.builds import builds_pb2 as qwak_dot_builds_dot_builds__pb2
18
+ from frogml_proto.qwak.projects import jfrog_project_spec_pb2 as qwak_dot_projects_dot_jfrog__project__spec__pb2
18
19
  from frogml_proto.qwak.audience.v1 import audience_pb2 as qwak_dot_audience_dot_v1_dot_audience__pb2
19
20
  from frogml_proto.qwak.deployment import deployment_pb2 as qwak_dot_deployment_dot_deployment__pb2
20
21
  from frogml_proto.qwak.build.v1 import build_pb2 as qwak_dot_build_dot_v1_dot_build__pb2
21
22
 
22
23
 
23
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18qwak/models/models.proto\x12\x16qwak.models.management\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18qwak/builds/builds.proto\x1a\x1fqwak/audience/v1/audience.proto\x1a qwak/deployment/deployment.proto\x1a\x19qwak/build/v1/build.proto\"K\n\x12\x43reateModelRequest\x12\x35\n\nmodel_spec\x18\x01 \x01(\x0b\x32!.qwak.models.management.ModelSpec\"\'\n\x13\x43reateModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\"\'\n\x11ListModelsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"C\n\x12ListModelsResponse\x12-\n\x06models\x18\x01 \x03(\x0b\x32\x1d.qwak.models.management.Model\"I\n\x0fGetModelRequest\x12\x12\n\x08model_id\x18\x01 \x01(\tH\x00\x12\x14\n\nmodel_uuid\x18\x02 \x01(\tH\x00\x42\x0c\n\nidentifier\"@\n\x10GetModelResponse\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.qwak.models.management.Model\":\n\x12\x44\x65leteModelRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x15\n\x13\x44\x65leteModelResponse\"q\n\x12UpdateModelRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12I\n\x11model_spec_config\x18\x02 \x01(\x0b\x32..qwak.models.management.ModelSpecConfiguration\"L\n\x13UpdateModelResponse\x12\x35\n\nmodel_spec\x18\x01 \x01(\x0b\x32!.qwak.models.management.ModelSpec\"<\n\x13\x43reateBranchRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x13\n\x0b\x62ranch_name\x18\x02 \x01(\t\")\n\x14\x43reateBranchResponse\x12\x11\n\tbranch_id\x18\x01 \x01(\t\"(\n\x13\x44\x65leteBranchRequest\x12\x11\n\tbranch_id\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteBranchResponse\"N\n\x14IsModelExistsRequest\x12\x12\n\x08model_id\x18\x01 \x01(\tH\x00\x12\x14\n\nmodel_uuid\x18\x02 \x01(\tH\x00\x42\x0c\n\nidentifier\"\'\n\x15IsModelExistsResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"\xda\x01\n\tModelSpec\x12\x16\n\x0emodel_named_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x14\n\nproject_id\x18\x03 \x01(\tH\x00\x12\x16\n\x0cproject_name\x18\x06 \x01(\tH\x00\x12\x19\n\x11model_description\x18\x04 \x01(\t\x12@\n\x10model_build_type\x18\x05 \x01(\x0b\x32&.qwak.models.management.ModelBuildTypeB\x14\n\x12project_identifier\"\xc7\x02\n\nModelBrief\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10last_modified_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x05 \x01(\t\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x19\n\x11model_description\x18\x08 \x01(\t\x12\x12\n\nproject_id\x18\t \x01(\t\x12N\n\x17\x64\x65ployment_model_status\x18\n \x01(\x0e\x32-.qwak.models.management.DeploymentModelStatus\"3\n\x16ModelSpecConfiguration\x12\x19\n\x11model_description\x18\x04 \x01(\t\"\xf4\x04\n\x05Model\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10last_modified_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x05 \x01(\t\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x39\n\x0cmodel_status\x18\x07 \x01(\x0e\x32#.qwak.models.management.ModelStatus\x12\x19\n\x11model_description\x18\x08 \x01(\t\x12\x12\n\nproject_id\x18\t \x01(\t\x12\x30\n\x08\x62ranches\x18\n \x03(\x0b\x32\x1e.qwak.models.management.Branch\x12N\n\x17\x64\x65ployment_model_status\x18\x0b \x01(\x0e\x32-.qwak.models.management.DeploymentModelStatus\x12\x0c\n\x04uuid\x18\x0c \x01(\t\x12\x42\n\nmodel_type\x18\r \x01(\x0e\x32..qwak.deployment.management.KubeDeploymentType\x12\x14\n\x0cproject_name\x18\x0e \x01(\t\x12@\n\x10model_build_type\x18\x0f \x01(\x0b\x32&.qwak.models.management.ModelBuildType\x12\x19\n\x11jfrog_project_key\x18\x10 \x01(\t\"\x96\x01\n\x0eModelBuildType\x12\x30\n\x06source\x18\x01 \x01(\x0b\x32\x1e.qwak.models.management.SourceH\x00\x12J\n\x14model_registry_image\x18\x02 \x01(\x0b\x32*.qwak.models.management.ModelRegistryImageH\x00\x42\x06\n\x04type\"\x08\n\x06Source\"3\n\x12ModelRegistryImage\x12\x1d\n\x15last_image_identifier\x18\x01 \x01(\t\"\xeb\x01\n\x06\x42ranch\x12\x11\n\tbranch_id\x18\x01 \x01(\t\x12\x13\n\x0b\x62ranch_name\x18\x02 \x01(\t\x12\x42\n\rbranch_status\x18\x04 \x01(\x0e\x32+.qwak.models.management.Branch.BranchStatus\x12\x10\n\x08model_id\x18\x05 \x01(\t\x12\x1d\n\x11\x64\x65ployed_build_id\x18\x06 \x01(\tB\x02\x18\x01\"D\n\x0c\x42ranchStatus\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x03\x12\r\n\tSUSPENDED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x01\"B\n\x1bGetDeploymentDetailsRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x11\n\tbranch_id\x18\x02 \x01(\t\"e\n\x1cGetDeploymentDetailsResponse\x12\x45\n\x12\x64\x65ployment_details\x18\x01 \x01(\x0b\x32).qwak.models.management.DeploymentDetails\"\x93\x02\n\x11\x44\x65ploymentDetails\x12\x31\n\rlast_deployed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x16\n\x0enumber_of_pods\x18\x03 \x01(\x05\x12\x14\n\x0c\x63pu_fraction\x18\x04 \x01(\x02\x12\x15\n\rmemory_amount\x18\x05 \x01(\x05\x12\x38\n\x0cmemory_units\x18\x06 \x01(\x0e\x32\".qwak.models.management.MemoryUnit\x12\x19\n\x11number_of_workers\x18\x07 \x01(\x05\x12\x1f\n\x17http_request_timeout_ms\x18\x08 \x01(\x05\"/\n\x19ListModelsMetadataRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"[\n\x1aListModelsMetadataResponse\x12=\n\x0emodel_metadata\x18\x01 \x03(\x0b\x32%.qwak.models.management.ModelMetadata\"+\n\x17GetModelMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\"Y\n\x18GetModelMetadataResponse\x12=\n\x0emodel_metadata\x18\x01 \x01(\x0b\x32%.qwak.models.management.ModelMetadata\"h\n\x11\x45nvironmentRoutes\x12\x13\n\x0b\x65nvironment\x18\x01 \x01(\t\x12>\n\x0f\x61udience_routes\x18\x02 \x03(\x0b\x32%.qwak.audience.v1.AudienceRoutesEntry\"\xb8\x05\n\rModelMetadata\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.qwak.models.management.Model\x12I\n\x12\x64\x65ployment_details\x18\x02 \x03(\x0b\x32-.qwak.deployment.management.DeploymentDetails\x12r\n\x1e\x61udience_routes_by_environment\x18\x03 \x03(\x0b\x32\x46.qwak.models.management.ModelMetadata.AudienceRoutesByEnvironmentEntryB\x02\x18\x01\x12\x30\n\x05\x62uild\x18\x04 \x03(\x0b\x32\x1d.qwak.builds.management.BuildB\x02\x18\x01\x12}\n&audience_routes_grouped_by_environment\x18\x05 \x03(\x0b\x32M.qwak.models.management.ModelMetadata.AudienceRoutesGroupedByEnvironmentEntry\x12(\n\x06\x62uilds\x18\x06 \x03(\x0b\x32\x18.com.qwak.build.v1.Build\x1ai\n AudienceRoutesByEnvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.qwak.audience.v1.AudienceRoutesEntry:\x02\x38\x01\x1at\n\'AudienceRoutesGroupedByEnvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).qwak.models.management.EnvironmentRoutes:\x02\x38\x01*O\n\x15\x44\x65ploymentModelStatus\x12\x1d\n\x19\x44\x45PLOYMENT_STATUS_INVALID\x10\x00\x12\n\n\x06ONLINE\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02*C\n\x0bModelStatus\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x03\x12\r\n\tSUSPENDED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x01*7\n\nMemoryUnit\x12\x17\n\x13MEMORY_UNIT_UNKNOWN\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02\x32\xe0\t\n\x17ModelsManagementService\x12\x66\n\x0b\x43reateModel\x12*.qwak.models.management.CreateModelRequest\x1a+.qwak.models.management.CreateModelResponse\x12\x63\n\nListModels\x12).qwak.models.management.ListModelsRequest\x1a*.qwak.models.management.ListModelsResponse\x12]\n\x08GetModel\x12\'.qwak.models.management.GetModelRequest\x1a(.qwak.models.management.GetModelResponse\x12\x66\n\x0b\x44\x65leteModel\x12*.qwak.models.management.DeleteModelRequest\x1a+.qwak.models.management.DeleteModelResponse\x12\x66\n\x0bUpdateModel\x12*.qwak.models.management.UpdateModelRequest\x1a+.qwak.models.management.UpdateModelResponse\x12n\n\x0c\x43reateBranch\x12+.qwak.models.management.CreateBranchRequest\x1a,.qwak.models.management.CreateBranchResponse\"\x03\x88\x02\x01\x12n\n\x0c\x44\x65leteBranch\x12+.qwak.models.management.DeleteBranchRequest\x1a,.qwak.models.management.DeleteBranchResponse\"\x03\x88\x02\x01\x12\x86\x01\n\x14GetDeploymentDetails\x12\x33.qwak.models.management.GetDeploymentDetailsRequest\x1a\x34.qwak.models.management.GetDeploymentDetailsResponse\"\x03\x88\x02\x01\x12l\n\rIsModelExists\x12,.qwak.models.management.IsModelExistsRequest\x1a-.qwak.models.management.IsModelExistsResponse\x12{\n\x12ListModelsMetadata\x12\x31.qwak.models.management.ListModelsMetadataRequest\x1a\x32.qwak.models.management.ListModelsMetadataResponse\x12u\n\x10GetModelMetadata\x12/.qwak.models.management.GetModelMetadataRequest\x1a\x30.qwak.models.management.GetModelMetadataResponseB%\n!com.qwak.ai.management.models.apiP\x01\x62\x06proto3')
24
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18qwak/models/models.proto\x12\x16qwak.models.management\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18qwak/builds/builds.proto\x1a&qwak/projects/jfrog_project_spec.proto\x1a\x1fqwak/audience/v1/audience.proto\x1a qwak/deployment/deployment.proto\x1a\x19qwak/build/v1/build.proto\"\x9b\x01\n\x12\x43reateModelRequest\x12\x35\n\nmodel_spec\x18\x01 \x01(\x0b\x32!.qwak.models.management.ModelSpec\x12N\n\x12jfrog_project_spec\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"\'\n\x13\x43reateModelResponse\x12\x10\n\x08model_id\x18\x01 \x01(\t\"\'\n\x11ListModelsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"C\n\x12ListModelsResponse\x12-\n\x06models\x18\x01 \x03(\x0b\x32\x1d.qwak.models.management.Model\"I\n\x0fGetModelRequest\x12\x12\n\x08model_id\x18\x01 \x01(\tH\x00\x12\x14\n\nmodel_uuid\x18\x02 \x01(\tH\x00\x42\x0c\n\nidentifier\"@\n\x10GetModelResponse\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.qwak.models.management.Model\":\n\x12\x44\x65leteModelRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x15\n\x13\x44\x65leteModelResponse\"q\n\x12UpdateModelRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12I\n\x11model_spec_config\x18\x02 \x01(\x0b\x32..qwak.models.management.ModelSpecConfiguration\"L\n\x13UpdateModelResponse\x12\x35\n\nmodel_spec\x18\x01 \x01(\x0b\x32!.qwak.models.management.ModelSpec\"<\n\x13\x43reateBranchRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x13\n\x0b\x62ranch_name\x18\x02 \x01(\t\")\n\x14\x43reateBranchResponse\x12\x11\n\tbranch_id\x18\x01 \x01(\t\"(\n\x13\x44\x65leteBranchRequest\x12\x11\n\tbranch_id\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteBranchResponse\"N\n\x14IsModelExistsRequest\x12\x12\n\x08model_id\x18\x01 \x01(\tH\x00\x12\x14\n\nmodel_uuid\x18\x02 \x01(\tH\x00\x42\x0c\n\nidentifier\"\'\n\x15IsModelExistsResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"\xda\x01\n\tModelSpec\x12\x16\n\x0emodel_named_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x14\n\nproject_id\x18\x03 \x01(\tH\x00\x12\x16\n\x0cproject_name\x18\x06 \x01(\tH\x00\x12\x19\n\x11model_description\x18\x04 \x01(\t\x12@\n\x10model_build_type\x18\x05 \x01(\x0b\x32&.qwak.models.management.ModelBuildTypeB\x14\n\x12project_identifier\"\xc7\x02\n\nModelBrief\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10last_modified_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x05 \x01(\t\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x19\n\x11model_description\x18\x08 \x01(\t\x12\x12\n\nproject_id\x18\t \x01(\t\x12N\n\x17\x64\x65ployment_model_status\x18\n \x01(\x0e\x32-.qwak.models.management.DeploymentModelStatus\"3\n\x16ModelSpecConfiguration\x12\x19\n\x11model_description\x18\x04 \x01(\t\"\xf4\x04\n\x05Model\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10last_modified_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x05 \x01(\t\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x39\n\x0cmodel_status\x18\x07 \x01(\x0e\x32#.qwak.models.management.ModelStatus\x12\x19\n\x11model_description\x18\x08 \x01(\t\x12\x12\n\nproject_id\x18\t \x01(\t\x12\x30\n\x08\x62ranches\x18\n \x03(\x0b\x32\x1e.qwak.models.management.Branch\x12N\n\x17\x64\x65ployment_model_status\x18\x0b \x01(\x0e\x32-.qwak.models.management.DeploymentModelStatus\x12\x0c\n\x04uuid\x18\x0c \x01(\t\x12\x42\n\nmodel_type\x18\r \x01(\x0e\x32..qwak.deployment.management.KubeDeploymentType\x12\x14\n\x0cproject_name\x18\x0e \x01(\t\x12@\n\x10model_build_type\x18\x0f \x01(\x0b\x32&.qwak.models.management.ModelBuildType\x12\x19\n\x11jfrog_project_key\x18\x10 \x01(\t\"\x96\x01\n\x0eModelBuildType\x12\x30\n\x06source\x18\x01 \x01(\x0b\x32\x1e.qwak.models.management.SourceH\x00\x12J\n\x14model_registry_image\x18\x02 \x01(\x0b\x32*.qwak.models.management.ModelRegistryImageH\x00\x42\x06\n\x04type\"\x08\n\x06Source\"3\n\x12ModelRegistryImage\x12\x1d\n\x15last_image_identifier\x18\x01 \x01(\t\"\xeb\x01\n\x06\x42ranch\x12\x11\n\tbranch_id\x18\x01 \x01(\t\x12\x13\n\x0b\x62ranch_name\x18\x02 \x01(\t\x12\x42\n\rbranch_status\x18\x04 \x01(\x0e\x32+.qwak.models.management.Branch.BranchStatus\x12\x10\n\x08model_id\x18\x05 \x01(\t\x12\x1d\n\x11\x64\x65ployed_build_id\x18\x06 \x01(\tB\x02\x18\x01\"D\n\x0c\x42ranchStatus\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x03\x12\r\n\tSUSPENDED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x01\"B\n\x1bGetDeploymentDetailsRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x11\n\tbranch_id\x18\x02 \x01(\t\"e\n\x1cGetDeploymentDetailsResponse\x12\x45\n\x12\x64\x65ployment_details\x18\x01 \x01(\x0b\x32).qwak.models.management.DeploymentDetails\"\x93\x02\n\x11\x44\x65ploymentDetails\x12\x31\n\rlast_deployed\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x16\n\x0enumber_of_pods\x18\x03 \x01(\x05\x12\x14\n\x0c\x63pu_fraction\x18\x04 \x01(\x02\x12\x15\n\rmemory_amount\x18\x05 \x01(\x05\x12\x38\n\x0cmemory_units\x18\x06 \x01(\x0e\x32\".qwak.models.management.MemoryUnit\x12\x19\n\x11number_of_workers\x18\x07 \x01(\x05\x12\x1f\n\x17http_request_timeout_ms\x18\x08 \x01(\x05\"/\n\x19ListModelsMetadataRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"[\n\x1aListModelsMetadataResponse\x12=\n\x0emodel_metadata\x18\x01 \x03(\x0b\x32%.qwak.models.management.ModelMetadata\"+\n\x17GetModelMetadataRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\"Y\n\x18GetModelMetadataResponse\x12=\n\x0emodel_metadata\x18\x01 \x01(\x0b\x32%.qwak.models.management.ModelMetadata\"h\n\x11\x45nvironmentRoutes\x12\x13\n\x0b\x65nvironment\x18\x01 \x01(\t\x12>\n\x0f\x61udience_routes\x18\x02 \x03(\x0b\x32%.qwak.audience.v1.AudienceRoutesEntry\"\xb8\x05\n\rModelMetadata\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.qwak.models.management.Model\x12I\n\x12\x64\x65ployment_details\x18\x02 \x03(\x0b\x32-.qwak.deployment.management.DeploymentDetails\x12r\n\x1e\x61udience_routes_by_environment\x18\x03 \x03(\x0b\x32\x46.qwak.models.management.ModelMetadata.AudienceRoutesByEnvironmentEntryB\x02\x18\x01\x12\x30\n\x05\x62uild\x18\x04 \x03(\x0b\x32\x1d.qwak.builds.management.BuildB\x02\x18\x01\x12}\n&audience_routes_grouped_by_environment\x18\x05 \x03(\x0b\x32M.qwak.models.management.ModelMetadata.AudienceRoutesGroupedByEnvironmentEntry\x12(\n\x06\x62uilds\x18\x06 \x03(\x0b\x32\x18.com.qwak.build.v1.Build\x1ai\n AudienceRoutesByEnvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.qwak.audience.v1.AudienceRoutesEntry:\x02\x38\x01\x1at\n\'AudienceRoutesGroupedByEnvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).qwak.models.management.EnvironmentRoutes:\x02\x38\x01*O\n\x15\x44\x65ploymentModelStatus\x12\x1d\n\x19\x44\x45PLOYMENT_STATUS_INVALID\x10\x00\x12\n\n\x06ONLINE\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02*C\n\x0bModelStatus\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x03\x12\r\n\tSUSPENDED\x10\x02\x12\x0c\n\x08\x44ISABLED\x10\x01*7\n\nMemoryUnit\x12\x17\n\x13MEMORY_UNIT_UNKNOWN\x10\x00\x12\x07\n\x03MIB\x10\x01\x12\x07\n\x03GIB\x10\x02\x32\xe0\t\n\x17ModelsManagementService\x12\x66\n\x0b\x43reateModel\x12*.qwak.models.management.CreateModelRequest\x1a+.qwak.models.management.CreateModelResponse\x12\x63\n\nListModels\x12).qwak.models.management.ListModelsRequest\x1a*.qwak.models.management.ListModelsResponse\x12]\n\x08GetModel\x12\'.qwak.models.management.GetModelRequest\x1a(.qwak.models.management.GetModelResponse\x12\x66\n\x0b\x44\x65leteModel\x12*.qwak.models.management.DeleteModelRequest\x1a+.qwak.models.management.DeleteModelResponse\x12\x66\n\x0bUpdateModel\x12*.qwak.models.management.UpdateModelRequest\x1a+.qwak.models.management.UpdateModelResponse\x12n\n\x0c\x43reateBranch\x12+.qwak.models.management.CreateBranchRequest\x1a,.qwak.models.management.CreateBranchResponse\"\x03\x88\x02\x01\x12n\n\x0c\x44\x65leteBranch\x12+.qwak.models.management.DeleteBranchRequest\x1a,.qwak.models.management.DeleteBranchResponse\"\x03\x88\x02\x01\x12\x86\x01\n\x14GetDeploymentDetails\x12\x33.qwak.models.management.GetDeploymentDetailsRequest\x1a\x34.qwak.models.management.GetDeploymentDetailsResponse\"\x03\x88\x02\x01\x12l\n\rIsModelExists\x12,.qwak.models.management.IsModelExistsRequest\x1a-.qwak.models.management.IsModelExistsResponse\x12{\n\x12ListModelsMetadata\x12\x31.qwak.models.management.ListModelsMetadataRequest\x1a\x32.qwak.models.management.ListModelsMetadataResponse\x12u\n\x10GetModelMetadata\x12/.qwak.models.management.GetModelMetadataRequest\x1a\x30.qwak.models.management.GetModelMetadataResponseB%\n!com.qwak.ai.management.models.apiP\x01\x62\x06proto3')
24
25
 
25
26
  _DEPLOYMENTMODELSTATUS = DESCRIPTOR.enum_types_by_name['DeploymentModelStatus']
26
27
  DeploymentModelStatus = enum_type_wrapper.EnumTypeWrapper(_DEPLOYMENTMODELSTATUS)
@@ -344,84 +345,84 @@ if _descriptor._USE_C_DESCRIPTORS == False:
344
345
  _MODELSMANAGEMENTSERVICE.methods_by_name['DeleteBranch']._serialized_options = b'\210\002\001'
345
346
  _MODELSMANAGEMENTSERVICE.methods_by_name['GetDeploymentDetails']._options = None
346
347
  _MODELSMANAGEMENTSERVICE.methods_by_name['GetDeploymentDetails']._serialized_options = b'\210\002\001'
347
- _DEPLOYMENTMODELSTATUS._serialized_start=4363
348
- _DEPLOYMENTMODELSTATUS._serialized_end=4442
349
- _MODELSTATUS._serialized_start=4444
350
- _MODELSTATUS._serialized_end=4511
351
- _MEMORYUNIT._serialized_start=4513
352
- _MEMORYUNIT._serialized_end=4568
353
- _CREATEMODELREQUEST._serialized_start=205
354
- _CREATEMODELREQUEST._serialized_end=280
355
- _CREATEMODELRESPONSE._serialized_start=282
356
- _CREATEMODELRESPONSE._serialized_end=321
357
- _LISTMODELSREQUEST._serialized_start=323
358
- _LISTMODELSREQUEST._serialized_end=362
359
- _LISTMODELSRESPONSE._serialized_start=364
360
- _LISTMODELSRESPONSE._serialized_end=431
361
- _GETMODELREQUEST._serialized_start=433
362
- _GETMODELREQUEST._serialized_end=506
363
- _GETMODELRESPONSE._serialized_start=508
364
- _GETMODELRESPONSE._serialized_end=572
365
- _DELETEMODELREQUEST._serialized_start=574
366
- _DELETEMODELREQUEST._serialized_end=632
367
- _DELETEMODELRESPONSE._serialized_start=634
368
- _DELETEMODELRESPONSE._serialized_end=655
369
- _UPDATEMODELREQUEST._serialized_start=657
370
- _UPDATEMODELREQUEST._serialized_end=770
371
- _UPDATEMODELRESPONSE._serialized_start=772
372
- _UPDATEMODELRESPONSE._serialized_end=848
373
- _CREATEBRANCHREQUEST._serialized_start=850
374
- _CREATEBRANCHREQUEST._serialized_end=910
375
- _CREATEBRANCHRESPONSE._serialized_start=912
376
- _CREATEBRANCHRESPONSE._serialized_end=953
377
- _DELETEBRANCHREQUEST._serialized_start=955
378
- _DELETEBRANCHREQUEST._serialized_end=995
379
- _DELETEBRANCHRESPONSE._serialized_start=997
380
- _DELETEBRANCHRESPONSE._serialized_end=1019
381
- _ISMODELEXISTSREQUEST._serialized_start=1021
382
- _ISMODELEXISTSREQUEST._serialized_end=1099
383
- _ISMODELEXISTSRESPONSE._serialized_start=1101
384
- _ISMODELEXISTSRESPONSE._serialized_end=1140
385
- _MODELSPEC._serialized_start=1143
386
- _MODELSPEC._serialized_end=1361
387
- _MODELBRIEF._serialized_start=1364
388
- _MODELBRIEF._serialized_end=1691
389
- _MODELSPECCONFIGURATION._serialized_start=1693
390
- _MODELSPECCONFIGURATION._serialized_end=1744
391
- _MODEL._serialized_start=1747
392
- _MODEL._serialized_end=2375
393
- _MODELBUILDTYPE._serialized_start=2378
394
- _MODELBUILDTYPE._serialized_end=2528
395
- _SOURCE._serialized_start=2530
396
- _SOURCE._serialized_end=2538
397
- _MODELREGISTRYIMAGE._serialized_start=2540
398
- _MODELREGISTRYIMAGE._serialized_end=2591
399
- _BRANCH._serialized_start=2594
400
- _BRANCH._serialized_end=2829
401
- _BRANCH_BRANCHSTATUS._serialized_start=2761
402
- _BRANCH_BRANCHSTATUS._serialized_end=2829
403
- _GETDEPLOYMENTDETAILSREQUEST._serialized_start=2831
404
- _GETDEPLOYMENTDETAILSREQUEST._serialized_end=2897
405
- _GETDEPLOYMENTDETAILSRESPONSE._serialized_start=2899
406
- _GETDEPLOYMENTDETAILSRESPONSE._serialized_end=3000
407
- _DEPLOYMENTDETAILS._serialized_start=3003
408
- _DEPLOYMENTDETAILS._serialized_end=3278
409
- _LISTMODELSMETADATAREQUEST._serialized_start=3280
410
- _LISTMODELSMETADATAREQUEST._serialized_end=3327
411
- _LISTMODELSMETADATARESPONSE._serialized_start=3329
412
- _LISTMODELSMETADATARESPONSE._serialized_end=3420
413
- _GETMODELMETADATAREQUEST._serialized_start=3422
414
- _GETMODELMETADATAREQUEST._serialized_end=3465
415
- _GETMODELMETADATARESPONSE._serialized_start=3467
416
- _GETMODELMETADATARESPONSE._serialized_end=3556
417
- _ENVIRONMENTROUTES._serialized_start=3558
418
- _ENVIRONMENTROUTES._serialized_end=3662
419
- _MODELMETADATA._serialized_start=3665
420
- _MODELMETADATA._serialized_end=4361
421
- _MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY._serialized_start=4138
422
- _MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY._serialized_end=4243
423
- _MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY._serialized_start=4245
424
- _MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY._serialized_end=4361
425
- _MODELSMANAGEMENTSERVICE._serialized_start=4571
426
- _MODELSMANAGEMENTSERVICE._serialized_end=5819
348
+ _DEPLOYMENTMODELSTATUS._serialized_start=4484
349
+ _DEPLOYMENTMODELSTATUS._serialized_end=4563
350
+ _MODELSTATUS._serialized_start=4565
351
+ _MODELSTATUS._serialized_end=4632
352
+ _MEMORYUNIT._serialized_start=4634
353
+ _MEMORYUNIT._serialized_end=4689
354
+ _CREATEMODELREQUEST._serialized_start=246
355
+ _CREATEMODELREQUEST._serialized_end=401
356
+ _CREATEMODELRESPONSE._serialized_start=403
357
+ _CREATEMODELRESPONSE._serialized_end=442
358
+ _LISTMODELSREQUEST._serialized_start=444
359
+ _LISTMODELSREQUEST._serialized_end=483
360
+ _LISTMODELSRESPONSE._serialized_start=485
361
+ _LISTMODELSRESPONSE._serialized_end=552
362
+ _GETMODELREQUEST._serialized_start=554
363
+ _GETMODELREQUEST._serialized_end=627
364
+ _GETMODELRESPONSE._serialized_start=629
365
+ _GETMODELRESPONSE._serialized_end=693
366
+ _DELETEMODELREQUEST._serialized_start=695
367
+ _DELETEMODELREQUEST._serialized_end=753
368
+ _DELETEMODELRESPONSE._serialized_start=755
369
+ _DELETEMODELRESPONSE._serialized_end=776
370
+ _UPDATEMODELREQUEST._serialized_start=778
371
+ _UPDATEMODELREQUEST._serialized_end=891
372
+ _UPDATEMODELRESPONSE._serialized_start=893
373
+ _UPDATEMODELRESPONSE._serialized_end=969
374
+ _CREATEBRANCHREQUEST._serialized_start=971
375
+ _CREATEBRANCHREQUEST._serialized_end=1031
376
+ _CREATEBRANCHRESPONSE._serialized_start=1033
377
+ _CREATEBRANCHRESPONSE._serialized_end=1074
378
+ _DELETEBRANCHREQUEST._serialized_start=1076
379
+ _DELETEBRANCHREQUEST._serialized_end=1116
380
+ _DELETEBRANCHRESPONSE._serialized_start=1118
381
+ _DELETEBRANCHRESPONSE._serialized_end=1140
382
+ _ISMODELEXISTSREQUEST._serialized_start=1142
383
+ _ISMODELEXISTSREQUEST._serialized_end=1220
384
+ _ISMODELEXISTSRESPONSE._serialized_start=1222
385
+ _ISMODELEXISTSRESPONSE._serialized_end=1261
386
+ _MODELSPEC._serialized_start=1264
387
+ _MODELSPEC._serialized_end=1482
388
+ _MODELBRIEF._serialized_start=1485
389
+ _MODELBRIEF._serialized_end=1812
390
+ _MODELSPECCONFIGURATION._serialized_start=1814
391
+ _MODELSPECCONFIGURATION._serialized_end=1865
392
+ _MODEL._serialized_start=1868
393
+ _MODEL._serialized_end=2496
394
+ _MODELBUILDTYPE._serialized_start=2499
395
+ _MODELBUILDTYPE._serialized_end=2649
396
+ _SOURCE._serialized_start=2651
397
+ _SOURCE._serialized_end=2659
398
+ _MODELREGISTRYIMAGE._serialized_start=2661
399
+ _MODELREGISTRYIMAGE._serialized_end=2712
400
+ _BRANCH._serialized_start=2715
401
+ _BRANCH._serialized_end=2950
402
+ _BRANCH_BRANCHSTATUS._serialized_start=2882
403
+ _BRANCH_BRANCHSTATUS._serialized_end=2950
404
+ _GETDEPLOYMENTDETAILSREQUEST._serialized_start=2952
405
+ _GETDEPLOYMENTDETAILSREQUEST._serialized_end=3018
406
+ _GETDEPLOYMENTDETAILSRESPONSE._serialized_start=3020
407
+ _GETDEPLOYMENTDETAILSRESPONSE._serialized_end=3121
408
+ _DEPLOYMENTDETAILS._serialized_start=3124
409
+ _DEPLOYMENTDETAILS._serialized_end=3399
410
+ _LISTMODELSMETADATAREQUEST._serialized_start=3401
411
+ _LISTMODELSMETADATAREQUEST._serialized_end=3448
412
+ _LISTMODELSMETADATARESPONSE._serialized_start=3450
413
+ _LISTMODELSMETADATARESPONSE._serialized_end=3541
414
+ _GETMODELMETADATAREQUEST._serialized_start=3543
415
+ _GETMODELMETADATAREQUEST._serialized_end=3586
416
+ _GETMODELMETADATARESPONSE._serialized_start=3588
417
+ _GETMODELMETADATARESPONSE._serialized_end=3677
418
+ _ENVIRONMENTROUTES._serialized_start=3679
419
+ _ENVIRONMENTROUTES._serialized_end=3783
420
+ _MODELMETADATA._serialized_start=3786
421
+ _MODELMETADATA._serialized_end=4482
422
+ _MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY._serialized_start=4259
423
+ _MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY._serialized_end=4364
424
+ _MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY._serialized_start=4366
425
+ _MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY._serialized_end=4482
426
+ _MODELSMANAGEMENTSERVICE._serialized_start=4692
427
+ _MODELSMANAGEMENTSERVICE._serialized_end=5940
427
428
  # @@protoc_insertion_point(module_scope)
@@ -13,6 +13,7 @@ import frogml_proto.qwak.audience.v1.audience_pb2
13
13
  import frogml_proto.qwak.build.v1.build_pb2
14
14
  import frogml_proto.qwak.builds.builds_pb2
15
15
  import frogml_proto.qwak.deployment.deployment_pb2
16
+ import frogml_proto.qwak.projects.jfrog_project_spec_pb2
16
17
  import sys
17
18
  import typing
18
19
 
@@ -85,16 +86,21 @@ class CreateModelRequest(google.protobuf.message.Message):
85
86
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
86
87
 
87
88
  MODEL_SPEC_FIELD_NUMBER: builtins.int
89
+ JFROG_PROJECT_SPEC_FIELD_NUMBER: builtins.int
88
90
  @property
89
91
  def model_spec(self) -> global___ModelSpec:
90
92
  """Model spec to add"""
93
+ @property
94
+ def jfrog_project_spec(self) -> frogml_proto.qwak.projects.jfrog_project_spec_pb2.ModelRepositoryJFrogSpec:
95
+ """JFrog project spec to add in case we want to associate the created model to another project than default"""
91
96
  def __init__(
92
97
  self,
93
98
  *,
94
99
  model_spec: global___ModelSpec | None = ...,
100
+ jfrog_project_spec: frogml_proto.qwak.projects.jfrog_project_spec_pb2.ModelRepositoryJFrogSpec | None = ...,
95
101
  ) -> None: ...
96
- def HasField(self, field_name: typing_extensions.Literal["model_spec", b"model_spec"]) -> builtins.bool: ...
97
- def ClearField(self, field_name: typing_extensions.Literal["model_spec", b"model_spec"]) -> None: ...
102
+ def HasField(self, field_name: typing_extensions.Literal["jfrog_project_spec", b"jfrog_project_spec", "model_spec", b"model_spec"]) -> builtins.bool: ...
103
+ def ClearField(self, field_name: typing_extensions.Literal["jfrog_project_spec", b"jfrog_project_spec", "model_spec", b"model_spec"]) -> None: ...
98
104
 
99
105
  global___CreateModelRequest = CreateModelRequest
100
106
 
@@ -0,0 +1,35 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: frogml_proto.qwak.projects/jfrog_project_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
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&qwak/projects/jfrog_project_spec.proto\x12\x18qwak.projects.management\"S\n\x18ModelRepositoryJFrogSpec\x12\x1b\n\x11jfrog_project_key\x18\x01 \x01(\tH\x00\x42\x1a\n\x18jfrog_project_identifierB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
18
+
19
+
20
+
21
+ _MODELREPOSITORYJFROGSPEC = DESCRIPTOR.message_types_by_name['ModelRepositoryJFrogSpec']
22
+ ModelRepositoryJFrogSpec = _reflection.GeneratedProtocolMessageType('ModelRepositoryJFrogSpec', (_message.Message,), {
23
+ 'DESCRIPTOR' : _MODELREPOSITORYJFROGSPEC,
24
+ '__module__' : 'qwak.projects.jfrog_project_spec_pb2'
25
+ # @@protoc_insertion_point(class_scope:qwak.projects.management.ModelRepositoryJFrogSpec)
26
+ })
27
+ _sym_db.RegisterMessage(ModelRepositoryJFrogSpec)
28
+
29
+ if _descriptor._USE_C_DESCRIPTORS == False:
30
+
31
+ DESCRIPTOR._options = None
32
+ DESCRIPTOR._serialized_options = b'\n#com.qwak.ai.management.projects.apiP\001'
33
+ _MODELREPOSITORYJFROGSPEC._serialized_start=68
34
+ _MODELREPOSITORYJFROGSPEC._serialized_end=151
35
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,32 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import google.protobuf.descriptor
7
+ import google.protobuf.message
8
+ import sys
9
+
10
+ if sys.version_info >= (3, 8):
11
+ import typing as typing_extensions
12
+ else:
13
+ import typing_extensions
14
+
15
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
16
+
17
+ class ModelRepositoryJFrogSpec(google.protobuf.message.Message):
18
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
19
+
20
+ JFROG_PROJECT_KEY_FIELD_NUMBER: builtins.int
21
+ jfrog_project_key: builtins.str
22
+ """JFrog project key"""
23
+ def __init__(
24
+ self,
25
+ *,
26
+ jfrog_project_key: builtins.str = ...,
27
+ ) -> None: ...
28
+ def HasField(self, field_name: typing_extensions.Literal["jfrog_project_identifier", b"jfrog_project_identifier", "jfrog_project_key", b"jfrog_project_key"]) -> builtins.bool: ...
29
+ def ClearField(self, field_name: typing_extensions.Literal["jfrog_project_identifier", b"jfrog_project_identifier", "jfrog_project_key", b"jfrog_project_key"]) -> None: ...
30
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["jfrog_project_identifier", b"jfrog_project_identifier"]) -> typing_extensions.Literal["jfrog_project_key"] | None: ...
31
+
32
+ global___ModelRepositoryJFrogSpec = ModelRepositoryJFrogSpec
@@ -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
+
@@ -13,10 +13,11 @@ _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
15
  from frogml_proto.qwak.models import models_pb2 as qwak_dot_models_dot_models__pb2
16
+ from frogml_proto.qwak.projects import jfrog_project_spec_pb2 as qwak_dot_projects_dot_jfrog__project__spec__pb2
16
17
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
17
18
 
18
19
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cqwak/projects/projects.proto\x12\x18qwak.projects.management\x1a\x18qwak/models/models.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x01\n\x14\x43reateProjectRequest\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\x12\x46\n\njfrog_spec\x18\x03 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"O\n\x15\x43reateProjectResponse\x12\x36\n\x07project\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\x15\n\x13ListProjectsRequest\"O\n\x14ListProjectsResponse\x12\x37\n\x08projects\x18\x01 \x03(\x0b\x32%.qwak.projects.management.ProjectSpec\"=\n\x11GetProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x12GetProjectResponse\x12\x32\n\x07project\x18\x01 \x01(\x0b\x32!.qwak.projects.management.Project\"*\n\x14\x44\x65leteProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"%\n\x15\x44\x65leteProjectResponse\x12\x0c\n\x04info\x18\x01 \x01(\t\"{\n\x14UpdateProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12O\n\x13project_spec_config\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ProjectSpecConfiguration\"T\n\x15UpdateProjectResponse\x12;\n\x0cproject_spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\xac\x01\n\x07Project\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\x12\x31\n\x06models\x18\x02 \x03(\x0b\x32\x1d.qwak.models.management.ModelB\x02\x18\x01\x12\x39\n\rmodels_briefs\x18\x03 \x03(\x0b\x32\".qwak.models.management.ModelBrief\"\xeb\x03\n\x0bProjectSpec\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1b\n\x13project_description\x18\x03 \x01(\t\x12\x44\n\x0eproject_status\x18\x04 \x01(\x0e\x32,.qwak.projects.management.ProjectSpec.Status\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x34\n\x10last_modified_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x08 \x01(\t\x12\x14\n\x0cmodels_count\x18\t \x01(\x05\x12\x15\n\rmodels_active\x18\n \x01(\x05\x12N\n\x0ejfrog_settings\x18\x0b \x01(\x0b\x32\x36.qwak.projects.management.ModelRepositoryJFrogSettings\">\n\x06Status\x12\x0b\n\x07INVALID\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\n\n\x06\x41\x43TIVE\x10\x03\"M\n\x18ProjectSpecConfiguration\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\"\xb1\x02\n\x1cModelRepositoryJFrogSettings\x12S\n\x11pull_image_secret\x18\x01 \x01(\x0b\x32\x38.qwak.projects.management.ModelRepositoryPullImageSecret\x12[\n\x15jfrog_project_details\x18\x02 \x01(\x0b\x32<.qwak.projects.management.ModelRepositoryJFrogProjectDetails\x12_\n\x1ajfrog_repositories_details\x18\x03 \x01(\x0b\x32;.qwak.projects.management.ModelRepositoryArtifactoryDetails\"@\n\x1eModelRepositoryPullImageSecret\x12\x1e\n\x16pull_image_secret_name\x18\x01 \x01(\t\"?\n\"ModelRepositoryJFrogProjectDetails\x12\x19\n\x11jfrog_project_key\x18\x01 \x01(\t\"S\n\x18ModelRepositoryJFrogSpec\x12\x1b\n\x11jfrog_project_key\x18\x01 \x01(\tH\x00\x42\x1a\n\x18jfrog_project_identifier\"\xb7\x02\n!ModelRepositoryArtifactoryDetails\x12[\n\x1b\x61rtifact_repository_details\x18\x01 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Z\n\x1a\x64\x61taset_repository_details\x18\x02 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Y\n\x19\x64ocker_repository_details\x18\x03 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\"6\n\x1c\x41rtifactoryRepositoryDetails\x12\x16\n\x0erepository_key\x18\x01 \x01(\t2\xc9\x04\n\x19ProjectsManagementService\x12p\n\rCreateProject\x12..qwak.projects.management.CreateProjectRequest\x1a/.qwak.projects.management.CreateProjectResponse\x12m\n\x0cListProjects\x12-.qwak.projects.management.ListProjectsRequest\x1a..qwak.projects.management.ListProjectsResponse\x12g\n\nGetProject\x12+.qwak.projects.management.GetProjectRequest\x1a,.qwak.projects.management.GetProjectResponse\x12p\n\rDeleteProject\x12..qwak.projects.management.DeleteProjectRequest\x1a/.qwak.projects.management.DeleteProjectResponse\x12p\n\rUpdateProject\x12..qwak.projects.management.UpdateProjectRequest\x1a/.qwak.projects.management.UpdateProjectResponseB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cqwak/projects/projects.proto\x12\x18qwak.projects.management\x1a\x18qwak/models/models.proto\x1a&qwak/projects/jfrog_project_spec.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x91\x01\n\x14\x43reateProjectRequest\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\x12\x46\n\njfrog_spec\x18\x03 \x01(\x0b\x32\x32.qwak.projects.management.ModelRepositoryJFrogSpec\"O\n\x15\x43reateProjectResponse\x12\x36\n\x07project\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\x15\n\x13ListProjectsRequest\"O\n\x14ListProjectsResponse\x12\x37\n\x08projects\x18\x01 \x03(\x0b\x32%.qwak.projects.management.ProjectSpec\"=\n\x11GetProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x12GetProjectResponse\x12\x32\n\x07project\x18\x01 \x01(\x0b\x32!.qwak.projects.management.Project\"*\n\x14\x44\x65leteProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"%\n\x15\x44\x65leteProjectResponse\x12\x0c\n\x04info\x18\x01 \x01(\t\"{\n\x14UpdateProjectRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12O\n\x13project_spec_config\x18\x02 \x01(\x0b\x32\x32.qwak.projects.management.ProjectSpecConfiguration\"T\n\x15UpdateProjectResponse\x12;\n\x0cproject_spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\"\xac\x01\n\x07Project\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.qwak.projects.management.ProjectSpec\x12\x31\n\x06models\x18\x02 \x03(\x0b\x32\x1d.qwak.models.management.ModelB\x02\x18\x01\x12\x39\n\rmodels_briefs\x18\x03 \x03(\x0b\x32\".qwak.models.management.ModelBrief\"\xeb\x03\n\x0bProjectSpec\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1b\n\x13project_description\x18\x03 \x01(\t\x12\x44\n\x0eproject_status\x18\x04 \x01(\x0e\x32,.qwak.projects.management.ProjectSpec.Status\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x34\n\x10last_modified_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10last_modified_by\x18\x08 \x01(\t\x12\x14\n\x0cmodels_count\x18\t \x01(\x05\x12\x15\n\rmodels_active\x18\n \x01(\x05\x12N\n\x0ejfrog_settings\x18\x0b \x01(\x0b\x32\x36.qwak.projects.management.ModelRepositoryJFrogSettings\">\n\x06Status\x12\x0b\n\x07INVALID\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\n\n\x06\x41\x43TIVE\x10\x03\"M\n\x18ProjectSpecConfiguration\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x1b\n\x13project_description\x18\x02 \x01(\t\"\xb1\x02\n\x1cModelRepositoryJFrogSettings\x12S\n\x11pull_image_secret\x18\x01 \x01(\x0b\x32\x38.qwak.projects.management.ModelRepositoryPullImageSecret\x12[\n\x15jfrog_project_details\x18\x02 \x01(\x0b\x32<.qwak.projects.management.ModelRepositoryJFrogProjectDetails\x12_\n\x1ajfrog_repositories_details\x18\x03 \x01(\x0b\x32;.qwak.projects.management.ModelRepositoryArtifactoryDetails\"@\n\x1eModelRepositoryPullImageSecret\x12\x1e\n\x16pull_image_secret_name\x18\x01 \x01(\t\"?\n\"ModelRepositoryJFrogProjectDetails\x12\x19\n\x11jfrog_project_key\x18\x01 \x01(\t\"\xb7\x02\n!ModelRepositoryArtifactoryDetails\x12[\n\x1b\x61rtifact_repository_details\x18\x01 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Z\n\x1a\x64\x61taset_repository_details\x18\x02 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\x12Y\n\x19\x64ocker_repository_details\x18\x03 \x01(\x0b\x32\x36.qwak.projects.management.ArtifactoryRepositoryDetails\"6\n\x1c\x41rtifactoryRepositoryDetails\x12\x16\n\x0erepository_key\x18\x01 \x01(\t2\xc9\x04\n\x19ProjectsManagementService\x12p\n\rCreateProject\x12..qwak.projects.management.CreateProjectRequest\x1a/.qwak.projects.management.CreateProjectResponse\x12m\n\x0cListProjects\x12-.qwak.projects.management.ListProjectsRequest\x1a..qwak.projects.management.ListProjectsResponse\x12g\n\nGetProject\x12+.qwak.projects.management.GetProjectRequest\x1a,.qwak.projects.management.GetProjectResponse\x12p\n\rDeleteProject\x12..qwak.projects.management.DeleteProjectRequest\x1a/.qwak.projects.management.DeleteProjectResponse\x12p\n\rUpdateProject\x12..qwak.projects.management.UpdateProjectRequest\x1a/.qwak.projects.management.UpdateProjectResponseB\'\n#com.qwak.ai.management.projects.apiP\x01\x62\x06proto3')
20
21
 
21
22
 
22
23
 
@@ -36,7 +37,6 @@ _PROJECTSPECCONFIGURATION = DESCRIPTOR.message_types_by_name['ProjectSpecConfigu
36
37
  _MODELREPOSITORYJFROGSETTINGS = DESCRIPTOR.message_types_by_name['ModelRepositoryJFrogSettings']
37
38
  _MODELREPOSITORYPULLIMAGESECRET = DESCRIPTOR.message_types_by_name['ModelRepositoryPullImageSecret']
38
39
  _MODELREPOSITORYJFROGPROJECTDETAILS = DESCRIPTOR.message_types_by_name['ModelRepositoryJFrogProjectDetails']
39
- _MODELREPOSITORYJFROGSPEC = DESCRIPTOR.message_types_by_name['ModelRepositoryJFrogSpec']
40
40
  _MODELREPOSITORYARTIFACTORYDETAILS = DESCRIPTOR.message_types_by_name['ModelRepositoryArtifactoryDetails']
41
41
  _ARTIFACTORYREPOSITORYDETAILS = DESCRIPTOR.message_types_by_name['ArtifactoryRepositoryDetails']
42
42
  _PROJECTSPEC_STATUS = _PROJECTSPEC.enum_types_by_name['Status']
@@ -152,13 +152,6 @@ ModelRepositoryJFrogProjectDetails = _reflection.GeneratedProtocolMessageType('M
152
152
  })
153
153
  _sym_db.RegisterMessage(ModelRepositoryJFrogProjectDetails)
154
154
 
155
- ModelRepositoryJFrogSpec = _reflection.GeneratedProtocolMessageType('ModelRepositoryJFrogSpec', (_message.Message,), {
156
- 'DESCRIPTOR' : _MODELREPOSITORYJFROGSPEC,
157
- '__module__' : 'qwak.projects.projects_pb2'
158
- # @@protoc_insertion_point(class_scope:qwak.projects.management.ModelRepositoryJFrogSpec)
159
- })
160
- _sym_db.RegisterMessage(ModelRepositoryJFrogSpec)
161
-
162
155
  ModelRepositoryArtifactoryDetails = _reflection.GeneratedProtocolMessageType('ModelRepositoryArtifactoryDetails', (_message.Message,), {
163
156
  'DESCRIPTOR' : _MODELREPOSITORYARTIFACTORYDETAILS,
164
157
  '__module__' : 'qwak.projects.projects_pb2'
@@ -180,46 +173,44 @@ if _descriptor._USE_C_DESCRIPTORS == False:
180
173
  DESCRIPTOR._serialized_options = b'\n#com.qwak.ai.management.projects.apiP\001'
181
174
  _PROJECT.fields_by_name['models']._options = None
182
175
  _PROJECT.fields_by_name['models']._serialized_options = b'\030\001'
183
- _CREATEPROJECTREQUEST._serialized_start=118
184
- _CREATEPROJECTREQUEST._serialized_end=263
185
- _CREATEPROJECTRESPONSE._serialized_start=265
186
- _CREATEPROJECTRESPONSE._serialized_end=344
187
- _LISTPROJECTSREQUEST._serialized_start=346
188
- _LISTPROJECTSREQUEST._serialized_end=367
189
- _LISTPROJECTSRESPONSE._serialized_start=369
190
- _LISTPROJECTSRESPONSE._serialized_end=448
191
- _GETPROJECTREQUEST._serialized_start=450
192
- _GETPROJECTREQUEST._serialized_end=511
193
- _GETPROJECTRESPONSE._serialized_start=513
194
- _GETPROJECTRESPONSE._serialized_end=585
195
- _DELETEPROJECTREQUEST._serialized_start=587
196
- _DELETEPROJECTREQUEST._serialized_end=629
197
- _DELETEPROJECTRESPONSE._serialized_start=631
198
- _DELETEPROJECTRESPONSE._serialized_end=668
199
- _UPDATEPROJECTREQUEST._serialized_start=670
200
- _UPDATEPROJECTREQUEST._serialized_end=793
201
- _UPDATEPROJECTRESPONSE._serialized_start=795
202
- _UPDATEPROJECTRESPONSE._serialized_end=879
203
- _PROJECT._serialized_start=882
204
- _PROJECT._serialized_end=1054
205
- _PROJECTSPEC._serialized_start=1057
206
- _PROJECTSPEC._serialized_end=1548
207
- _PROJECTSPEC_STATUS._serialized_start=1486
208
- _PROJECTSPEC_STATUS._serialized_end=1548
209
- _PROJECTSPECCONFIGURATION._serialized_start=1550
210
- _PROJECTSPECCONFIGURATION._serialized_end=1627
211
- _MODELREPOSITORYJFROGSETTINGS._serialized_start=1630
212
- _MODELREPOSITORYJFROGSETTINGS._serialized_end=1935
213
- _MODELREPOSITORYPULLIMAGESECRET._serialized_start=1937
214
- _MODELREPOSITORYPULLIMAGESECRET._serialized_end=2001
215
- _MODELREPOSITORYJFROGPROJECTDETAILS._serialized_start=2003
216
- _MODELREPOSITORYJFROGPROJECTDETAILS._serialized_end=2066
217
- _MODELREPOSITORYJFROGSPEC._serialized_start=2068
218
- _MODELREPOSITORYJFROGSPEC._serialized_end=2151
219
- _MODELREPOSITORYARTIFACTORYDETAILS._serialized_start=2154
220
- _MODELREPOSITORYARTIFACTORYDETAILS._serialized_end=2465
221
- _ARTIFACTORYREPOSITORYDETAILS._serialized_start=2467
222
- _ARTIFACTORYREPOSITORYDETAILS._serialized_end=2521
223
- _PROJECTSMANAGEMENTSERVICE._serialized_start=2524
224
- _PROJECTSMANAGEMENTSERVICE._serialized_end=3109
176
+ _CREATEPROJECTREQUEST._serialized_start=158
177
+ _CREATEPROJECTREQUEST._serialized_end=303
178
+ _CREATEPROJECTRESPONSE._serialized_start=305
179
+ _CREATEPROJECTRESPONSE._serialized_end=384
180
+ _LISTPROJECTSREQUEST._serialized_start=386
181
+ _LISTPROJECTSREQUEST._serialized_end=407
182
+ _LISTPROJECTSRESPONSE._serialized_start=409
183
+ _LISTPROJECTSRESPONSE._serialized_end=488
184
+ _GETPROJECTREQUEST._serialized_start=490
185
+ _GETPROJECTREQUEST._serialized_end=551
186
+ _GETPROJECTRESPONSE._serialized_start=553
187
+ _GETPROJECTRESPONSE._serialized_end=625
188
+ _DELETEPROJECTREQUEST._serialized_start=627
189
+ _DELETEPROJECTREQUEST._serialized_end=669
190
+ _DELETEPROJECTRESPONSE._serialized_start=671
191
+ _DELETEPROJECTRESPONSE._serialized_end=708
192
+ _UPDATEPROJECTREQUEST._serialized_start=710
193
+ _UPDATEPROJECTREQUEST._serialized_end=833
194
+ _UPDATEPROJECTRESPONSE._serialized_start=835
195
+ _UPDATEPROJECTRESPONSE._serialized_end=919
196
+ _PROJECT._serialized_start=922
197
+ _PROJECT._serialized_end=1094
198
+ _PROJECTSPEC._serialized_start=1097
199
+ _PROJECTSPEC._serialized_end=1588
200
+ _PROJECTSPEC_STATUS._serialized_start=1526
201
+ _PROJECTSPEC_STATUS._serialized_end=1588
202
+ _PROJECTSPECCONFIGURATION._serialized_start=1590
203
+ _PROJECTSPECCONFIGURATION._serialized_end=1667
204
+ _MODELREPOSITORYJFROGSETTINGS._serialized_start=1670
205
+ _MODELREPOSITORYJFROGSETTINGS._serialized_end=1975
206
+ _MODELREPOSITORYPULLIMAGESECRET._serialized_start=1977
207
+ _MODELREPOSITORYPULLIMAGESECRET._serialized_end=2041
208
+ _MODELREPOSITORYJFROGPROJECTDETAILS._serialized_start=2043
209
+ _MODELREPOSITORYJFROGPROJECTDETAILS._serialized_end=2106
210
+ _MODELREPOSITORYARTIFACTORYDETAILS._serialized_start=2109
211
+ _MODELREPOSITORYARTIFACTORYDETAILS._serialized_end=2420
212
+ _ARTIFACTORYREPOSITORYDETAILS._serialized_start=2422
213
+ _ARTIFACTORYREPOSITORYDETAILS._serialized_end=2476
214
+ _PROJECTSMANAGEMENTSERVICE._serialized_start=2479
215
+ _PROJECTSMANAGEMENTSERVICE._serialized_end=3064
225
216
  # @@protoc_insertion_point(module_scope)
@@ -10,6 +10,7 @@ import google.protobuf.internal.enum_type_wrapper
10
10
  import google.protobuf.message
11
11
  import google.protobuf.timestamp_pb2
12
12
  import frogml_proto.qwak.models.models_pb2
13
+ import frogml_proto.qwak.projects.jfrog_project_spec_pb2
13
14
  import sys
14
15
  import typing
15
16
 
@@ -31,14 +32,14 @@ class CreateProjectRequest(google.protobuf.message.Message):
31
32
  project_description: builtins.str
32
33
  """Project description"""
33
34
  @property
34
- def jfrog_spec(self) -> global___ModelRepositoryJFrogSpec:
35
+ def jfrog_spec(self) -> frogml_proto.qwak.projects.jfrog_project_spec_pb2.ModelRepositoryJFrogSpec:
35
36
  """jfrog spec"""
36
37
  def __init__(
37
38
  self,
38
39
  *,
39
40
  project_name: builtins.str = ...,
40
41
  project_description: builtins.str = ...,
41
- jfrog_spec: global___ModelRepositoryJFrogSpec | None = ...,
42
+ jfrog_spec: frogml_proto.qwak.projects.jfrog_project_spec_pb2.ModelRepositoryJFrogSpec | None = ...,
42
43
  ) -> None: ...
43
44
  def HasField(self, field_name: typing_extensions.Literal["jfrog_spec", b"jfrog_spec"]) -> builtins.bool: ...
44
45
  def ClearField(self, field_name: typing_extensions.Literal["jfrog_spec", b"jfrog_spec", "project_description", b"project_description", "project_name", b"project_name"]) -> None: ...
@@ -376,23 +377,6 @@ class ModelRepositoryJFrogProjectDetails(google.protobuf.message.Message):
376
377
 
377
378
  global___ModelRepositoryJFrogProjectDetails = ModelRepositoryJFrogProjectDetails
378
379
 
379
- class ModelRepositoryJFrogSpec(google.protobuf.message.Message):
380
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
381
-
382
- JFROG_PROJECT_KEY_FIELD_NUMBER: builtins.int
383
- jfrog_project_key: builtins.str
384
- """JFrog project key"""
385
- def __init__(
386
- self,
387
- *,
388
- jfrog_project_key: builtins.str = ...,
389
- ) -> None: ...
390
- def HasField(self, field_name: typing_extensions.Literal["jfrog_project_identifier", b"jfrog_project_identifier", "jfrog_project_key", b"jfrog_project_key"]) -> builtins.bool: ...
391
- def ClearField(self, field_name: typing_extensions.Literal["jfrog_project_identifier", b"jfrog_project_identifier", "jfrog_project_key", b"jfrog_project_key"]) -> None: ...
392
- def WhichOneof(self, oneof_group: typing_extensions.Literal["jfrog_project_identifier", b"jfrog_project_identifier"]) -> typing_extensions.Literal["jfrog_project_key"] | None: ...
393
-
394
- global___ModelRepositoryJFrogSpec = ModelRepositoryJFrogSpec
395
-
396
380
  class ModelRepositoryArtifactoryDetails(google.protobuf.message.Message):
397
381
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
398
382
 
@@ -1,6 +1,6 @@
1
1
  from datetime import datetime, timedelta
2
2
 
3
- from jose import jwt
3
+ import jwt
4
4
 
5
5
  from frogml_proto.qwak.administration.v0.authentication.authentication_service_pb2 import (
6
6
  AuthenticateRequest,
@@ -23,7 +23,7 @@ _payload = {
23
23
  "exp": epoch,
24
24
  }
25
25
 
26
- mock_jwt_token = jwt.encode(_payload, "secret", algorithm="HS256")
26
+ mock_jwt_token = jwt.encode(_payload, key="secret", algorithm="HS256")
27
27
 
28
28
 
29
29
  class AuthenticationServiceMock(AuthenticationServiceServicer):