kalavai-client 0.5.28__tar.gz → 0.5.29__tar.gz

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.
Files changed (25) hide show
  1. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/PKG-INFO +1 -1
  2. kalavai_client-0.5.29/kalavai_client/__init__.py +2 -0
  3. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/apps.yaml +14 -1
  4. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/bridge_api.py +2 -1
  5. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/bridge_models.py +1 -0
  6. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/cli.py +2 -1
  7. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/core.py +8 -2
  8. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/pyproject.toml +1 -1
  9. kalavai_client-0.5.28/kalavai_client/__init__.py +0 -2
  10. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/LICENSE +0 -0
  11. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/README.md +0 -0
  12. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/__main__.py +0 -0
  13. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/__init__.py +0 -0
  14. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/apps_values.yaml +0 -0
  15. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/docker-compose-gui.yaml +0 -0
  16. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/docker-compose-template.yaml +0 -0
  17. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/nginx.conf +0 -0
  18. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/pool_config_template.yaml +0 -0
  19. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/pool_config_values.yaml +0 -0
  20. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/user_workspace.yaml +0 -0
  21. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/assets/user_workspace_values.yaml +0 -0
  22. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/auth.py +0 -0
  23. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/cluster.py +0 -0
  24. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/env.py +0 -0
  25. {kalavai_client-0.5.28 → kalavai_client-0.5.29}/kalavai_client/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kalavai-client
3
- Version: 0.5.28
3
+ Version: 0.5.29
4
4
  Summary: Client app for kalavai platform
5
5
  License: Apache-2.0
6
6
  Keywords: LLM,platform
@@ -0,0 +1,2 @@
1
+
2
+ __version__ = "0.5.29"
@@ -25,6 +25,19 @@ releases:
25
25
  chart: kalavai/kalavai-datashim
26
26
  version: "0.4.0"
27
27
  installed: false
28
+ - name: lago
29
+ namespace: kalavai
30
+ chart: kalavai/lago
31
+ installed: true
32
+ set:
33
+ - name: external.api.nodePort
34
+ value: 32000
35
+ - name: external.front.nodePort
36
+ value: 30080
37
+ - name: apiUrl
38
+ value: http://{{cluster_ip}}:32000
39
+ - name: frontUrl
40
+ value: http://{{cluster_ip}}:30080
28
41
  - name: minio
29
42
  needs:
30
43
  - kalavai/longhorn
@@ -139,7 +152,7 @@ releases:
139
152
  - name: replicas
140
153
  value: 2
141
154
  - name: image_tag
142
- value: "v2025.03.5"
155
+ value: "v2025.03.11"
143
156
  - name: deployment.in_cluster
144
157
  value: "True"
145
158
  - name: deployment.use_auth_key
@@ -162,7 +162,8 @@ def job_deploy(request: DeployJobRequest):
162
162
  result = deploy_job(
163
163
  template_name=request.template_name,
164
164
  values_dict=request.values,
165
- force_namespace=request.force_namespace
165
+ force_namespace=request.force_namespace,
166
+ target_labels=request.target_labels
166
167
  )
167
168
  return result
168
169
 
@@ -37,6 +37,7 @@ class DeployJobRequest(BaseModel):
37
37
  template_name: str
38
38
  values: dict
39
39
  force_namespace: str = None
40
+ target_labels: dict[str, str] = None
40
41
 
41
42
  class DeleteJobRequest(BaseModel):
42
43
  name: str
@@ -1202,13 +1202,14 @@ def job__list(*others):
1202
1202
  all_deployments = fetch_job_names()
1203
1203
  if "error" in all_deployments:
1204
1204
  console.log(f"[red]Error when connecting to kalavai service: {all_deployments}")
1205
- return
1205
+ return
1206
1206
 
1207
1207
  if len(all_deployments) == 0:
1208
1208
  console.log("[green]No deployments found.")
1209
1209
  return
1210
1210
 
1211
1211
  details = fetch_job_details(jobs=all_deployments)
1212
+
1212
1213
  if "error" in details:
1213
1214
  console.log(f"[red]{details}")
1214
1215
  return
@@ -291,14 +291,18 @@ def fetch_job_details(jobs: list[Job]):
291
291
  user_cookie=USER_COOKIE
292
292
  )
293
293
  workers_status = defaultdict(int)
294
+ restart_counts = 0
294
295
  for ns, ss in result.items():
295
296
  if ns != namespace: # same job name, different namespace
296
297
  continue
297
298
  for _, values in ss.items():
298
- # TODO get 'restart_count' from values['conditions'][-1]["restart_count"]
299
299
  # TODO: get nodes involved in deployment (needs kubewatcher)
300
+ if "conditions" in values and values["conditions"] is not None:
301
+ restart_counts = sum([c["restart_count"] for c in values["conditions"]])
300
302
  workers_status[values["status"]] += 1
301
303
  workers = "\n".join([f"{k}: {v}" for k, v in workers_status.items()])
304
+ if restart_counts > 0:
305
+ workers += f"\n({restart_counts} restart)"
302
306
  # get URL details
303
307
  data = {
304
308
  "label": TEMPLATE_LABEL,
@@ -338,7 +342,7 @@ def fetch_job_details(jobs: list[Job]):
338
342
 
339
343
  return job_details
340
344
 
341
- def deploy_job(template_name, values_dict, force_namespace=None):
345
+ def deploy_job(template_name, values_dict, force_namespace=None, target_labels=None):
342
346
 
343
347
  # deploy template with kube-watcher
344
348
  data = {
@@ -347,6 +351,8 @@ def deploy_job(template_name, values_dict, force_namespace=None):
347
351
  }
348
352
  if force_namespace is not None:
349
353
  data["force_namespace"] = force_namespace
354
+ if target_labels is not None:
355
+ data["target_labels"] = target_labels
350
356
 
351
357
  try:
352
358
  result = request_to_server(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kalavai-client"
3
- version = "0.5.28"
3
+ version = "0.5.29"
4
4
  authors = [
5
5
  {name = "Carlos Fernandez Musoles", email = "carlos@kalavai.net"}
6
6
  ]
@@ -1,2 +0,0 @@
1
-
2
- __version__ = "0.5.28"
File without changes