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 +1 -1
- frogml_core/clients/model_management/client.py +2 -1
- frogml_core/clients/model_version_manager/client.py +5 -4
- frogml_core/utils/model_utils.py +2 -0
- {frogml_core-0.0.3.dist-info → frogml_core-0.0.5.dist-info}/METADATA +3 -5
- {frogml_core-0.0.3.dist-info → frogml_core-0.0.5.dist-info}/RECORD +15 -11
- frogml_proto/qwak/models/models_pb2.py +82 -81
- frogml_proto/qwak/models/models_pb2.pyi +8 -2
- frogml_proto/qwak/projects/jfrog_project_spec_pb2.py +35 -0
- frogml_proto/qwak/projects/jfrog_project_spec_pb2.pyi +32 -0
- frogml_proto/qwak/projects/jfrog_project_spec_pb2_grpc.py +4 -0
- frogml_proto/qwak/projects/projects_pb2.py +42 -51
- frogml_proto/qwak/projects/projects_pb2.pyi +3 -19
- frogml_services_mock/mocks/authentication_service.py +2 -2
- {frogml_core-0.0.3.dist-info → frogml_core-0.0.5.dist-info}/WHEEL +0 -0
    
        frogml_core/__init__.py
    CHANGED
    
    
| @@ -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 | 
| 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 | 
            -
                     | 
| 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= | 
| 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 | 
            -
                             | 
| 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 | 
            -
                             | 
| 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,
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Metadata-Version: 2.3
         | 
| 2 2 | 
             
            Name: frogml-core
         | 
| 3 | 
            -
            Version: 0.0. | 
| 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) ;  | 
| 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= | 
| 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= | 
| 74 | 
            +
            frogml_core/clients/model_management/client.py,sha256=rXnzcP3-pfXCVG0KlcCwbdeIJ1iFzV84JYtyNC8n-x8,4575
         | 
| 75 75 | 
             
            frogml_core/clients/model_version_manager/__init__.py,sha256=4Pnfzj4Egps48__dProdbSKQl5pNip0hGJd75w67BfY,46
         | 
| 76 | 
            -
            frogml_core/clients/model_version_manager/client.py,sha256 | 
| 76 | 
            +
            frogml_core/clients/model_version_manager/client.py,sha256=-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= | 
| 866 | 
            -
            frogml_proto/qwak/models/models_pb2.pyi,sha256= | 
| 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/ | 
| 890 | 
            -
            frogml_proto/qwak/projects/ | 
| 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= | 
| 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. | 
| 1013 | 
            -
            frogml_core-0.0. | 
| 1014 | 
            -
            frogml_core-0.0. | 
| 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\" | 
| 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= | 
| 348 | 
            -
              _DEPLOYMENTMODELSTATUS._serialized_end= | 
| 349 | 
            -
              _MODELSTATUS._serialized_start= | 
| 350 | 
            -
              _MODELSTATUS._serialized_end= | 
| 351 | 
            -
              _MEMORYUNIT._serialized_start= | 
| 352 | 
            -
              _MEMORYUNIT._serialized_end= | 
| 353 | 
            -
              _CREATEMODELREQUEST._serialized_start= | 
| 354 | 
            -
              _CREATEMODELREQUEST._serialized_end= | 
| 355 | 
            -
              _CREATEMODELRESPONSE._serialized_start= | 
| 356 | 
            -
              _CREATEMODELRESPONSE._serialized_end= | 
| 357 | 
            -
              _LISTMODELSREQUEST._serialized_start= | 
| 358 | 
            -
              _LISTMODELSREQUEST._serialized_end= | 
| 359 | 
            -
              _LISTMODELSRESPONSE._serialized_start= | 
| 360 | 
            -
              _LISTMODELSRESPONSE._serialized_end= | 
| 361 | 
            -
              _GETMODELREQUEST._serialized_start= | 
| 362 | 
            -
              _GETMODELREQUEST._serialized_end= | 
| 363 | 
            -
              _GETMODELRESPONSE._serialized_start= | 
| 364 | 
            -
              _GETMODELRESPONSE._serialized_end= | 
| 365 | 
            -
              _DELETEMODELREQUEST._serialized_start= | 
| 366 | 
            -
              _DELETEMODELREQUEST._serialized_end= | 
| 367 | 
            -
              _DELETEMODELRESPONSE._serialized_start= | 
