frogml-cli 0.0.2__py3-none-any.whl → 0.0.4__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_cli/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # fmt: off
2
2
  __author__ = '''JFrog Ltd.'''
3
- __version__ = '0.0.2'
3
+ __version__ = '0.0.4'
4
4
  __name__ = 'frogml_cli'
5
5
 
6
6
  from frogml import wire_dependencies
@@ -20,6 +20,7 @@ class AudienceConfig:
20
20
  def to_audience_route_entry(self, index: int = 0) -> AudienceRoutesEntry:
21
21
  return AudienceRoutesEntry(
22
22
  audience_id=self.id,
23
+ audience_name=self.name,
23
24
  order=index + 1,
24
25
  routes=[route.to_route_api() for route in self.routes],
25
26
  )
@@ -24,6 +24,7 @@ from frogml_cli.inner.tools.cli_tools import FrogMLCommand
24
24
  @click.option(
25
25
  "--interactive",
26
26
  metavar="INTERACTIVE",
27
+ is_flag=True,
27
28
  required=False,
28
29
  help="Login with interactive flow",
29
30
  default=False,
@@ -35,7 +35,7 @@ class DeployBuildStep(Step):
35
35
  "model_id": self.context.model_id,
36
36
  "instance": template_id,
37
37
  }
38
- deploy_realtime(from_file=None, out_conf=False, sync=False, **deploy_config)
38
+ deploy_realtime(from_file=None, out_conf=False, local=False, sync=False, **deploy_config)
39
39
  self.build_logger.info(f"Finished deploying build {self.context.build_id}")
40
40
  except Exception as e:
41
41
  raise FrogmlDeployNewBuildFailedException(
@@ -206,8 +206,8 @@ from frogml_cli.tools.const import GPU_TYPES
206
206
  @click.option(
207
207
  "--deploy",
208
208
  help="Whether you want to deploy the build if it finishes successfully. "
209
- "Choosing this will follow the build process in the terminal and will trigger a deployment when the "
210
- "build finishes.",
209
+ "Choosing this will follow the build process in the terminal and will trigger a deployment in JFrogML's platform "
210
+ "when the build finishes.",
211
211
  default=False,
212
212
  is_flag=True,
213
213
  )
@@ -12,7 +12,7 @@ from frogml_cli.tools.colors import Color
12
12
  "--project-key",
13
13
  metavar="ID",
14
14
  required=False,
15
- help="An existing jfrog project key",
15
+ help="An existing jfrog project key (3-44 characters)",
16
16
  )
