qwak-core 0.4.200__py3-none-any.whl → 0.4.201__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.
qwak/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """Top-level package for qwak-core."""
2
2
 
3
3
  __author__ = "Qwak.ai"
4
- __version__ = "0.4.200"
4
+ __version__ = "0.4.201"
5
5
 
6
6
  from qwak.inner.di_configuration import wire_dependencies
7
7
  from qwak.model.experiment_tracking import log_metric, log_param
@@ -12,6 +12,7 @@ from _qwak_proto.qwak.models.models_pb2 import (
12
12
  ModelSpec,
13
13
  )
14
14
  from _qwak_proto.qwak.models.models_pb2_grpc import ModelsManagementServiceStub
15
+ from _qwak_proto.qwak.projects.jfrog_project_spec_pb2 import ModelRepositoryJFrogSpec
15
16
  from dependency_injector.wiring import Provide
16
17
  from qwak.exceptions import QwakException
17
18
  from qwak.inner.di_configuration import QwakContainer
@@ -53,7 +54,13 @@ class ModelsManagementClient:
53
54
  model = self.get_model(model_id)
54
55
  return model.uuid
55
56
 
56
- def create_model(self, project_id, model_name, model_description):
57
+ def create_model(
58
+ self,
59
+ project_id,
60
+ model_name,
61
+ model_description,
62
+ artifactory_project_key: Optional[str] = None,
63
+ ):
57
64
  try:
58
65
  return self._models_management_service.CreateModel(
59
66
  CreateModelRequest(
@@ -62,7 +69,10 @@ class ModelsManagementClient:
62
69
  display_name=model_name,
63
70
  project_id=project_id,
64
71
  model_description=model_description,
65
- )
72
+ ),
73
+ jfrog_project_spec=ModelRepositoryJFrogSpec(
74
+ jfrog_project_key=artifactory_project_key,
75
+ ),
66
76
  )
67
77
  )
68
78
 
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  import grpc
2
4
  from _qwak_proto.qwak.projects.projects_pb2 import (
3
5
  CreateProjectRequest,
@@ -6,6 +8,7 @@ from _qwak_proto.qwak.projects.projects_pb2 import (
6
8
  ListProjectsRequest,
7
9
  )
8
10
  from _qwak_proto.qwak.projects.projects_pb2_grpc import ProjectsManagementServiceStub
11
+ from _qwak_proto.qwak.projects.jfrog_project_spec_pb2 import ModelRepositoryJFrogSpec
9
12
  from dependency_injector.wiring import Provide, inject
10
13
  from qwak.exceptions import QwakException
11
14
  from qwak.inner.di_configuration import QwakContainer
@@ -27,11 +30,20 @@ class ProjectsManagementClient:
27
30
  except grpc.RpcError as e:
28
31
  raise QwakException(f"Failed to list projects, error is {e.details()}")
29
32
 
30
- def create_project(self, project_name, project_description):
33
+ def create_project(
34
+ self,
35
+ project_name,
36
+ project_description,
37
+ artifactory_project_key: Optional[str] = None,
38
+ ):
31
39
  try:
32
40
  return self._projects_management_service.CreateProject(
33
41
  CreateProjectRequest(
34
- project_name=project_name, project_description=project_description
42
+ project_name=project_name,
43
+ project_description=project_description,
44
+ jfrog_spec=ModelRepositoryJFrogSpec(
45
+ jfrog_project_key=artifactory_project_key
46
+ ),
35
47
  )
36
48
  )
37
49
 
@@ -357,20 +357,28 @@ class QwakClient:
357
357
  """
358
358
  self._get_build_orchestrator().register_tags(build_id=build_id, tags=tags)
359
359
 
360
- def create_project(self, project_name: str, project_description: str) -> str:
360
+ def create_project(
361
+ self,
362
+ project_name: str,
363
+ project_description: str,
364
+ artifactory_project_key: Optional[str] = None,
365
+ ) -> str:
361
366
  """
362
367
  Create project
363
368
 
364
369
  Args:
365
370
  project_name (str): The requested name
366
371
  project_description (str): The requested description
372
+ artifactory_project_key (Optional[str]): The requested artifactory project key
367
373
 
368
374
  Returns:
369
375
  str: The project ID of the newly created project
370
376
 
371
377
  """
372
378
  project = self._get_project_management().create_project(
373
- project_name=project_name, project_description=project_description
379
+ project_name=project_name,
380
+ project_description=project_description,
381
+ artifactory_project_key=artifactory_project_key,
374
382
  )
375
383
 
376
384
  return project.project.project_id
@@ -412,7 +420,11 @@ class QwakClient:
412
420
  return self._get_project_management().delete_project(project_id=project_id)
413
421
 
414
422
  def create_model(
415
- self, project_id: str, model_name: str, model_description: str
423
+ self,
424
+ project_id: str,
425
+ model_name: str,
426
+ model_description: str,
427
+ artifactory_project_key: Optional[str] = None,
416
428
  ) -> str:
417
429
  """
418
430
  Create model
@@ -421,6 +433,7 @@ class QwakClient:
421
433
  project_id (str): The project ID to associate the model
422
434
  model_name (str): The requested name
423
435
  model_description (str): The requested description
436
+ artifactory_project_key (Optional[str]): The artifactory project key
424
437
 
425
438
  Returns:
426
439
  str: The model ID of the newly created project
@@ -430,6 +443,7 @@ class QwakClient:
430
443
  project_id=project_id,
431
444
  model_name=model_name,
432
445
  model_description=model_description,
446
+ artifactory_project_key=artifactory_project_key,
433
447
  )
434
448
 
