frogml 1.2.37__py3-none-any.whl → 1.2.39__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/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  __author__ = "jfrog"
2
- __version__ = "1.2.37"
2
+ __version__ = "1.2.39"
3
3
 
4
4
  from frogml.sdk.model.decorators.api import api_decorator as api
5
5
  from frogml.sdk.model_loggers.model_logger import load_model, log_model
@@ -21,7 +21,7 @@ from frogml._proto.qwak.deployment import deployment_pb2 as qwak_dot_deployment_
21
21
  from frogml._proto.qwak.build.v1 import build_pb2 as qwak_dot_build_dot_v1_dot_build__pb2
22
22
 
23
23
 
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\x1eqwak/models/models_query.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\"\xf0\x01\n\x1aListModelsPaginatedRequest\x12\x13\n\tpage_size\x18\x01 \x01(\x05H\x00\x12\x10\n\x06\x63ursor\x18\x02 \x01(\tH\x01\x12\x39\n\x0bsort_models\x18\x03 \x01(\x0b\x32\".qwak.models.management.SortModelsH\x02\x12\x30\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x1e.qwak.models.management.FilterH\x03\x42\x0f\n\rpage_size_optB\x0c\n\ncursor_optB\x11\n\x0fsort_models_optB\x0c\n\nfilter_opt\"\x8a\x01\n\x1bListModelsPaginatedResponse\x12-\n\x06models\x18\x01 \x03(\x0b\x32\x1d.qwak.models.management.Model\x12<\n\x08metadata\x18\x02 \x01(\x0b\x32*.qwak.models.management.PaginationMetadata\"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\"i\n CheckModelCreationAllowedRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10model_group_name\x18\x02 \x01(\t\x12\x19\n\x11jfrog_project_key\x18\x03 \x01(\t\"\x9b\x02\n!CheckModelCreationAllowedResponse\x12\x14\n\x0cis_creatable\x18\x01 \x01(\x08\x12;\n\x0cmodel_exists\x18\x02 \x01(\x0b\x32#.qwak.models.management.ModelExistsH\x00\x12\x42\n\x10model_not_exists\x18\x03 \x01(\x0b\x32&.qwak.models.management.ModelNotExistsH\x00\x12U\n\x1amodel_exists_with_mismatch\x18\x04 \x01(\x0b\x32/.qwak.models.management.ModelExistsWithMismatchH\x00\x42\x08\n\x06status\"\r\n\x0bModelExists\"\x10\n\x0eModelNotExists\"*\n\x17ModelExistsWithMismatch\x12\x0f\n\x07\x64\x65tails\x18\x01 \x03(\t*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\xf3\x0b\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\x13ListModelsPaginated\x12\x32.qwak.models.management.ListModelsPaginatedRequest\x1a\x33.qwak.models.management.ListModelsPaginatedResponse\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.GetModelMetadataResponse\x12\x90\x01\n\x19\x43heckModelCreationAllowed\x12\x38.qwak.models.management.CheckModelCreationAllowedRequest\x1a\x39.qwak.models.management.CheckModelCreationAllowedResponseB%\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\x1eqwak/models/models_query.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\"\xf0\x01\n\x1aListModelsPaginatedRequest\x12\x13\n\tpage_size\x18\x01 \x01(\x05H\x00\x12\x10\n\x06\x63ursor\x18\x02 \x01(\tH\x01\x12\x39\n\x0bsort_models\x18\x03 \x01(\x0b\x32\".qwak.models.management.SortModelsH\x02\x12\x30\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x1e.qwak.models.management.FilterH\x03\x42\x0f\n\rpage_size_optB\x0c\n\ncursor_optB\x11\n\x0fsort_models_optB\x0c\n\nfilter_opt\"\x8a\x01\n\x1bListModelsPaginatedResponse\x12-\n\x06models\x18\x01 \x03(\x0b\x32\x1d.qwak.models.management.Model\x12<\n\x08metadata\x18\x02 \x01(\x0b\x32*.qwak.models.management.PaginationMetadata\"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\"E\n\x1bListModelsByModelIdsRequest\x12\x11\n\tmodel_ids\x18\x01 \x03(\t\x12\x13\n\x0bmodel_uuids\x18\x02 \x03(\t\":\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\"i\n CheckModelCreationAllowedRequest\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x18\n\x10model_group_name\x18\x02 \x01(\t\x12\x19\n\x11jfrog_project_key\x18\x03 \x01(\t\"\x9b\x02\n!CheckModelCreationAllowedResponse\x12\x14\n\x0cis_creatable\x18\x01 \x01(\x08\x12;\n\x0cmodel_exists\x18\x02 \x01(\x0b\x32#.qwak.models.management.ModelExistsH\x00\x12\x42\n\x10model_not_exists\x18\x03 \x01(\x0b\x32&.qwak.models.management.ModelNotExistsH\x00\x12U\n\x1amodel_exists_with_mismatch\x18\x04 \x01(\x0b\x32/.qwak.models.management.ModelExistsWithMismatchH\x00\x42\x08\n\x06status\"\r\n\x0bModelExists\"\x10\n\x0eModelNotExists\"*\n\x17ModelExistsWithMismatch\x12\x0f\n\x07\x64\x65tails\x18\x01 \x03(\t*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\xec\x0c\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\x13ListModelsPaginated\x12\x32.qwak.models.management.ListModelsPaginatedRequest\x1a\x33.qwak.models.management.ListModelsPaginatedResponse\x12]\n\x08GetModel\x12\'.qwak.models.management.GetModelRequest\x1a(.qwak.models.management.GetModelResponse\x12w\n\x14ListModelsByModelIds\x12\x33.qwak.models.management.ListModelsByModelIdsRequest\x1a*.qwak.models.management.ListModelsResponse\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.GetModelMetadataResponse\x12\x90\x01\n\x19\x43heckModelCreationAllowed\x12\x38.qwak.models.management.CheckModelCreationAllowedRequest\x1a\x39.qwak.models.management.CheckModelCreationAllowedResponseB%\n!com.qwak.ai.management.models.apiP\x01\x62\x06proto3')
25
25
 
