frogml-core 0.0.17__py3-none-any.whl → 0.0.19__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
frogml_core/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  """Top-level package for frogml."""
2
2
 
3
3
  __author__ = "jfrog"
4
- __version__ = "0.0.17"
4
+ __version__ = "0.0.19"
5
5
 
6
6
  from frogml_core.inner.di_configuration import wire_dependencies
7
7
  from frogml_core.model.model_version_tracking import ( # noqa: F401,E501
@@ -17,6 +17,7 @@ from frogml_proto.qwak.models.models_pb2 import (
17
17
  from frogml_proto.qwak.models.models_pb2_grpc import ModelsManagementServiceStub
18
18
  from frogml_core.exceptions import FrogmlException
19
19
  from frogml_core.inner.di_configuration import FrogmlContainer
20
+ from frogml_proto.qwak.projects.jfrog_project_spec_pb2 import ModelRepositoryJFrogSpec
20
21
 
21
22
 
22
23
  class ModelsManagementClient:
@@ -55,7 +56,13 @@ class ModelsManagementClient:
55
56
  model = self.get_model(model_id)
56
57
  return model.uuid
57
58
 
58
- def create_model(self, project_id, model_name, model_description):
59
+ def create_model(
60
+ self,
61
+ project_id: str,
62
+ model_name: str,
63
+ model_description: str,
64
+ jfrog_project_key: Optional[str] = None,
65
+ ):
59
66
  try:
60
67
  return self._models_management_service.CreateModel(
61
68
  CreateModelRequest(
@@ -64,7 +71,10 @@ class ModelsManagementClient:
64
71
  display_name=model_name,
65
72
  project_id=project_id,
66
73
  model_description=model_description,
67
- )
74
+ ),
75
+ jfrog_project_spec=ModelRepositoryJFrogSpec(
76
+ jfrog_project_key=jfrog_project_key,
77
+ ),
68
78
  )
69
79
  )
70
80
 
@@ -1,6 +1,9 @@
1
+ from typing import Optional
2
+
1
3
  import grpc
2
4
  from dependency_injector.wiring import Provide, inject
3
5
 
6
+ from frogml_proto.qwak.projects.jfrog_project_spec_pb2 import ModelRepositoryJFrogSpec
4
7
  from frogml_proto.qwak.projects.projects_pb2 import (
5
8
  CreateProjectRequest,
6
9
  DeleteProjectRequest,
@@ -28,11 +31,20 @@ class ProjectsManagementClient:
28
31
  except grpc.RpcError as e:
29
32
  raise FrogmlException(f"Failed to list projects, error is {e.details()}")
30
33
 
31
- def create_project(self, project_name, project_description):
34
+ def create_project(
35
+ self,
36
+ project_name: str,
37
+ project_description: str,
38
+ jfrog_project_key: Optional[str] = None,
39
+ ):
32
40
  try:
33
41
  return self._projects_management_service.CreateProject(
34
42
  CreateProjectRequest(
35
- project_name=project_name, project_description=project_description
43
+ project_name=project_name,
44
+ project_description=project_description,
45
+ jfrog_spec=ModelRepositoryJFrogSpec(
46
+ jfrog_project_key=jfrog_project_key,
47
+ ),
36
48
  )
37
49
  )
38
50
 
@@ -374,20 +374,28 @@ class FrogMLClient:
374
374
  """
375
375
  self._get_build_orchestrator().register_tags(build_id=build_id, tags=tags)
376
376
 
377
- def create_project(self, project_name: str, project_description: str) -> str:
377
+ def create_project(
378
+ self,
379
+ project_name: str,
380
+ project_description: str,
381
+ jfrog_project_key: Optional[str] = None,
382
+ ) -> str:
378
383
  """
379
384
  Create project
380
385
 
381
386
  Args:
382
387
  project_name (str): The requested name
383
388
  project_description (str): The requested description
389
+ jfrog_project_key (Optional[str]): The JFrog project key
384
390
 
385
391
  Returns:
386
392
  str: The project ID of the newly created project
387
393
 
388
394
  """
389
395
  project = self._get_project_management().create_project(
390
- project_name=project_name, project_description=project_description
396
+ project_name=project_name,
397
+ project_description=project_description,
398
+ jfrog_project_key=jfrog_project_key,
391
399
  )
392
400
 
393
401
  return project.project.project_id
@@ -429,7 +437,11 @@ class FrogMLClient:
429
437
  return self._get_project_management().delete_project(project_id=project_id)
430
438
 
431
439
  def create_model(
432
- self, project_id: str, model_name: str, model_description: str
440
+ self,
441
+ project_id: str,
442
+ model_name: str,
443
+ model_description: str,
444
+ jfrog_project_key: Optional[str] = None,
433
445
  ) -> str:
434
446
  """
435
447
  Create model
@@ -438,6 +450,7 @@ class FrogMLClient:
438
450
  project_id (str): The project ID to associate the model
439
451
  model_name (str): The requested name
440
452
  model_description (str): The requested description
453
+ jfrog_project_key (Optional[str]): The JFrog project key
441
454
 
442
455
  Returns:
443
456
  str: The model ID of the newly created project
@@ -447,6 +460,7 @@ class FrogMLClient:
447
460
  project_id=project_id,
448
461
  model_name=model_name,
449
462
  model_description=model_description,
463
+ jfrog_project_key=jfrog_project_key,
450
464
  )