| 368 | 
            -
              _DELETEMODELRESPONSE._serialized_end= | 
| 369 | 
            -
              _UPDATEMODELREQUEST._serialized_start= | 
| 370 | 
            -
              _UPDATEMODELREQUEST._serialized_end= | 
| 371 | 
            -
              _UPDATEMODELRESPONSE._serialized_start= | 
| 372 | 
            -
              _UPDATEMODELRESPONSE._serialized_end= | 
| 373 | 
            -
              _CREATEBRANCHREQUEST._serialized_start= | 
| 374 | 
            -
              _CREATEBRANCHREQUEST._serialized_end= | 
| 375 | 
            -
              _CREATEBRANCHRESPONSE._serialized_start= | 
| 376 | 
            -
              _CREATEBRANCHRESPONSE._serialized_end= | 
| 377 | 
            -
              _DELETEBRANCHREQUEST._serialized_start= | 
| 378 | 
            -
              _DELETEBRANCHREQUEST._serialized_end= | 
| 379 | 
            -
              _DELETEBRANCHRESPONSE._serialized_start= | 
| 380 | 
            -
              _DELETEBRANCHRESPONSE._serialized_end= | 
| 381 | 
            -
              _ISMODELEXISTSREQUEST._serialized_start= | 
| 382 | 
            -
              _ISMODELEXISTSREQUEST._serialized_end= | 
| 383 | 
            -
              _ISMODELEXISTSRESPONSE._serialized_start= | 
| 384 | 
            -
              _ISMODELEXISTSRESPONSE._serialized_end= | 
| 385 | 
            -
              _MODELSPEC._serialized_start= | 
| 386 | 
            -
              _MODELSPEC._serialized_end= | 
| 387 | 
            -
              _MODELBRIEF._serialized_start= | 
| 388 | 
            -
              _MODELBRIEF._serialized_end= | 
| 389 | 
            -
              _MODELSPECCONFIGURATION._serialized_start= | 
| 390 | 
            -
              _MODELSPECCONFIGURATION._serialized_end= | 
| 391 | 
            -
              _MODEL._serialized_start= | 
| 392 | 
            -
              _MODEL._serialized_end= | 
| 393 | 
            -
              _MODELBUILDTYPE._serialized_start= | 
| 394 | 
            -
              _MODELBUILDTYPE._serialized_end= | 
| 395 | 
            -
              _SOURCE._serialized_start= | 
| 396 | 
            -
              _SOURCE._serialized_end= | 
| 397 | 
            -
              _MODELREGISTRYIMAGE._serialized_start= | 
| 398 | 
            -
              _MODELREGISTRYIMAGE._serialized_end= | 
| 399 | 
            -
              _BRANCH._serialized_start= | 
| 400 | 
            -
              _BRANCH._serialized_end= | 
| 401 | 
            -
              _BRANCH_BRANCHSTATUS._serialized_start= | 
| 402 | 
            -
              _BRANCH_BRANCHSTATUS._serialized_end= | 
| 403 | 
            -
              _GETDEPLOYMENTDETAILSREQUEST._serialized_start= | 
| 404 | 
            -
              _GETDEPLOYMENTDETAILSREQUEST._serialized_end= | 
| 405 | 
            -
              _GETDEPLOYMENTDETAILSRESPONSE._serialized_start= | 
| 406 | 
            -
              _GETDEPLOYMENTDETAILSRESPONSE._serialized_end= | 
| 407 | 
            -
              _DEPLOYMENTDETAILS._serialized_start= | 
| 408 | 
            -
              _DEPLOYMENTDETAILS._serialized_end= | 
| 409 | 
            -
              _LISTMODELSMETADATAREQUEST._serialized_start= | 
| 410 | 
            -
              _LISTMODELSMETADATAREQUEST._serialized_end= | 
| 411 | 
            -
              _LISTMODELSMETADATARESPONSE._serialized_start= | 
| 412 | 
            -
              _LISTMODELSMETADATARESPONSE._serialized_end= | 
| 413 | 
            -
              _GETMODELMETADATAREQUEST._serialized_start= | 
| 414 | 
            -
              _GETMODELMETADATAREQUEST._serialized_end= | 
| 415 | 
            -
              _GETMODELMETADATARESPONSE._serialized_start= | 