26
26
  _globals = globals()
27
27
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -45,12 +45,12 @@ if _descriptor._USE_C_DESCRIPTORS == False:
45
45
  _globals['_MODELSMANAGEMENTSERVICE'].methods_by_name['DeleteBranch']._serialized_options = b'\210\002\001'
46
46
  _globals['_MODELSMANAGEMENTSERVICE'].methods_by_name['GetDeploymentDetails']._options = None
47
47
  _globals['_MODELSMANAGEMENTSERVICE'].methods_by_name['GetDeploymentDetails']._serialized_options = b'\210\002\001'
48
- _globals['_DEPLOYMENTMODELSTATUS']._serialized_start=5370
49
- _globals['_DEPLOYMENTMODELSTATUS']._serialized_end=5449
50
- _globals['_MODELSTATUS']._serialized_start=5451
51
- _globals['_MODELSTATUS']._serialized_end=5518
52
- _globals['_MEMORYUNIT']._serialized_start=5520
53
- _globals['_MEMORYUNIT']._serialized_end=5575
48
+ _globals['_DEPLOYMENTMODELSTATUS']._serialized_start=5441
49
+ _globals['_DEPLOYMENTMODELSTATUS']._serialized_end=5520
50
+ _globals['_MODELSTATUS']._serialized_start=5522
51
+ _globals['_MODELSTATUS']._serialized_end=5589
52
+ _globals['_MEMORYUNIT']._serialized_start=5591
53
+ _globals['_MEMORYUNIT']._serialized_end=5646
54
54
  _globals['_CREATEMODELREQUEST']._serialized_start=278
55
55
  _globals['_CREATEMODELREQUEST']._serialized_end=433
56
56
  _globals['_CREATEMODELRESPONSE']._serialized_start=435
@@ -67,76 +67,78 @@ if _descriptor._USE_C_DESCRIPTORS == False:
67
67
  _globals['_GETMODELREQUEST']._serialized_end=1043
68
68
  _globals['_GETMODELRESPONSE']._serialized_start=1045
69
69
  _globals['_GETMODELRESPONSE']._serialized_end=1109