435
449
  return model.model_id
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qwak-core
3
- Version: 0.4.200
3
+ Version: 0.4.201
4
4
  Summary: Qwak Core contains the necessary objects and communication tools for using the Qwak Platform
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -525,7 +525,7 @@ _qwak_proto/qwak/workspace/workspace_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXH
525
525
  _qwak_proto/qwak/workspace/workspace_service_pb2.py,sha256=AB3C9S_AbOD7Nx1Ni4j1rW6PNtYTV1zjiqFQk-goQ74,21429
526
526
  _qwak_proto/qwak/workspace/workspace_service_pb2.pyi,sha256=nKKCHwnovZhsy8TSVmdz-Vtl0nviOOoX56HD-41Xo08,13726
527
527
  _qwak_proto/qwak/workspace/workspace_service_pb2_grpc.py,sha256=yKGuexxTBza99Ihe0DSTniV2ZSd_AG47inHenqfi890,27193
528
- qwak/__init__.py,sha256=fY6x2ezLuFob-1iTd0NSs5b-o9a4kOD12IZ5bg0gQ3U,587
528
+ qwak/__init__.py,sha256=SG4Z1wJtu_O4GMIpTHNBsVfgfEBRUOJtfbF68u633fQ,587
529
529
  qwak/automations/__init__.py,sha256=qFZRvCxUUn8gcxkJR0v19ulHW2oJ0x6-Rif7HiheDP4,1522
530
530
  qwak/automations/automation_executions.py,sha256=5MeH_epYYWb8NKXgAozwT_jPyyUDednBHG7izloi7RY,3228
531
531
  qwak/automations/automations.py,sha256=3yx8e2v0uSKDnXbqyknasyEoQ5vxGni6K40Hbi1_zkk,12599
@@ -596,9 +596,9 @@ qwak/clients/kube_deployment_captain/client.py,sha256=g5nLf4l7A4SFpdfF8Q5KwEincS
596
596
  qwak/clients/logging_client/__init__.py,sha256=1OCHnigQBYThBwGbxCreYA0BgP0HcuLFzNEWd3Yxh-c,34
597
597
  qwak/clients/logging_client/client.py,sha256=IdPa93JjlVm0B_Gdc4lH9LYHoVn5DjT_gIPaZ-W3Hdw,4906
598
598
  qwak/clients/model_management/__init__.py,sha256=vjWVP8MjmK4_A70WOgJqa6x24AeLK-ABjGJtogGzw9w,43
599
- qwak/clients/model_management/client.py,sha256=mlD0rIN3j763BPzTM7gt5eZ3ugLpRc96Ikik-lpb-AM,4431
599
+ qwak/clients/model_management/client.py,sha256=MK_3T6DLGG2bs4nt-0lGmMgrp69LRp667E-7PKeZ51w,4767
600
600
  qwak/clients/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
601
- qwak/clients/project/client.py,sha256=Inb_NjiBuDdJUFWoREyNOPdtGMKlMXCsdeFAWDaURuY,2128
601
+ qwak/clients/project/client.py,sha256=CSEA7jYQsWMXT3sdGGv71aPWaaCalhItzDN4sTFagBE,2496
602
602
  qwak/clients/prompt_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
603
603
  qwak/clients/prompt_manager/model_descriptor_mapper.py,sha256=rRQXjqLvq7SVxYSM5_IFo_6z70Kzf5WPOtxFzm-69m0,7313
604
604
  qwak/clients/prompt_manager/prompt_manager_client.py,sha256=Mg1uqJjwj57jFfNKx6tomzfOe6C8keTKpxvXFSPo0yA,6952
@@ -922,7 +922,7 @@ qwak/qwak_client/builds/build.py,sha256=1dBRZkvZV04uw8RI-7iOs_yvfgUzglh9ZyzgHJyU
922
922
  qwak/qwak_client/builds/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
923
923
  qwak/qwak_client/builds/filters/metric_filter.py,sha256=i0ZsjqN1iw-cX_uxvbJzRT-EYAOEqejKkukLiyYmYqE,1185
924
924
  qwak/qwak_client/builds/filters/parameter_filter.py,sha256=IY-J6bAIEM_KyVzESMDx0xv_fAScRp_AsltdMJk0IDY,1088
925
- qwak/qwak_client/client.py,sha256=1FxTRoljv_ZnFY32TRcCkk3dNZ4H1_tlNfSxmp-sZzQ,28361
925
+ qwak/qwak_client/client.py,sha256=RLQMWDuA6WW5DDIAvUEHHeqPmIndMf4V-ZG6ZnZsSro,28834
926
926
  qwak/qwak_client/data_versioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
927
927
  qwak/qwak_client/data_versioning/data_tag.py,sha256=B7_TsBrp0LZK-yLqGpodVhoh67dpWBsiyEgWq3RCKcA,806
928
928
  qwak/qwak_client/deployments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1001,6 +1001,6 @@ qwak_services_mock/mocks/workspace_manager_service_mock.py,sha256=O9ZSwln4T4kHVk
1001
1001
  qwak_services_mock/services_mock.py,sha256=CABZ2teXoSJ-X7CD3iRo5ht-w3jhW-Cvpb47APUHXEA,19089
1002
1002
  qwak_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1003
1003
  qwak_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1004
- qwak_core-0.4.200.dist-info/METADATA,sha256=sFbULF5YQqm8XjcR58GPSNajI3jGEPVZ5za2o1_pXx4,2158
1005
- qwak_core-0.4.200.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1006
- qwak_core-0.4.200.dist-info/RECORD,,
1004
+ qwak_core-0.4.201.dist-info/METADATA,sha256=-LwjASRv_Vxex9WRYvb6m6lpE1u2Eeiw3AZ1SJGfRQc,2158
1005
+ qwak_core-0.4.201.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1006
+ qwak_core-0.4.201.dist-info/RECORD,,