17
17
  @click.option(
18
18
  "--description",
@@ -1,18 +1,20 @@
1
+ from frogml._proto.qwak.models.models_pb2 import DeleteModelResponse
1
2
  from frogml._proto.qwak.projects.projects_pb2 import GetProjectResponse
3
+ from frogml.core.clients.model_group_management import ModelGroupManagementClient
2
4
  from frogml.core.clients.model_management import ModelsManagementClient
3
- from frogml.core.clients.project.client import ProjectsManagementClient
4
5
  from frogml.core.exceptions import FrogmlException
5
6
 
6
7
 
7
- def execute_model_delete(project_key: str, model_id: str):
8
- project_response: GetProjectResponse = ProjectsManagementClient().get_project(
9
- project_name=project_key
8
+ def execute_model_delete(project_key: str, model_id: str) -> DeleteModelResponse:
9
+ model_group_response: GetProjectResponse = (
10
+ ModelGroupManagementClient().get_model_group(model_group_name=project_key)
10
11
  )
11
12
  is_model_exists: bool = any(
12
- m.model_id == model_id for m in project_response.project.models
13
+ m.model_id == model_id for m in model_group_response.project.models
13
14
  )
14
15
  if not is_model_exists:
15
16
  raise FrogmlException(f"No such model {model_id} for project {project_key}")
16
17
 
17
- project_id: str = project_response.project.spec.project_id
18
- return ModelsManagementClient().delete_model(project_id, model_id)
18
+ model_group_id: str = model_group_response.project.spec.project_id
19
+
20
+ return ModelsManagementClient().delete_model(model_group_id, model_id)
@@ -1,4 +1,7 @@
1
+ from typing import Literal
2
+
1
3
  import click
4
+ from frogml._proto.qwak.models.models_pb2 import DeleteModelResponse
2
5
 
3
6
  from frogml_cli.commands.models.delete._logic import execute_model_delete
4
7
  from frogml_cli.commands.ui_tools import output_as_json
@@ -10,6 +13,7 @@ from frogml_cli.inner.tools.cli_tools import FrogMLCommand
10
13
  @click.option("--model-id", metavar="NAME", required=True, help="Model name")
11
14
  @click.option(
12
15
  "--format",
16
+ "output_format",
13
17
  default="text",
14
18
  show_default=True,
15
19
  type=click.Choice(["text", "json"], case_sensitive=True),
@@ -17,9 +21,12 @@ from frogml_cli.inner.tools.cli_tools import FrogMLCommand
17
21
  required=False,
18
22
  help="The formatting style for commands output (choose from text, json)",
19
23
  )
20
- def model_delete(project_key, model_id, format, **kwargs):
21
- response = execute_model_delete(project_key, model_id)
22
- if format == "json":
24
+ def model_delete(
25
+ project_key: str, model_id: str, output_format: Literal["text", "json"]
26
+ ):
27
+ response: DeleteModelResponse = execute_model_delete(project_key, model_id)
28
+
29
+ if output_format == "json":
23
30
  output_as_json(response)
24
31
  else:
25
32
  print(f"Model deleted\nmodel id : {model_id}")
@@ -1,5 +1,6 @@
1
- from frogml.core.clients.project.client import ProjectsManagementClient
1
+ from frogml._proto.qwak.projects.projects_pb2 import GetProjectResponse
2
+ from frogml.core.clients.model_group_management.client import ModelGroupManagementClient
2
3
 
3
4
 
4
- def execute_models_list(project_key: str):
5
- return ProjectsManagementClient().get_project(project_name=project_key)
5
+ def execute_models_list(project_key: str) -> GetProjectResponse:
6
+ return ModelGroupManagementClient().get_model_group(model_group_name=project_key)
@@ -1,4 +1,5 @@
1
1
  from datetime import datetime
2
+ from typing import Literal
2
3
 
3
4
  import click
4
5
  from frogml._proto.qwak.projects.projects_pb2 import GetProjectResponse
@@ -25,6 +26,7 @@ def parse_model(model):
25
26
  @click.option("--project-key", metavar="NAME", required=True, help="JFrog project key")
26
27
  @click.option(
27
28
  "--format",
29
+ "output_format",
28
30
  default="text",
29
31
  show_default=True,
30
32
  type=click.Choice(["text", "json"], case_sensitive=True),
@@ -32,10 +34,14 @@ def parse_model(model):
32
34
  required=False,
33
35
  help="The formatting style for commands output (choose from text, json)",
34
36
  )
35
- def model_list(project_key: str, format, **kwargs):
36
- model_list_result: GetProjectResponse = execute_models_list(project_key)
37
- columns = ["Model id", "Display name", "Creation date", "Last updated"]
38
- if format == "json":
39
- output_as_json(model_list_result)
40
- elif format == "text":
41
- output_as_table(model_list_result.project.models, parse_model, headers=columns)
37
+ def model_list(project_key: str, output_format: Literal["text", "json"]):
38
+ get_model_group_response: GetProjectResponse = execute_models_list(project_key)
39
+ columns: list[str] = ["Model id", "Display name", "Creation date", "Last updated"]
40
+
41
+ if output_format == "json":
42
+ output_as_json(get_model_group_response)
43
+
44
+ else: # output_format == "text"
45
+ output_as_table(
46
+ get_model_group_response.project.models, parse_model, headers=columns
47
+ )
@@ -1,11 +1,13 @@
1
+ from frogml._proto.qwak.models.models_pb2 import ListModelsResponse
1
2
  from frogml._proto.qwak.projects.projects_pb2 import GetProjectResponse
3
+ from frogml.core.clients.model_group_management import ModelGroupManagementClient
2
4
  from frogml.core.clients.model_management.client import ModelsManagementClient
3
- from frogml.core.clients.project.client import ProjectsManagementClient
4
5
 
5
6
 
6
- def list_models(project_key: str):
7
- project_response: GetProjectResponse = ProjectsManagementClient().get_project(
8
- project_name=project_key
7
+ def list_models(project_key: str) -> ListModelsResponse:
8
+ model_group_response: GetProjectResponse = (
9
+ ModelGroupManagementClient().get_model_group(model_group_name=project_key)
9
10
  )
10
- project_id: str = project_response.project.spec.project_id
11
- return ModelsManagementClient().list_models(project_id)
11
+ model_group_id: str = model_group_response.project.spec.project_id
12
+
13
+ return ModelsManagementClient().list_models(model_group_id)
@@ -1,12 +1,18 @@
1
+ from typing import Literal
2
+
1
3
  import click
2
- from frogml._proto.qwak.models.models_pb2 import DeploymentModelStatus
4
+ from frogml._proto.qwak.models.models_pb2 import (
5
+ DeploymentModelStatus,
6
+ ListModelsResponse,
7
+ Model,
8
+ )
3
9
 
4
10
  from frogml_cli.commands.models.list_models._logic import list_models as _list_models
5
11
  from frogml_cli.commands.ui_tools import output_as_json, output_as_table
6
12
  from frogml_cli.inner.tools.cli_tools import FrogMLCommand
7
13
 
8
14
 
9
- def parse_model(model):
15
+ def parse_model(model: Model) -> list[str]:
10
16
  return [
11
17
  model.model_id,
12
18
  model.uuid,
@@ -31,6 +37,7 @@ def parse_model(model):
31
37
  @click.option("--project-key", metavar="NAME", required=True, help="JFrog Project key")
32
38
  @click.option(
33
39
  "--format",
40
+ "output_format",
34
41
  default="text",
35
42
  show_default=True,
36
43
  type=click.Choice(["text", "json"], case_sensitive=True),
@@ -38,9 +45,9 @@ def parse_model(model):
38
45
  required=False,
39
46
  help="The formatting style for command output (choose from text, json)",
40
47
  )
41
- def list_models(project_key, format, **kwargs):
42
- model_list_result = _list_models(project_key)
43
- columns = [
48
+ def list_models(project_key: str, output_format: Literal["text", "json"]):
49
+ model_list_result: ListModelsResponse = _list_models(project_key)
50
+ columns: list[str] = [
44
51
  "Model id",
45
52
  "Model UUID",
46
53
  "Model Name",
@@ -54,7 +61,8 @@ def list_models(project_key, format, **kwargs):
54
61
  "Branches",
55
62
  "Deployment Status",
56
63
  ]
57
- if format == "json":
64
+
65
+ if output_format == "json":
58
66
  output_as_json(model_list_result)
59
- elif format == "text":
67
+ else: # output_format == "text"
60
68
  output_as_table(model_list_result.models, parse_model, headers=columns)
@@ -1,12 +1,13 @@
1
+ from frogml._proto.qwak.models.models_pb2 import ListModelsMetadataResponse
1
2
  from frogml._proto.qwak.projects.projects_pb2 import GetProjectResponse
3
+ from frogml.core.clients.model_group_management import ModelGroupManagementClient
2
4
  from frogml.core.clients.model_management.client import ModelsManagementClient
3
- from frogml.core.clients.project.client import ProjectsManagementClient
4
5
 
5
6
 
6
- def list_models_metadata(project_key: str):
7
- project_response: GetProjectResponse = ProjectsManagementClient().get_project(
8
- project_name=project_key
7
+ def list_models_metadata(project_key: str) -> ListModelsMetadataResponse:
8
+ model_group_response: GetProjectResponse = (
9
+ ModelGroupManagementClient().get_model_group(model_group_name=project_key)
9
10
  )
10
- project_id: str = project_response.project.spec.project_id
11
+ model_group_id: str = model_group_response.project.spec.project_id
11
12
 
12
- return ModelsManagementClient().list_models_metadata(project_id)
13
+ return ModelsManagementClient().list_models_metadata(model_group_id)
@@ -1,6 +1,8 @@
1
1
  import re
2
+ from typing import Literal
2
3
 
3
4
  import click
5
+ from frogml._proto.qwak.models.models_pb2 import ListModelsMetadataResponse
4
6
  from google.protobuf.json_format import MessageToDict
5
7
  from tabulate import tabulate
6
8
 
@@ -45,6 +47,7 @@ def print_text_data(metadata):
45
47
  @click.option("--project-key", metavar="NAME", required=True, help="JFrog Project key")
46
48
  @click.option(
47
49
  "--format",
50
+ "output_format",
48
51
  default="text",
49
52
  show_default=True,
50
53
  type=click.Choice(["text", "json"], case_sensitive=True),
@@ -52,9 +55,10 @@ def print_text_data(metadata):
52
55
  required=False,
53
56
  help="The formatting style for command output (choose from text, json)",
54
57
  )
55
- def list_models_metadata(project_key, format, **kwargs):
56
- model_list_result = _list_models_metadata(project_key)
57
- if format == "json":
58
+ def list_models_metadata(project_key: str, output_format: Literal["text", "json"]):
59
+ model_list_result: ListModelsMetadataResponse = _list_models_metadata(project_key)
60
+
61
+ if output_format == "json":
58
62
  output_as_json(model_list_result)
59
- elif format == "text":
63
+ else: # output_format == "text"
60
64
  print_text_data(model_list_result)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: frogml-cli
3
- Version: 0.0.2
3
+ Version: 0.0.4
4
4
  Summary: Frogml CLI for frogml models
5
5
  License: Apache-2.0
6
6
  Keywords: mlops,ml,deployment,serving,model,jfrog
@@ -27,8 +27,8 @@ Requires-Dist: click (==8.1.8)
27
27
  Requires-Dist: cloudpickle (==2.2.1) ; extra == "feature-store"
28
28
  Requires-Dist: cookiecutter
29
29
  Requires-Dist: croniter (==1.4.1)
30
- Requires-Dist: frogml (>=1.1.24)
31
- Requires-Dist: frogml-inference (>=0.0.1,<0.0.2)
30
+ Requires-Dist: frogml (>=1.1.96)
31
+ Requires-Dist: frogml-inference (>=0.0.2,<0.0.3)
32
32
  Requires-Dist: gitpython (>=2.1.0)
33
33
  Requires-Dist: joblib (>=1.1.0,<2.0.0) ; extra == "batch" or extra == "feedback"
34
34
  Requires-Dist: numpy (<2.0.0)
@@ -1,4 +1,4 @@
1
- frogml_cli/__init__.py,sha256=XEZR5icFmwjSToyn9bnCF_RlgfF9KCdCKtbF-afHdwM,157
1
+ frogml_cli/__init__.py,sha256=hjYgKkdKVxDATcv7nk4gBdpxFMPJuqtLEsWuWBUiwLg,157
2
2
  frogml_cli/cli.py,sha256=Gh-KPvBf_X243Cz2TGx_mWd4K4NgXcSmpBxZfrFQSkc,1585
3
3
  frogml_cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  frogml_cli/commands/_logic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -20,7 +20,7 @@ frogml_cli/commands/audience/_logic/config/__init__.py,sha256=47DEQpj8HBSa-_TImW
20
20
  frogml_cli/commands/audience/_logic/config/config_base.py,sha256=d1i5tKV96OibjhlCTFDLvsGk0CXD8VYpOBcoHksdzus,337
21
21
  frogml_cli/commands/audience/_logic/config/parser.py,sha256=-_luJYGTkff9SkIk7-5-dbyPLzuTGYI9Nh4mG6k-bdM,994
22
22
  frogml_cli/commands/audience/_logic/config/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- frogml_cli/commands/audience/_logic/config/v1/audience_config.py,sha256=w65jBLyC9iVDipwvM02EziZj7hLR2rWmUJLN6pOH7d0,860
23
+ frogml_cli/commands/audience/_logic/config/v1/audience_config.py,sha256=VLPKVEZ_cg7O-XFhrdRcnJ3p0GGhA4S6kewQ5TLtDU8,897
24
24
  frogml_cli/commands/audience/_logic/config/v1/conditions_config.py,sha256=-tk_h02jHQ367tUAex1RP6WEvylm3E3Mn8t5P1JlRwo,1606
25
25
  frogml_cli/commands/audience/_logic/config/v1/config_v1.py,sha256=rYhDuVp7xJb7IXKrtnNoSXPx049X-SFDX7qR7y4ab74,791
26
26
  frogml_cli/commands/audience/_logic/config/v1/route_config.py,sha256=3JN6LniQH5ofwUPzua1a6gJvgekAjZIz2Gp4cJE_vL8,334
@@ -69,7 +69,7 @@ frogml_cli/commands/automations/register/_logic.py,sha256=EvlOp0I--0HyZuyL2lZ-Ap
69
69
  frogml_cli/commands/automations/register/ui.py,sha256=qNpQU_h3yJ_vzhtI0uYRWEyusLJxNnyo5SBsUl1dpEk,1353
70
70
  frogml_cli/commands/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
71
  frogml_cli/commands/config/add/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- frogml_cli/commands/config/add/ui.py,sha256=XJhzj5c6pd3GSds_pVbY4aRgtWwCQpxVMI14ZXl7Hcc,1785
72
+ frogml_cli/commands/config/add/ui.py,sha256=8v8fjkGgqXu8ynuL1mqaj3u8XxteyJY-4044nF3EU-I,1803
73
73
  frogml_cli/commands/config/config_commands_group.py,sha256=Ztv2RruzbOT2xLiIaUnFZSl5v3hwOB75-FOpjnpZ5qE,228
74
74
  frogml_cli/commands/feature_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
75
  frogml_cli/commands/feature_store/backfill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -110,13 +110,13 @@ frogml_cli/commands/models/build/_logic/phase/a_fetch_model_code/get_sdk_version
110
110
  frogml_cli/commands/models/build/_logic/phase/b_remote_register_frogml_build/__init__.py,sha256=2Pfaggjd885TbNgA8SVP2XSj3wI6v2mETB9EFHkSS4c,621
111
111
  frogml_cli/commands/models/build/_logic/phase/c_deploy/__init__.py,sha256=Ak5f901KsQIA9BIXgtSCAaf7Es_IiCb0gRjPCeY1g_c,182
112
112
  frogml_cli/commands/models/build/_logic/phase/c_deploy/build_polling_status.py,sha256=tHctBHxTGhgt3L0LNPXEAto3dJjh2eF03DqSvNAicRw,2221
113
- frogml_cli/commands/models/build/_logic/phase/c_deploy/deploy_build.py,sha256=rCj4WqzjdUTbz34EVxmxgSZ0Fget8zVFTKy9PNUr6wk,2319
113
+ frogml_cli/commands/models/build/_logic/phase/c_deploy/deploy_build.py,sha256=uyK7SHzsdTOZ7uqa4RTZzvQAT6w9rcP8WNxF-WLAM7I,2332
114
114
  frogml_cli/commands/models/build/_logic/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
115
  frogml_cli/commands/models/build/_logic/util/protobuf_factory.py,sha256=gO9LgChpt0Qyc_3UXt2RhdRJ4jqf_9NkkH6t13bmREE,1699
116
116
  frogml_cli/commands/models/build/_logic/util/step_decorator.py,sha256=T-vKF824iNGSg0kHrwXFtMHpmLfYLNje3gsuo4i4BL8,1934
117
117
  frogml_cli/commands/models/build/_logic/util/text.py,sha256=tH-v19Mt8l90sMVxku5XRtrderT0qdRqJ-jLijqannA,188
118
118
  frogml_cli/commands/models/build/_logic/wait_until_finished.py,sha256=hhIFrY2onNvuwOvek06Zpj9RhuCj2sChLfY83BaQkgY,1229
119
- frogml_cli/commands/models/build/ui.py,sha256=NPI0Act9k46WEI1fAj2629JCnD6vKWzoptA5ali91Dg,9976
119
+ frogml_cli/commands/models/build/ui.py,sha256=o9oBQ0ZW-pPX8AxJ8DDKyGsLFbmxHIztdm8LR6yO9Ko,9998
120
120
  frogml_cli/commands/models/builds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
121
  frogml_cli/commands/models/builds/builds_commands_group.py,sha256=OxgluVZUxFV-SmoaRWjaZv9QnsMpMcfpfMHWE63qffg,497
122
122
  frogml_cli/commands/models/builds/cancel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -129,10 +129,10 @@ frogml_cli/commands/models/builds/status/_logic.py,sha256=8rv1M8mlrH0oAa4SIVAIRj
129
129
  frogml_cli/commands/models/builds/status/ui.py,sha256=DrImQXGBqZ4B5l6o6x8KqEXT_6eD2BTOl0jI27KHtl0,1230
130
130
  frogml_cli/commands/models/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
131
  frogml_cli/commands/models/create/_logic.py,sha256=_vsAgVGF1mcKSDtB7RRP_Wu_tY0HemG_IHh41RDDX1w,1480
132
- frogml_cli/commands/models/create/ui.py,sha256=h5XrSS8BEA798kGYytbmj2uFa5J6lvJxHiE5P6l8HtE,1255
132
+ frogml_cli/commands/models/create/ui.py,sha256=AXK-1LusJrjNMyKf4U6gMsA_tHGBU1052fa578KQbMw,1273
133
133
  frogml_cli/commands/models/delete/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
- frogml_cli/commands/models/delete/_logic.py,sha256=wtuFIkoOqBeBkCX6ezb6WoJzpOgeZEppQdB2eBvDzV0,809
135
- frogml_cli/commands/models/delete/ui.py,sha256=ijBZY7jx13GV0rGTVhFWl3iFyFcYvXkPfRoPt9Z7PgE,914
134
+ frogml_cli/commands/models/delete/_logic.py,sha256=rQEILBOU7YP5JLU2xYJBXElZ922NYx8TJSKEupC8m5M,944
135
+ frogml_cli/commands/models/delete/ui.py,sha256=B87Yw193frai9SfdoFko8kD9SyKkMlHMgCuqg2AgGn8,1099
136
136
  frogml_cli/commands/models/deployments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  frogml_cli/commands/models/deployments/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  frogml_cli/commands/models/deployments/deploy/_logic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -232,14 +232,14 @@ frogml_cli/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.mo
232
232
  frogml_cli/commands/models/init/_logic/template/titanic_poetry/{{cookiecutter.model_directory}}/tests/it/test_titanic.py,sha256=A75drbpCH-wNYwGZHS16xFBN7aApYbA7w_G1Hc2BwkU,761
233
233
  frogml_cli/commands/models/init/ui.py,sha256=p2VIxouKmaUraYD_wkdgLPeZmNGVG6p-uxoywz4r9iA,2063
234
234
  frogml_cli/commands/models/list/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
235
- frogml_cli/commands/models/list/_logic.py,sha256=6ef3aBkN55b_4Z4VktNSzH6L0jXT2dFWz0LyYwWJ4MA,193
236
- frogml_cli/commands/models/list/ui.py,sha256=L5FotbJbeweTklDTKIA24_sdLNH3t53JHQFOx-JtBa4,1498
235
+ frogml_cli/commands/models/list/_logic.py,sha256=JLl4_r44ZqMZQgruwgKLPoj-kdk7a6LEc3WQVLlQ-Sk,314
236
+ frogml_cli/commands/models/list/ui.py,sha256=W4JvjYO7hVshbMpL4u8OhNuXldngS2dBZRezi8VNJ2s,1641
237
237
  frogml_cli/commands/models/list_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
238
- frogml_cli/commands/models/list_models/_logic.py,sha256=lv8vXo-hrKJCKxyt_0trB8h7rOh2g67jtEwCOzaWFmA,505
239
- frogml_cli/commands/models/list_models/ui.py,sha256=-xT1PjhhuEQ40fID4H4q2vU7uOicyu_oRXOG11lhun0,1834
238
+ frogml_cli/commands/models/list_models/_logic.py,sha256=BWqGLg3iIxYTp2vZnO87pa351l3To4R-pgMhc2cyJUk,634
239
+ frogml_cli/commands/models/list_models/ui.py,sha256=dVg1tpMqimMUJQsY725EgtBsDYjfIhV-zvvGuyQLaQw,2023
240
240
  frogml_cli/commands/models/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
- frogml_cli/commands/models/metadata/_logic.py,sha256=5xVLolZu004CXREGZwLkNRBAMrPrHsfL0CM0kzHXt2o,524
242
- frogml_cli/commands/models/metadata/ui.py,sha256=TzAnnpQxPbDaLJK-cA5vtEM0soBIXiNxmytpqp-oMxU,2051
241
+ frogml_cli/commands/models/metadata/_logic.py,sha256=klld-mC0KmaG74Bd0Ler5CoQmtneUpwFbhbAf-YDZ8k,668
242
+ frogml_cli/commands/models/metadata/ui.py,sha256=9FPPCljPj6UwrIIQ7Y7ypSMKJiDj2Aaylens0NjQ35s,2248
243
243
  frogml_cli/commands/models/models_command_group.py,sha256=Bt02n4ZiGz2YivcuTHd8gOu6qmkHO0Jhcy4vqygW7_o,1645
244
244
  frogml_cli/commands/models/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  frogml_cli/commands/models/runtime/logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -281,7 +281,7 @@ frogml_cli/tools/const.py,sha256=XDaMAVfScXoFc5fHbsNuqAefUD2MoZY-cAEMoh1xaYk,152
281
281
  frogml_cli/tools/files.py,sha256=AyKJTOy7NhvP3SrqwIw_lxYNCOy1CvLgMmSJpWZ0OKM,2257
282
282
  frogml_cli/tools/log_handling.py,sha256=QlgxbCmLLPK4wRyViWgAW8WLZ39Do1hYAvRyFWGbnFs,6362
283
283
  frogml_cli/tools/utils.py,sha256=Vliw-w6i-93dgZ3M09EgWjttHMuhT-3CH7tbWVKsf8s,1668
284
- frogml_cli-0.0.2.dist-info/METADATA,sha256=ZaO3QJi-64jkFgP3WdsFPOUPtur5tTePKxl9eLhWxtc,2202
285
- frogml_cli-0.0.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
286
- frogml_cli-0.0.2.dist-info/entry_points.txt,sha256=2H5x0V_E73HeywIMBRRvZMgeRtmX5820KmSLiNFzDcA,53
287
- frogml_cli-0.0.2.dist-info/RECORD,,
284
+ frogml_cli-0.0.4.dist-info/METADATA,sha256=BSxG6KpM-kCM7SEFdUFzmfoydNnMRXTcb1n7LJQI4Vg,2202
285
+ frogml_cli-0.0.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
286
+ frogml_cli-0.0.4.dist-info/entry_points.txt,sha256=2H5x0V_E73HeywIMBRRvZMgeRtmX5820KmSLiNFzDcA,53
287
+ frogml_cli-0.0.4.dist-info/RECORD,,