70
- _globals['_DELETEMODELREQUEST']._serialized_start=1111
71
- _globals['_DELETEMODELREQUEST']._serialized_end=1169
72
- _globals['_DELETEMODELRESPONSE']._serialized_start=1171
73
- _globals['_DELETEMODELRESPONSE']._serialized_end=1192
74
- _globals['_UPDATEMODELREQUEST']._serialized_start=1194
75
- _globals['_UPDATEMODELREQUEST']._serialized_end=1307
76
- _globals['_UPDATEMODELRESPONSE']._serialized_start=1309
77
- _globals['_UPDATEMODELRESPONSE']._serialized_end=1385
78
- _globals['_CREATEBRANCHREQUEST']._serialized_start=1387
79
- _globals['_CREATEBRANCHREQUEST']._serialized_end=1447
80
- _globals['_CREATEBRANCHRESPONSE']._serialized_start=1449
81
- _globals['_CREATEBRANCHRESPONSE']._serialized_end=1490
82
- _globals['_DELETEBRANCHREQUEST']._serialized_start=1492
83
- _globals['_DELETEBRANCHREQUEST']._serialized_end=1532
84
- _globals['_DELETEBRANCHRESPONSE']._serialized_start=1534
85
- _globals['_DELETEBRANCHRESPONSE']._serialized_end=1556
86
- _globals['_ISMODELEXISTSREQUEST']._serialized_start=1558
87
- _globals['_ISMODELEXISTSREQUEST']._serialized_end=1636
88
- _globals['_ISMODELEXISTSRESPONSE']._serialized_start=1638
89
- _globals['_ISMODELEXISTSRESPONSE']._serialized_end=1677
90
- _globals['_MODELSPEC']._serialized_start=1680
91
- _globals['_MODELSPEC']._serialized_end=1898
92
- _globals['_MODELBRIEF']._serialized_start=1901
93
- _globals['_MODELBRIEF']._serialized_end=2228
94
- _globals['_MODELSPECCONFIGURATION']._serialized_start=2230
95
- _globals['_MODELSPECCONFIGURATION']._serialized_end=2281
96
- _globals['_MODEL']._serialized_start=2284
97
- _globals['_MODEL']._serialized_end=2912
98
- _globals['_MODELBUILDTYPE']._serialized_start=2915
99
- _globals['_MODELBUILDTYPE']._serialized_end=3065
100
- _globals['_SOURCE']._serialized_start=3067
101
- _globals['_SOURCE']._serialized_end=3075
102
- _globals['_MODELREGISTRYIMAGE']._serialized_start=3077
103
- _globals['_MODELREGISTRYIMAGE']._serialized_end=3128
104
- _globals['_BRANCH']._serialized_start=3131
105
- _globals['_BRANCH']._serialized_end=3366
106
- _globals['_BRANCH_BRANCHSTATUS']._serialized_start=3298
107
- _globals['_BRANCH_BRANCHSTATUS']._serialized_end=3366
108
- _globals['_GETDEPLOYMENTDETAILSREQUEST']._serialized_start=3368
109
- _globals['_GETDEPLOYMENTDETAILSREQUEST']._serialized_end=3434
110
- _globals['_GETDEPLOYMENTDETAILSRESPONSE']._serialized_start=3436
111
- _globals['_GETDEPLOYMENTDETAILSRESPONSE']._serialized_end=3537
112
- _globals['_DEPLOYMENTDETAILS']._serialized_start=3540
113
- _globals['_DEPLOYMENTDETAILS']._serialized_end=3815
114
- _globals['_LISTMODELSMETADATAREQUEST']._serialized_start=3817
115
- _globals['_LISTMODELSMETADATAREQUEST']._serialized_end=3864
116
- _globals['_LISTMODELSMETADATARESPONSE']._serialized_start=3866
117
- _globals['_LISTMODELSMETADATARESPONSE']._serialized_end=3957
118
- _globals['_GETMODELMETADATAREQUEST']._serialized_start=3959
119
- _globals['_GETMODELMETADATAREQUEST']._serialized_end=4002
120
- _globals['_GETMODELMETADATARESPONSE']._serialized_start=4004
121
- _globals['_GETMODELMETADATARESPONSE']._serialized_end=4093
122
- _globals['_ENVIRONMENTROUTES']._serialized_start=4095
123
- _globals['_ENVIRONMENTROUTES']._serialized_end=4199
124
- _globals['_MODELMETADATA']._serialized_start=4202
125
- _globals['_MODELMETADATA']._serialized_end=4898
126
- _globals['_MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY']._serialized_start=4675
127
- _globals['_MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY']._serialized_end=4780
128
- _globals['_MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY']._serialized_start=4782
129
- _globals['_MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY']._serialized_end=4898
130
- _globals['_CHECKMODELCREATIONALLOWEDREQUEST']._serialized_start=4900
131
- _globals['_CHECKMODELCREATIONALLOWEDREQUEST']._serialized_end=5005
132
- _globals['_CHECKMODELCREATIONALLOWEDRESPONSE']._serialized_start=5008
133
- _globals['_CHECKMODELCREATIONALLOWEDRESPONSE']._serialized_end=5291
134
- _globals['_MODELEXISTS']._serialized_start=5293
135
- _globals['_MODELEXISTS']._serialized_end=5306
136
- _globals['_MODELNOTEXISTS']._serialized_start=5308
137
- _globals['_MODELNOTEXISTS']._serialized_end=5324
138
- _globals['_MODELEXISTSWITHMISMATCH']._serialized_start=5326
139
- _globals['_MODELEXISTSWITHMISMATCH']._serialized_end=5368
140
- _globals['_MODELSMANAGEMENTSERVICE']._serialized_start=5578
141
- _globals['_MODELSMANAGEMENTSERVICE']._serialized_end=7101
70
+ _globals['_LISTMODELSBYMODELIDSREQUEST']._serialized_start=1111
71
+ _globals['_LISTMODELSBYMODELIDSREQUEST']._serialized_end=1180
72
+ _globals['_DELETEMODELREQUEST']._serialized_start=1182
73
+ _globals['_DELETEMODELREQUEST']._serialized_end=1240
74
+ _globals['_DELETEMODELRESPONSE']._serialized_start=1242
75
+ _globals['_DELETEMODELRESPONSE']._serialized_end=1263
76
+ _globals['_UPDATEMODELREQUEST']._serialized_start=1265
77
+ _globals['_UPDATEMODELREQUEST']._serialized_end=1378
78
+ _globals['_UPDATEMODELRESPONSE']._serialized_start=1380
79
+ _globals['_UPDATEMODELRESPONSE']._serialized_end=1456
80
+ _globals['_CREATEBRANCHREQUEST']._serialized_start=1458
81
+ _globals['_CREATEBRANCHREQUEST']._serialized_end=1518
82
+ _globals['_CREATEBRANCHRESPONSE']._serialized_start=1520
83
+ _globals['_CREATEBRANCHRESPONSE']._serialized_end=1561
84
+ _globals['_DELETEBRANCHREQUEST']._serialized_start=1563
85
+ _globals['_DELETEBRANCHREQUEST']._serialized_end=1603
86
+ _globals['_DELETEBRANCHRESPONSE']._serialized_start=1605
87
+ _globals['_DELETEBRANCHRESPONSE']._serialized_end=1627
88
+ _globals['_ISMODELEXISTSREQUEST']._serialized_start=1629
89
+ _globals['_ISMODELEXISTSREQUEST']._serialized_end=1707
90
+ _globals['_ISMODELEXISTSRESPONSE']._serialized_start=1709
91
+ _globals['_ISMODELEXISTSRESPONSE']._serialized_end=1748
92
+ _globals['_MODELSPEC']._serialized_start=1751
93
+ _globals['_MODELSPEC']._serialized_end=1969
94
+ _globals['_MODELBRIEF']._serialized_start=1972
95
+ _globals['_MODELBRIEF']._serialized_end=2299
96
+ _globals['_MODELSPECCONFIGURATION']._serialized_start=2301
97
+ _globals['_MODELSPECCONFIGURATION']._serialized_end=2352
98
+ _globals['_MODEL']._serialized_start=2355
99
+ _globals['_MODEL']._serialized_end=2983
100
+ _globals['_MODELBUILDTYPE']._serialized_start=2986
101
+ _globals['_MODELBUILDTYPE']._serialized_end=3136
102
+ _globals['_SOURCE']._serialized_start=3138
103
+ _globals['_SOURCE']._serialized_end=3146
104
+ _globals['_MODELREGISTRYIMAGE']._serialized_start=3148
105
+ _globals['_MODELREGISTRYIMAGE']._serialized_end=3199
106
+ _globals['_BRANCH']._serialized_start=3202
107
+ _globals['_BRANCH']._serialized_end=3437
108
+ _globals['_BRANCH_BRANCHSTATUS']._serialized_start=3369
109
+ _globals['_BRANCH_BRANCHSTATUS']._serialized_end=3437
110
+ _globals['_GETDEPLOYMENTDETAILSREQUEST']._serialized_start=3439
111
+ _globals['_GETDEPLOYMENTDETAILSREQUEST']._serialized_end=3505
112
+ _globals['_GETDEPLOYMENTDETAILSRESPONSE']._serialized_start=3507
113
+ _globals['_GETDEPLOYMENTDETAILSRESPONSE']._serialized_end=3608
114
+ _globals['_DEPLOYMENTDETAILS']._serialized_start=3611
115
+ _globals['_DEPLOYMENTDETAILS']._serialized_end=3886
116
+ _globals['_LISTMODELSMETADATAREQUEST']._serialized_start=3888
117
+ _globals['_LISTMODELSMETADATAREQUEST']._serialized_end=3935
118
+ _globals['_LISTMODELSMETADATARESPONSE']._serialized_start=3937
119
+ _globals['_LISTMODELSMETADATARESPONSE']._serialized_end=4028
120
+ _globals['_GETMODELMETADATAREQUEST']._serialized_start=4030
121
+ _globals['_GETMODELMETADATAREQUEST']._serialized_end=4073
122
+ _globals['_GETMODELMETADATARESPONSE']._serialized_start=4075
123
+ _globals['_GETMODELMETADATARESPONSE']._serialized_end=4164
124
+ _globals['_ENVIRONMENTROUTES']._serialized_start=4166
125
+ _globals['_ENVIRONMENTROUTES']._serialized_end=4270
126
+ _globals['_MODELMETADATA']._serialized_start=4273
127
+ _globals['_MODELMETADATA']._serialized_end=4969
128
+ _globals['_MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY']._serialized_start=4746
129
+ _globals['_MODELMETADATA_AUDIENCEROUTESBYENVIRONMENTENTRY']._serialized_end=4851
130
+ _globals['_MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY']._serialized_start=4853
131
+ _globals['_MODELMETADATA_AUDIENCEROUTESGROUPEDBYENVIRONMENTENTRY']._serialized_end=4969
132
+ _globals['_CHECKMODELCREATIONALLOWEDREQUEST']._serialized_start=4971
133
+ _globals['_CHECKMODELCREATIONALLOWEDREQUEST']._serialized_end=5076
134
+ _globals['_CHECKMODELCREATIONALLOWEDRESPONSE']._serialized_start=5079
135
+ _globals['_CHECKMODELCREATIONALLOWEDRESPONSE']._serialized_end=5362
136
+ _globals['_MODELEXISTS']._serialized_start=5364
137
+ _globals['_MODELEXISTS']._serialized_end=5377
138
+ _globals['_MODELNOTEXISTS']._serialized_start=5379
139
+ _globals['_MODELNOTEXISTS']._serialized_end=5395
140
+ _globals['_MODELEXISTSWITHMISMATCH']._serialized_start=5397
141
+ _globals['_MODELEXISTSWITHMISMATCH']._serialized_end=5439
142
+ _globals['_MODELSMANAGEMENTSERVICE']._serialized_start=5649
143
+ _globals['_MODELSMANAGEMENTSERVICE']._serialized_end=7293
142
144
  # @@protoc_insertion_point(module_scope)