451
465
 
452
466
  return model.model_id
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: frogml-core
3
- Version: 0.0.17
3
+ Version: 0.0.19
4
4
  Summary: frogml Core contains the necessary objects and communication tools for using the Jfrog ml Platform
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model
@@ -1,4 +1,4 @@
1
- frogml_core/__init__.py,sha256=BKbXlzCDAHp1YE0_mvZtBo3GU34A8lkBwj9p0IIVHKI,777
1
+ frogml_core/__init__.py,sha256=SuxasxuXh-oOyiHcALJ5CRq404CcZQCY54VJ06ftIF0,777
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,11 +71,11 @@ 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=rXnzcP3-pfXCVG0KlcCwbdeIJ1iFzV84JYtyNC8n-x8,4575
74
+ frogml_core/clients/model_management/client.py,sha256=hOWbpO6KkcScT6sn3eNHSp7n2HfQIPug7lm-e-bkzEs,4915
75
75
  frogml_core/clients/model_version_manager/__init__.py,sha256=4Pnfzj4Egps48__dProdbSKQl5pNip0hGJd75w67BfY,46
76
76
  frogml_core/clients/model_version_manager/client.py,sha256=WeU9XXLu5K0ViS-2YeENq121qV4ESXmI6pzc_K8QkvM,9457
77
77
  frogml_core/clients/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- frogml_core/clients/project/client.py,sha256=VvnUk7mo-UkE9Gkj9jVkCPGTVx8qmuekMz7oH9Uzv2Y,2159
78
+ frogml_core/clients/project/client.py,sha256=2L4LJS3xIGTAeWuL2HOgW0OyUNiQUHZ4mXfukRLjX2U,2527
79
79
  frogml_core/clients/prompt_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  frogml_core/clients/prompt_manager/model_descriptor_mapper.py,sha256=-j97vEEx0RUNBH245vIIMYw_xrFE-4AgV1hmg7g14U8,7856
81
81
  frogml_core/clients/prompt_manager/prompt_manager_client.py,sha256=pl5SZ0j81PBMBeJc7jOkDJtJ61TGMqeq3Splg6Tsr90,7958
@@ -207,7 +207,7 @@ frogml_core/frogml_client/builds/build.py,sha256=5LysOp1nAhjQaL1Jdg-rtb81jOaxZL-
207
207
  frogml_core/frogml_client/builds/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
208
  frogml_core/frogml_client/builds/filters/metric_filter.py,sha256=hDhyKGavGmZXRbmhGjtZejY1veQR277F1FUgBg-ZjjM,1186
209
209
  frogml_core/frogml_client/builds/filters/parameter_filter.py,sha256=3qEL2KJdZNytx646XnBjDO7phxCDO98tAUqMurp5Kq0,1098
210
- frogml_core/frogml_client/client.py,sha256=cE3seZBsIb5CRSTC1khrEkDsOCCRp6_cMoMBM4r5HLY,29356
210
+ frogml_core/frogml_client/client.py,sha256=xQb2A9y-pLRekBVEdsdELfZaL_sF_QiZIxwEa3uSHFs,29759
211
211
  frogml_core/frogml_client/data_versioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
212
212
  frogml_core/frogml_client/data_versioning/data_tag.py,sha256=WadGhSMgKIajVV9jWIIwXhi-xBR5bsQnu9dN-XPX_XU,807
213
213
  frogml_core/frogml_client/deployments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1019,6 +1019,6 @@ frogml_services_mock/mocks/workspace_manager_service_mock.py,sha256=WbOiWgOyr-xT
1019
1019
  frogml_services_mock/services_mock.py,sha256=_34z6rFCHFwcSni-9eyJlrH264xsL_QDNmG-EBv0zMc,20281
1020
1020
  frogml_services_mock/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1021
1021
  frogml_services_mock/utils/service_utils.py,sha256=ZlB0CnB1J6oBn6_m7fQO2U8tKoboHdUa6ljjkRMYNXU,265
1022
- frogml_core-0.0.17.dist-info/METADATA,sha256=1GPZDOPCEU2tNmyV0MP88shHnWvenLdbQJM9vEqWvlI,2099
1023
- frogml_core-0.0.17.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1024
- frogml_core-0.0.17.dist-info/RECORD,,
1022
+ frogml_core-0.0.19.dist-info/METADATA,sha256=KWodBht9OUKQIs7JZoyf-s72TtV5RnpA-23CIanMwUU,2099
1023
+ frogml_core-0.0.19.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
1024
+ frogml_core-0.0.19.dist-info/RECORD,,