| 416 | 
            -
              _GETMODELMETADATARESPONSE._serialized_end= | 
| 417 | 
            -
              _ENVIRONMENTROUTES._serialized_start= | 
| 418 | 
            -
              _ENVIRONMENTROUTES._serialized_end= | 
| 419 | 
            -
              _MODELMETADATA._serialized_start= | 
| 420 | 
            -
              _MODELMETADATA._serialized_end= | 
| 421 | 
            -
              _MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY._serialized_start= | 
| 422 | 
            -
              _MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY._serialized_end= | 
| 423 | 
            -
              _MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY._serialized_start= | 
| 424 | 
            -
              _MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY._serialized_end= | 
| 425 | 
            -
              _MODELSMANAGEMENTSERVICE._serialized_start= | 
| 426 | 
            -
              _MODELSMANAGEMENTSERVICE._serialized_end= | 
| 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
         | 
| @@ -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\" | 
| 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= | 
| 184 | 
            -
              _CREATEPROJECTREQUEST._serialized_end= | 
| 185 | 
            -
              _CREATEPROJECTRESPONSE._serialized_start= | 
| 186 | 
            -
              _CREATEPROJECTRESPONSE._serialized_end= | 
| 187 | 
            -
              _LISTPROJECTSREQUEST._serialized_start= | 
| 188 | 
            -
              _LISTPROJECTSREQUEST._serialized_end= | 
| 189 | 
            -
              _LISTPROJECTSRESPONSE._serialized_start= | 
| 190 | 
            -
              _LISTPROJECTSRESPONSE._serialized_end= | 
| 191 | 
            -
              _GETPROJECTREQUEST._serialized_start= | 
| 192 | 
            -
              _GETPROJECTREQUEST._serialized_end= | 
| 193 | 
            -
              _GETPROJECTRESPONSE._serialized_start= | 
| 194 | 
            -
              _GETPROJECTRESPONSE._serialized_end= | 
| 195 | 
            -
              _DELETEPROJECTREQUEST._serialized_start= | 
| 196 | 
            -
              _DELETEPROJECTREQUEST._serialized_end= | 
| 197 | 
            -
              _DELETEPROJECTRESPONSE._serialized_start= | 
| 198 | 
            -
              _DELETEPROJECTRESPONSE._serialized_end= | 
| 199 | 
            -
              _UPDATEPROJECTREQUEST._serialized_start= | 
| 200 | 
            -
              _UPDATEPROJECTREQUEST._serialized_end= | 
| 201 | 
            -
              _UPDATEPROJECTRESPONSE._serialized_start= | 
| 202 | 
            -
              _UPDATEPROJECTRESPONSE._serialized_end= | 
| 203 | 
            -
              _PROJECT._serialized_start= | 
| 204 | 
            -
              _PROJECT._serialized_end= | 
| 205 | 
            -
              _PROJECTSPEC._serialized_start= | 
| 206 | 
            -
              _PROJECTSPEC._serialized_end= | 
| 207 | 
            -
              _PROJECTSPEC_STATUS._serialized_start= | 
| 208 | 
            -
              _PROJECTSPEC_STATUS._serialized_end= | 
| 209 | 
            -
              _PROJECTSPECCONFIGURATION._serialized_start= | 
| 210 | 
            -
              _PROJECTSPECCONFIGURATION._serialized_end= | 
| 211 | 
            -
              _MODELREPOSITORYJFROGSETTINGS._serialized_start= | 
| 212 | 
            -
              _MODELREPOSITORYJFROGSETTINGS._serialized_end= | 
| 213 | 
            -
              _MODELREPOSITORYPULLIMAGESECRET._serialized_start= | 
| 214 | 
            -
              _MODELREPOSITORYPULLIMAGESECRET._serialized_end= | 
| 215 | 
            -
              _MODELREPOSITORYJFROGPROJECTDETAILS._serialized_start= | 
| 216 | 
            -
              _MODELREPOSITORYJFROGPROJECTDETAILS._serialized_end= | 
| 217 | 
            -
               | 
| 218 | 
            -
               | 
| 219 | 
            -
               | 
| 220 | 
            -
               | 
| 221 | 
            -
               | 
| 222 | 
            -
               | 
| 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) ->  | 
| 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:  | 
| 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 | 
            -
             | 
| 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):
         | 
| 
            File without changes
         |