@@ -260,6 +260,30 @@ class GetModelResponse(google.protobuf.message.Message):
260
260
 
261
261
  global___GetModelResponse = GetModelResponse
262
262
 
263
+ @typing.final
264
+ class ListModelsByModelIdsRequest(google.protobuf.message.Message):
265
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
266
+
267
+ MODEL_IDS_FIELD_NUMBER: builtins.int
268
+ MODEL_UUIDS_FIELD_NUMBER: builtins.int
269
+ @property
270
+ def model_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
271
+ """The model ids"""
272
+
273
+ @property
274
+ def model_uuids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
275
+ """The model uuids"""
276
+
277
+ def __init__(
278
+ self,
279
+ *,
280
+ model_ids: collections.abc.Iterable[builtins.str] | None = ...,
281
+ model_uuids: collections.abc.Iterable[builtins.str] | None = ...,
282
+ ) -> None: ...
283
+ def ClearField(self, field_name: typing.Literal["model_ids", b"model_ids", "model_uuids", b"model_uuids"]) -> None: ...
284
+
285
+ global___ListModelsByModelIdsRequest = ListModelsByModelIdsRequest
286
+
263
287
  @typing.final
264
288
  class DeleteModelRequest(google.protobuf.message.Message):
265
289
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -34,6 +34,11 @@ class ModelsManagementServiceStub(object):
34
34
  request_serializer=qwak_dot_models_dot_models__pb2.GetModelRequest.SerializeToString,
35
35
  response_deserializer=qwak_dot_models_dot_models__pb2.GetModelResponse.FromString,
36
36
  )
37
+ self.ListModelsByModelIds = channel.unary_unary(
38
+ '/qwak.models.management.ModelsManagementService/ListModelsByModelIds',
39
+ request_serializer=qwak_dot_models_dot_models__pb2.ListModelsByModelIdsRequest.SerializeToString,
40
+ response_deserializer=qwak_dot_models_dot_models__pb2.ListModelsResponse.FromString,
41
+ )
37
42
  self.DeleteModel = channel.unary_unary(
38
43
  '/qwak.models.management.ModelsManagementService/DeleteModel',
39
44
  request_serializer=qwak_dot_models_dot_models__pb2.DeleteModelRequest.SerializeToString,
@@ -112,6 +117,13 @@ class ModelsManagementServiceServicer(object):
112
117
  context.set_details('Method not implemented!')
113
118
  raise NotImplementedError('Method not implemented!')
114
119
 
120
+ def ListModelsByModelIds(self, request, context):
121
+ """Get models by model IDs and model UUIDs
122
+ """
123
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
124
+ context.set_details('Method not implemented!')
125
+ raise NotImplementedError('Method not implemented!')
126
+
115
127
  def DeleteModel(self, request, context):
116
128
  """Delete model
117
129
  """
@@ -193,6 +205,11 @@ def add_ModelsManagementServiceServicer_to_server(servicer, server):
193
205
  request_deserializer=qwak_dot_models_dot_models__pb2.GetModelRequest.FromString,
194
206
  response_serializer=qwak_dot_models_dot_models__pb2.GetModelResponse.SerializeToString,
195
207
  ),
208
+ 'ListModelsByModelIds': grpc.unary_unary_rpc_method_handler(
209
+ servicer.ListModelsByModelIds,
210
+ request_deserializer=qwak_dot_models_dot_models__pb2.ListModelsByModelIdsRequest.FromString,
211
+ response_serializer=qwak_dot_models_dot_models__pb2.ListModelsResponse.SerializeToString,
212
+ ),
196
213
  'DeleteModel': grpc.unary_unary_rpc_method_handler(
197
214
  servicer.DeleteModel,
198
215
  request_deserializer=qwak_dot_models_dot_models__pb2.DeleteModelRequest.FromString,
@@ -316,6 +333,23 @@ class ModelsManagementService(object):
316
333
  options, channel_credentials,
317
334
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
318
335
 
336
+ @staticmethod
337
+ def ListModelsByModelIds(request,
338
+ target,
339
+ options=(),
340
+ channel_credentials=None,
341
+ call_credentials=None,
342
+ insecure=False,
343
+ compression=None,
344
+ wait_for_ready=None,
345
+ timeout=None,
346
+ metadata=None):
347
+ return grpc.experimental.unary_unary(request, target, '/qwak.models.management.ModelsManagementService/ListModelsByModelIds',
348
+ qwak_dot_models_dot_models__pb2.ListModelsByModelIdsRequest.SerializeToString,
349
+ qwak_dot_models_dot_models__pb2.ListModelsResponse.FromString,
350
+ options, channel_credentials,
351
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
352
+
319
353
  @staticmethod
320
354
  def DeleteModel(request,
321
355
  target,
@@ -71,7 +71,7 @@ from .results import (
71
71
  GetExecutionReportResult,
72
72
  StartExecutionResult,
73
73
  )
74
- from typing import List
74
+ from typing import List, Optional
75
75
 
76
76
  CLIENT_TIMEOUT = 180 # Seconds
77
77
 
@@ -359,15 +359,21 @@ class BatchJobManagerClient:
359
359
  except grpc.RpcError as e:
360
360
  raise FrogmlException(f"Failed to cancel execution, error is {e}")
361
361
 
362
- def get_execution_report(self, execution_id: str) -> GetExecutionReportResult:
362
+ def get_execution_report(
363
+ self,
364
+ execution_id: str,
365
+ model_id: Optional[str] = None,
366
+ model_group_name: Optional[str] = None,
367
+ ) -> GetExecutionReportResult:
363
368
  """
364
369
 
365
370
  Args:
366
- execution_id: the batch execution id to get the current status of
371
+ execution_id: The batch execution id to get the report for.
372
+ model_id: The model ID. This is the display name(identifier), not the UUID.
373
+ model_group_name: The model group name.
367
374
 
368
375
  Returns:
369
- A full report of all the events that occurred as part of the execution job
370
-
376
+ A full report of all the events that occurred as part of the execution job.
371
377
  """
372
378
  try:
373
379
  self.logging_client = (
@@ -383,7 +389,9 @@ class BatchJobManagerClient:
383
389
  try:
384
390
  execution_log_response: ReadLogsResponse = (
385
391
  self.logging_client.read_execution_models_logs(
386
- execution_id=execution_id
392
+ execution_id=execution_id,
393
+ model_id=model_id,
394
+ model_group_name=model_group_name,
387
395
  )
388
396
  )
389
397
  execution_logs = execution_log_response.log_line
@@ -49,15 +49,41 @@ class LoggingClient:
49
49
 
50
50
  def read_build_logs(
51
51
  self,
52
- build_id=None,
53
- before_offset=None,
54
- after_offset=None,
55
- max_number_of_results=None,
56
- log_text_filter=None,
57
- ):
52
+ build_id: Optional[str] = None,
53
+ before_offset: Optional[str] = None,
54
+ after_offset: Optional[str] = None,
55
+ max_number_of_results: Optional[int] = None,
56
+ log_text_filter: Optional[str] = None,
57
+ model_id: Optional[str] = None,
58
+ model_group_name: Optional[str] = None,
59
+ ) -> ReadLogsResponse:
60
+ """
61
+ Read logs for a remote build.
62
+
63
+ Args:
64
+ build_id: The build ID to fetch logs for
65
+ before_offset: Optional offset to read logs before this point
66
+ after_offset: Optional offset to read logs after this point
67
+ max_number_of_results: Optional maximum number of log lines to return
68
+ log_text_filter: Optional text filter to search for in logs
69
+ model_id: The model ID. This is the display name(identifier), not the UUID.
70
+ model_group_name: The model group name.
71
+
72
+ Returns:
73
+ ReadLogsResponse containing the log lines
74
+
75
+ Raises:
76
+ FrogmlException: If reading logs fails
77
+ """
58
78
  try:
79
+ remote_build_source = RemoteBuildSource(
80
+ build_id=build_id,
81
+ model_id=model_id,
82
+ model_group_name=model_group_name,
83
+ )
84
+
59
85
  response = self.read_logs(
60
- source=LogSource(remote_build=RemoteBuildSource(build_id=build_id)),
86
+ source=LogSource(remote_build=remote_build_source),
61
87
  before_offset=before_offset,
62
88
  after_offset=after_offset,
63
89
  log_text_filter=log_text_filter,
@@ -70,20 +96,44 @@ class LoggingClient:
70
96
 
71
97
  def read_model_runtime_logs(
72
98
  self,
73
- build_id=None,
74
- deployment_id=None,
75
- before_offset=None,
76
- after_offset=None,
77
- max_number_of_results=None,
78
- log_text_filter=None,
99
+ build_id: Optional[str] = None,
100
+ deployment_id: Optional[str] = None,
101
+ before_offset: Optional[str] = None,
102
+ after_offset: Optional[str] = None,
103
+ max_number_of_results: Optional[int] = None,
104
+ log_text_filter: Optional[str] = None,
105
+ model_id: Optional[str] = None,
106
+ model_group_name: Optional[str] = None,
79
107
  ) -> ReadLogsResponse:
108
+ """
109
+ Read logs for a model runtime (deployment).
110
+
111
+ Args:
112
+ build_id: The build ID to fetch logs for
113
+ deployment_id: The deployment ID to fetch logs for
114
+ before_offset: Optional offset to read logs before this point
115
+ after_offset: Optional offset to read logs after this point
116
+ max_number_of_results: Optional maximum number of log lines to return
117
+ log_text_filter: Optional text filter to search for in logs
118
+ model_id: The model ID. This is the display name(identifier), not the UUID.
119
+ model_group_name: The model group name.
120
+
121
+ Returns:
122
+ ReadLogsResponse containing the log lines
123
+
124
+ Raises:
125
+ FrogmlException: If reading logs fails
126
+ """
80
127
  try:
128
+ model_runtime_source = ModelRuntimeSource(
129
+ build_id=build_id,
130
+ deployment_id=deployment_id,
131
+ model_id=model_id,
132
+ model_group_name=model_group_name,
133
+ )
134
+
81
135
  response = self.read_logs(
82
- source=LogSource(
83
- model_runtime=ModelRuntimeSource(
84
- build_id=build_id, deployment_id=deployment_id
85
- )
86
- ),
136
+ source=LogSource(model_runtime=model_runtime_source),
87
137
  before_offset=before_offset,
88
138
  after_offset=after_offset,
89
139
  log_text_filter=log_text_filter,
@@ -96,19 +146,41 @@ class LoggingClient:
96
146
 
97
147
  def read_execution_models_logs(
98
148
  self,
99
- execution_id,
100
- before_offset=None,
101
- after_offset=None,
102
- max_number_of_results=None,
103
- log_text_filter=None,
149
+ execution_id: str,
150
+ before_offset: Optional[str] = None,
151
+ after_offset: Optional[str] = None,
152
+ max_number_of_results: Optional[int] = None,
153
+ log_text_filter: Optional[str] = None,
154
+ model_id: Optional[str] = None,
155
+ model_group_name: Optional[str] = None,
104
156
  ) -> ReadLogsResponse:
157
+ """
158
+ Read logs for a model inference execution (batch job).
159
+
160
+ Args:
161
+ execution_id: The execution/inference job ID to fetch logs for
162
+ before_offset: Optional offset to read logs before this point
163
+ after_offset: Optional offset to read logs after this point
164
+ max_number_of_results: Optional maximum number of log lines to return
165
+ log_text_filter: Optional text filter to search for in logs
166
+ model_id: The model ID. This is the display name(identifier), not the UUID.
167
+ model_group_name: The model group name.
168
+
169
+ Returns:
170
+ ReadLogsResponse containing the log lines
171
+
172
+ Raises:
173
+ FrogmlException: If reading logs fails
174
+ """
105
175
  try:
176
+ inference_execution_source = InferenceExecutionSource(
177
+ inference_job_id=execution_id,
178
+ model_id=model_id,
179
+ model_group_name=model_group_name,
180
+ )
181
+
106
182
  response = self.read_logs(
107
- source=LogSource(
108
- inference_execution=InferenceExecutionSource(
109
- inference_job_id=execution_id
110
- )
111
- ),
183
+ source=LogSource(inference_execution=inference_execution_source),
112
184
  before_offset=before_offset,
113
185
  after_offset=after_offset,
114
186
  log_text_filter=log_text_filter,
@@ -122,12 +194,25 @@ class LoggingClient:
122
194
  @grpc_try_catch_wrapper("Failed to read logs request")
123
195
  def read_logs(
124
196
  self,
125
- source,
126
- before_offset,
127
- after_offset,
128
- max_number_of_results,
129
- log_text_filter,
197
+ source: LogSource,
198
+ before_offset: Optional[str],
199
+ after_offset: Optional[str],
200
+ max_number_of_results: Optional[int],
201
+ log_text_filter: Optional[str],
130
202
  ) -> ReadLogsResponse:
203
+ """
204
+ Low-level method to read logs from any source.
205
+
206
+ Args:
207
+ source: The log source to read from
208
+ before_offset: Optional offset to read logs before this point
209
+ after_offset: Optional offset to read logs after this point
210
+ max_number_of_results: Optional maximum number of log lines to return
211
+ log_text_filter: Optional text filter to search for in logs
212
+
213
+ Returns:
214
+ ReadLogsResponse containing the log lines
215
+ """
131
216
  response: ReadLogsResponse = self._logging_service.ReadLogs(
132
217
  ReadLogsRequest(
133
218
  source=source,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: frogml
3
- Version: 1.2.37
3
+ Version: 1.2.39
4
4
  Summary: frogml contains the necessary objects and communication tools for using the JFrog ml Platform
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -1,4 +1,4 @@
1
- frogml/__init__.py,sha256=ho5VcYluDFFuPfQz7VnMgeySBaT4a_YS4li3VUGFxqs,741
1
+ frogml/__init__.py,sha256=R9rCscnmMzh7Gs7DDZeWQZkE-FFQRsoJIjhY6yVZQ6Q,741
2
2
  frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.py,sha256=pY7-QarLJWbL9uNmZ69RfE7IPVzwpVIhtd3A0wztSNY,1942
3
3
  frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2.pyi,sha256=505I4uUrCmv2hsUw2H5eT-nlkNOCQOWodpvEkH2fHIo,3073
4
4
  frogml/_proto/jfml/hosting_gateway/v1/build_upload_url_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -542,9 +542,9 @@ frogml/_proto/qwak/model_group/model_group_pb2_grpc.py,sha256=YgDt3DtagEdZ7UtxcP
542
542
  frogml/_proto/qwak/model_group/model_group_repository_details_pb2.py,sha256=BxaVjDayd9h5Va2ZId3pNPeJFAqVXb8TJHIWmYsURN4,3806
543
543
  frogml/_proto/qwak/model_group/model_group_repository_details_pb2.pyi,sha256=3oCsYmmfvBjGkA1nRcx2cg11WNr40uuR3gAWXC7Wz2I,7245
544
544
  frogml/_proto/qwak/model_group/model_group_repository_details_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
545
- frogml/_proto/qwak/models/models_pb2.py,sha256=XF3-e8xW62ymbg7xGRCwc4fNsgXV2UZJ1lPgv47Ylkk,19046
546
- frogml/_proto/qwak/models/models_pb2.pyi,sha256=m2NGA7K3Jz3YFp8nOW4l_AB5kgjJUEDmr3xMUPYu3Dc,42638
547
- frogml/_proto/qwak/models/models_pb2_grpc.py,sha256=iOfvU_txYazEBCR2rlFlD3BXLseuSjKzXqCcwfI60h4,23627
545
+ frogml/_proto/qwak/models/models_pb2.py,sha256=jtw5KSbMwX5q6NVhfA5eblpJIANVavURyYvmXYvFVr0,19427
546
+ frogml/_proto/qwak/models/models_pb2.pyi,sha256=c8e6l8fxCXXJmlyV9GSZ7PTThelw79sCYiEpMKaMRZE,43564
547
+ frogml/_proto/qwak/models/models_pb2_grpc.py,sha256=7HZ5RwIk9I0MOHMOvZhvPFq_UIKwVdjZ79N3h-dlk8o,25406
548
548
  frogml/_proto/qwak/models/models_query_pb2.py,sha256=ZDEx_w4JgAL1q2wNOq5qkXiO5DctBgVRWbjrpOmOzbo,2880
549
549
  frogml/_proto/qwak/models/models_query_pb2.pyi,sha256=JEWkO0TXbGD2uKElgZB6VNPfYoq99GQ3Nj3jHObBQ2s,7490
550
550
  frogml/_proto/qwak/models/models_query_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
@@ -656,7 +656,7 @@ frogml/core/clients/automation_management/client.py,sha256=Dk6SsZGMLaVDLLzvFBysL
656
656
  frogml/core/clients/autoscaling/__init__.py,sha256=A-zuZOWaZf16NjnpX38204m730c5Lde491KaXneGirE,38
657
657
  frogml/core/clients/autoscaling/client.py,sha256=d1BoUH4hBiqoSR6ZM2_Ds6H7gV9HZPM2IIYNDbjPGgY,1299
658
658
  frogml/core/clients/batch_job_management/__init__.py,sha256=zywxYf2JupkIWnGVB2C6ugZs5CrOdxTPrksD5P6uQu4,211
659
- frogml/core/clients/batch_job_management/client.py,sha256=yym_GRJlB2qWnFf58EK2i7iD4llSj3FwmjdmIEdBSRc,22621
659
+ frogml/core/clients/batch_job_management/client.py,sha256=TBN_9MkHXW342PLRepUckuQmA_gLPPrq5VavkkDtnCQ,22979
660
660
  frogml/core/clients/batch_job_management/executions_config.py,sha256=tyQbNiIAo3U4t_vyQp8nY17U0oQIyuE5GLW5WqhDxjA,7045
661
661
  frogml/core/clients/batch_job_management/results.py,sha256=nrFGZ3y538FBhej94CYV4cwqQssK1aUQOLGubYdQVrc,1846
662
662
  frogml/core/clients/build_orchestrator/__init__.py,sha256=ReW7Lbjws06MbVlCTRdsymDZiS2CKuczXIZ1xnPKSdg,105
@@ -691,7 +691,7 @@ frogml/core/clients/kube_deployment_captain/client.py,sha256=la4V7WsVL1z4zuLQtPZ
691
691
  frogml/core/clients/location_discovery/__init__.py,sha256=sqGQ75YHFE6nvOcir38fykUUmAa6cFEIze8PJYgYWRc,44
692
692
  frogml/core/clients/location_discovery/client.py,sha256=ZcBbbLqzZ9E7oLyamBTLTpp611LldhfFOSkzWroyIQg,2895
693
693
  frogml/core/clients/logging_client/__init__.py,sha256=1OCHnigQBYThBwGbxCreYA0BgP0HcuLFzNEWd3Yxh-c,34
694
- frogml/core/clients/logging_client/client.py,sha256=vq2Fv7UAEnrG910Npp1COxxWQ2_NWofbAStPkLhiz1w,4836
694
+ frogml/core/clients/logging_client/client.py,sha256=ZTRRPrcM2cqrZX9T3DvIr0YICrhDK91P4CDP-ei_ZjQ,8599
695
695
  frogml/core/clients/model_group_management/__init__.py,sha256=f-nExP4vGWoWMUrRstY8QdtPqXnbsl2Ux0KfFkvGBkg,47
696
696
  frogml/core/clients/model_group_management/client.py,sha256=F8YCbfyphcljb8WxpeY7H7wnPpksyaKQ2ZOKi03RU6M,2016
697
697
  frogml/core/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
@@ -1147,6 +1147,6 @@ frogml_services_mock/mocks/utils/exception_handlers.py,sha256=k_8mez3cwjNjKE9yGQ
1147
1147
  frogml_services_mock/services_mock.py,sha256=y1_h189Ldu5MdVUW4nj-WMBtvUfkM_aKse7UfAb6Rxk,19419
1148
1148
  frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1149
1149
  frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1150
- frogml-1.2.37.dist-info/METADATA,sha256=twB7XLyJSr6AgiZSI-mgf4EpcBJ54r9pw1kG1HU7LUw,5599
1151
- frogml-1.2.37.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1152
- frogml-1.2.37.dist-info/RECORD,,
1150
+ frogml-1.2.39.dist-info/METADATA,sha256=H5aSy_IkGZt6boZicvagD2u8ca7pMhADbJ8SbXBnaOc,5599
1151
+ frogml-1.2.39.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
1152
+ frogml-1.2.39.dist-info/RECORD,,