kalavai-client 0.7.4__py3-none-any.whl → 0.7.5__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.
@@ -1,2 +1,2 @@
1
1
 
2
- __version__ = "0.7.4"
2
+ __version__ = "0.7.5"
@@ -3,18 +3,19 @@ server:
3
3
  ip_address: null
4
4
  location: null
5
5
  name: "kalavai_cluster"
6
+ mtu: 1280
6
7
 
7
8
  core:
8
9
  # Deploy systems
9
10
  deploy:
10
11
  - volcano
11
12
  - cert_manager
12
- - rocm
13
+ #- rocm
13
14
  - watcher
14
15
  - hami
15
16
  #- lago
16
17
  #- opencost
17
- - prometheus
18
+ #- prometheus
18
19
  #- kuberay
19
20
  #- minio
20
21
  # "Kalavai API endpoint"
@@ -4,6 +4,7 @@ services:
4
4
  image: gravitl/netclient:v0.90.0
5
5
  container_name: {{vpn_name}}
6
6
  platform: linux/{{target_platform}}
7
+ privileged: true
7
8
  cap_add:
8
9
  - NET_ADMIN
9
10
  - SYS_MODULE
@@ -11,6 +12,7 @@ services:
11
12
  environment:
12
13
  - HOST_NAME={{node_name}}
13
14
  - TOKEN={{vpn_token}}
15
+ - MTU={{mtu}}
14
16
  volumes:
15
17
  - /dev/net/tun:/dev/net/tun
16
18
  restart: unless-stopped
@@ -58,6 +60,7 @@ services:
58
60
  {% if node_labels %}
59
61
  --extra="{{node_labels}}"
60
62
  {% endif %}
63
+ --mtu={{mtu}}
61
64
 
62
65
  # volumes:
63
66
  # - {{k3s_path}}:/var/lib/rancher/k3s # Persist data
@@ -0,0 +1,68 @@
1
+ Qwen/Qwen3-4B-Instruct-2507-FP8:
2
+ size: 6 # should include weights + context window + batch size memory requirements
3
+ cuda:
4
+ template: vllm
5
+ values:
6
+ gpu_backend: "cuda"
7
+ litellm_key: ""
8
+ workers: ""
9
+ model_id: Qwen/Qwen3-4B-Instruct-2507-FP8
10
+ working_memory: 14
11
+ hf_token: ""
12
+ cpus: 2
13
+ gpus: 1
14
+ memory: 12
15
+ tensor_parallel_size: 1
16
+ pipeline_parallel_size: 1
17
+ tool_call_parser: hermes
18
+ extra: "--dtype float16 --enforce-eager --quantization fp8"
19
+ rocm:
20
+ template: vllm
21
+ values:
22
+ gpu_backend: "rocm"
23
+ litellm_key: ""
24
+ workers: ""
25
+ model_id: Qwen/Qwen3-4B-Instruct-2507-FP8
26
+ working_memory: 14
27
+ hf_token: ""
28
+ cpus: 2
29
+ gpus: 1
30
+ memory: 12
31
+ tensor_parallel_size: 1
32
+ pipeline_parallel_size: 1
33
+ tool_call_parser: hermes
34
+ extra: "--dtype float16 --enforce-eager"
35
+ Qwen/Qwen3-0.6B:
36
+ size: 4 # should include weights + context window + batch size memory requirements
37
+ cuda:
38
+ template: vllm
39
+ values:
40
+ gpu_backend: "cuda"
41
+ litellm_key: ""
42
+ workers: ""
43
+ model_id: Qwen/Qwen3-0.6B
44
+ working_memory: 8
45
+ hf_token: ""
46
+ cpus: 2
47
+ gpus: 1
48
+ memory: 8
49
+ tensor_parallel_size: 1
50
+ pipeline_parallel_size: 1
51
+ tool_call_parser: hermes
52
+ extra: "--dtype float16"
53
+ rocm:
54
+ template: vllm
55
+ values:
56
+ gpu_backend: "rocm"
57
+ litellm_key: ""
58
+ workers: ""
59
+ model_id: Qwen/Qwen3-0.6B
60
+ working_memory: 8
61
+ hf_token: ""
62
+ cpus: 2
63
+ gpus: 1
64
+ memory: 8
65
+ tensor_parallel_size: 1
66
+ pipeline_parallel_size: 1
67
+ tool_call_parser: hermes
68
+ extra: "--dtype float16"
@@ -59,6 +59,7 @@ from kalavai_client.core import (
59
59
  add_node_labels,
60
60
  get_node_labels,
61
61
  generate_worker_package,
62
+ get_deployment_values,
62
63
  TokenType
63
64
  )
64
65
  from kalavai_client.utils import (
@@ -446,6 +447,20 @@ def job_deploy(request: DeployJobRequest, api_key: str = Depends(verify_api_key)
446
447
  )
447
448
  return result
448
449
 
450
+ @app.get("/get_deployment_values",
451
+ operation_id="get_deployment_values",
452
+ summary="Get deployment template values for a given model",
453
+ description="Given a model id from Huggingface, return the deployment template values required to load the model instance in the pool, including number of workers, number of gpus and gpu backend.",
454
+ tags=["job_management"],
455
+ response_description="Deployment template values")
456
+ def get_deployment_template_values(model_id: str, api_key: str = Depends(verify_api_key)):
457
+ """
458
+ Get the deployment template values for a given model id:
459
+
460
+ - **model_id**: Model id from Huggingface type mode
461
+ """
462
+ return get_deployment_values(model_id=model_id)
463
+
449
464
  @app.post("/delete_job",
450
465
  operation_id="delete_job",
451
466
  summary="Terminate and remove a job from the pool",
kalavai_client/cli.py CHANGED
@@ -62,7 +62,8 @@ from kalavai_client.core import (
62
62
  uncordon_nodes,
63
63
  TokenType,
64
64
  unregister_pool,
65
- update_pool
65
+ update_pool,
66
+ get_deployment_values
66
67
  )
67
68
  from kalavai_client.utils import (
68
69
  check_gpu_drivers,
@@ -396,7 +397,7 @@ def pool__list(*others, user_only=False):
396
397
 
397
398
 
398
399
  @arguably.command
399
- def pool__start(*others, pool_config_file=None, apps: list=None, platform="amd64", ip_address: str=None, location: str=None, app_values: str=None, pool_config_values: str=None, non_interactive: bool=False):
400
+ def pool__start(*others, pool_config_file=None, apps: list=None, mtu: str=None, platform="amd64", ip_address: str=None, location: str=None, app_values: str=None, pool_config_values: str=None, non_interactive: bool=False):
400
401
 
401
402
  """
402
403
  Start Kalavai pool and start/resume sharing resources.
@@ -439,7 +440,8 @@ def pool__start(*others, pool_config_file=None, apps: list=None, platform="amd6
439
440
  target_platform=platform,
440
441
  pool_config_file=pool_config_file,
441
442
  apps=apps,
442
- num_gpus=input_gpus(non_interactive=non_interactive)
443
+ num_gpus=input_gpus(non_interactive=non_interactive),
444
+ mtu=mtu
443
445
  )
444
446
 
445
447
  if "warning" in result:
@@ -482,7 +484,7 @@ def pool__token(*others, admin=False, user=False, worker=False):
482
484
  return join_token
483
485
 
484
486
  @arguably.command
485
- def pool__check_token(token, *others, public=False):
487
+ def pool__check_token(token, *others, public=False, verbose=False):
486
488
  """
487
489
  Utility to check the validity of a join token
488
490
  """
@@ -490,12 +492,14 @@ def pool__check_token(token, *others, public=False):
490
492
  if "error" in result:
491
493
  console.log(f"[red]Error in token: {result}")
492
494
  return False
495
+ if verbose:
496
+ console.log(json.dumps(result["data"], indent=2))
493
497
 
494
498
  console.log("[green]Token format is correct")
495
499
  return True
496
500
 
497
501
  @arguably.command
498
- def pool__join(token, *others, platform="amd64", node_name=None, non_interactive=False):
502
+ def pool__join(token, *others, mtu=None, platform="amd64", node_name=None, non_interactive=False):
499
503
  """
500
504
  Join Kalavai pool and start/resume sharing resources.
501
505
 
@@ -549,7 +553,8 @@ def pool__join(token, *others, platform="amd64", node_name=None, non_interactive
549
553
  token=token,
550
554
  node_name=node_name,
551
555
  num_gpus=num_gpus,
552
- ip_address=ip_address
556
+ ip_address=ip_address,
557
+ mtu=mtu
553
558
  )
554
559
  if "error" in result:
555
560
  console.log(f"[red]Error when connecting: {result}")
@@ -1165,6 +1170,12 @@ def job__delete(name, *others, force_namespace: str=None):
1165
1170
  console.log(f"{result}")
1166
1171
 
1167
1172
 
1173
+ @arguably.command
1174
+ def job__model_requirements(model_id: str, *others):
1175
+ values = get_deployment_values(model_id=model_id)
1176
+ console.log(values)
1177
+
1178
+
1168
1179
  @arguably.command
1169
1180
  def job__estimate(
1170
1181
  *others,
@@ -1180,6 +1191,7 @@ def job__estimate(
1180
1191
  precision_bytes = {
1181
1192
  "fp32": 4,
1182
1193
  "fp16": 2,
1194
+ "fp8": 1,
1183
1195
  "int8": 1,
1184
1196
  "int4": 0.5
1185
1197
  }
kalavai_client/core.py CHANGED
@@ -2,7 +2,7 @@ import os
2
2
  import yaml
3
3
  import time
4
4
  from collections import defaultdict
5
- import math
5
+ import random
6
6
  import uuid
7
7
  import socket
8
8
  import ipaddress
@@ -69,8 +69,7 @@ from kalavai_client.env import (
69
69
  USER_NODE_LABEL,
70
70
  DEFAULT_WATCHER_PORT,
71
71
  HELM_APPS_FILE,
72
- HELM_APPS_VALUES,
73
- POOL_CONFIG_DEFAULT_VALUES,
72
+ MODEL_DEPLOYMENT_VALUES_MAPPING,
74
73
  POOL_CONFIG_TEMPLATE,
75
74
  FORBIDEDEN_IPS,
76
75
  DEFAULT_POOL_CONFIG_TEMPLATE
@@ -105,6 +104,70 @@ class TokenType(Enum):
105
104
  WORKER = 2
106
105
 
107
106
 
107
+ def get_deployment_values(model_id: str):
108
+ """
109
+ Given a model ID and the resources in the pool, identify key
110
+ computing values required to deploy the model.
111
+ - GPU_BACKEND: rocm or cuda
112
+ - WORKERS: number of nodes to use
113
+ -
114
+ """
115
+ # get hardcoded deployment values (per model)
116
+ with open(MODEL_DEPLOYMENT_VALUES_MAPPING, "r") as f:
117
+ mapping = yaml.safe_load(f)
118
+
119
+ def _parse_memory_str(memory: str):
120
+ memory = memory.replace("G", "")
121
+ return int(memory)
122
+
123
+ def _get_num_workers(memory_values: list[int], size):
124
+ workers = 0
125
+ available_memory = 0
126
+ for gpu_mem in memory_values:
127
+ available_memory += gpu_mem
128
+ workers += 1
129
+ if available_memory >= size:
130
+ break
131
+ return workers
132
+
133
+ # get resources
134
+ if model_id in mapping:
135
+ model_size = mapping[model_id]["size"]
136
+ # get gpus and extract available memory
137
+ nvidia_gpu_mems = []
138
+ amd_gpu_mems = []
139
+ backends = set()
140
+ for node_name, gpus in load_gpu_models():
141
+ for gpu in gpus["gpus"]:
142
+ if "nvidia" in gpu["model"].lower():
143
+ nvidia_gpu_mems.append(_parse_memory_str(gpu["memory"]))
144
+ backends.add("cuda")
145
+ else:
146
+ amd_gpu_mems.append(_parse_memory_str(gpu["memory"]))
147
+ backends.add("rocm")
148
+ nvidia_gpu_mems = sorted(nvidia_gpu_mems, reverse=False)
149
+ amd_gpu_mems = sorted(amd_gpu_mems, reverse=False)
150
+ # calculate num workers required
151
+ if sum(nvidia_gpu_mems) >= model_size and sum(amd_gpu_mems) < model_size:
152
+ gpu_backend = "cuda"
153
+ num_workers = _get_num_workers(memory_values=nvidia_gpu_mems, size=model_size)
154
+ elif sum(amd_gpu_mems) >= model_size and sum(nvidia_gpu_mems) < model_size:
155
+ gpu_backend = "rocm"
156
+ num_workers = _get_num_workers(memory_values=amd_gpu_mems, size=model_size)
157
+ else:
158
+ gpu_backend = random.choice(list(backends))
159
+ num_workers = _get_num_workers(
160
+ memory_values=amd_gpu_mems if gpu_backend == "rocm" else nvidia_gpu_mems,
161
+ size=model_size
162
+ )
163
+ # populate selected template
164
+ mapping[model_id][gpu_backend]["values"]["workers"] = num_workers
165
+ mapping[model_id][gpu_backend]["values"]["pipeline_parallel_size"] = num_workers
166
+
167
+ return mapping[model_id][gpu_backend]
168
+ return None
169
+
170
+
108
171
  def set_schedulable(schedulable, node_names):
109
172
  """
110
173
  Delete job in the cluster
@@ -545,7 +608,7 @@ def check_token(token, public=False):
545
608
  if public:
546
609
  if data[PUBLIC_LOCATION_KEY] is None:
547
610
  raise ValueError("Token is not valid for public pools. Did you start the cluster with a public_location?")
548
- return {"status": True}
611
+ return {"status": True, "data": data}
549
612
  except Exception as e:
550
613
  return {"error": str(e)}
551
614
 
@@ -671,7 +734,8 @@ def join_pool(
671
734
  num_gpus=None,
672
735
  node_name=None,
673
736
  ip_address=None,
674
- target_platform="amd64"
737
+ target_platform="amd64",
738
+ mtu="1420"
675
739
  ):
676
740
  compatibility = check_worker_compatibility()
677
741
  if len(compatibility["issues"]) > 0:
@@ -714,6 +778,7 @@ def join_pool(
714
778
  pool_token=kalavai_token,
715
779
  num_gpus=num_gpus,
716
780
  vpn_token=public_location,
781
+ mtu=mtu,
717
782
  node_name=node_name,
718
783
  node_labels=node_labels)
719
784
 
@@ -763,6 +828,7 @@ def create_pool(
763
828
  token_mode: TokenType=TokenType.USER,
764
829
  num_gpus: int=-1,
765
830
  node_name: str=None,
831
+ mtu: str=None,
766
832
  apps: list=[]
767
833
  ):
768
834
 
@@ -794,6 +860,7 @@ def create_pool(
794
860
  ip_address = config_values["server"]["ip_address"] if ip_address is None else ip_address
795
861
  location = config_values["server"]["location"] if location is None else location
796
862
  target_platform = config_values["server"]["platform"] if target_platform is None else target_platform
863
+ mtu = config_values["server"]["mtu"] if mtu is None else mtu
797
864
  app_values = config_values["core"]
798
865
  post_config_values = config_values["pool"]
799
866
  deploy_apps = {
@@ -805,6 +872,8 @@ def create_pool(
805
872
  return {"error": f"Error when loading pool config. Missing format? {str(e)}"}
806
873
 
807
874
  # Generate docker compose recipe
875
+ if ip_address is None:
876
+ ip_address = "0.0.0.0"
808
877
  generate_compose_config(
809
878
  target_platform=target_platform,
810
879
  role="server",
@@ -812,7 +881,8 @@ def create_pool(
812
881
  node_ip_address=ip_address,
813
882
  num_gpus=num_gpus,
814
883
  node_name=node_name,
815
- node_labels=node_labels
884
+ node_labels=node_labels,
885
+ mtu=mtu
816
886
  )
817
887
 
818
888
  # start server
kalavai_client/env.py CHANGED
@@ -56,6 +56,7 @@ USER_WORKSPACE_TEMPLATE = resource_path("kalavai_client/assets/user_workspace.ya
56
56
  DEFAULT_USER_WORKSPACE_VALUES = resource_path("kalavai_client/assets/user_workspace_values.yaml")
57
57
  POOL_CONFIG_TEMPLATE = resource_path("kalavai_client/assets/pool_config_template.yaml")
58
58
  POOL_CONFIG_DEFAULT_VALUES = resource_path("kalavai_client/assets/pool_config_values.yaml")
59
+ MODEL_DEPLOYMENT_VALUES_MAPPING = resource_path("kalavai_client/assets/model_deployment_values.yaml")
59
60
  # user specific config files
60
61
  USER_TEMPLATES_FOLDER = user_path("templates", create_path=True)
61
62
  USER_LOCAL_SERVER_FILE = user_path(".server")
kalavai_client/utils.py CHANGED
@@ -129,7 +129,7 @@ def extract_auth_token(headers):
129
129
  return {"error": str(e)}
130
130
 
131
131
 
132
- def generate_compose_config(role, node_name, target_platform="amd64", write_to_file=True, node_ip_address="0.0.0.0", num_gpus=0, node_labels=None, pool_ip=None, vpn_token=None, pool_token=None):
132
+ def generate_compose_config(role, node_name, mtu="1420", target_platform="amd64", write_to_file=True, node_ip_address="0.0.0.0", num_gpus=0, node_labels=None, pool_ip=None, vpn_token=None, pool_token=None):
133
133
 
134
134
  if node_labels is not None:
135
135
  node_labels = " ".join([f"--node-label {key}={value}" for key, value in node_labels.items()])
@@ -140,6 +140,7 @@ def generate_compose_config(role, node_name, target_platform="amd64", write_to_f
140
140
  "service_name": DEFAULT_CONTAINER_NAME,
141
141
  "vpn": vpn_token is not None,
142
142
  "vpn_name": DEFAULT_VPN_CONTAINER_NAME,
143
+ "mtu": mtu,
143
144
  "node_ip_address": node_ip_address,
144
145
  "pool_ip": pool_ip,
145
146
  "pool_token": pool_token,
@@ -1,20 +1,21 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: kalavai-client
3
- Version: 0.7.4
3
+ Version: 0.7.5
4
4
  Summary: Client app for kalavai platform
5
- License: Apache-2.0
5
+ License-Expression: Apache-2.0
6
+ License-File: LICENSE
6
7
  Keywords: LLM,platform
7
8
  Author: Carlos Fernandez Musoles
8
9
  Author-email: carlos@kalavai.net
9
10
  Maintainer: Carlos Fernandez Musoles
10
11
  Maintainer-email: carlos@kalavai.net
11
12
  Requires-Python: >=3.10
12
- Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
18
19
  Provides-Extra: dev
19
20
  Requires-Dist: Pillow (==10.3.0)
20
21
  Requires-Dist: arguably (>=1.2.5)
@@ -0,0 +1,25 @@
1
+ kalavai_client/__init__.py,sha256=2yNV33mxa4mw0NRZdX1rF9R0X_uQaQl59WtFaMqS_ss,22
2
+ kalavai_client/__main__.py,sha256=WQUfxvRsBJH5gsCJg8pLz95QnZIj7Ol8psTO77m0QE0,73
3
+ kalavai_client/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ kalavai_client/assets/apps.yaml,sha256=z5lLrBbR8KVP5Ou3pbD6cELYWATs9VJuRu-PPe1GMNk,7007
5
+ kalavai_client/assets/default_pool_config.yaml,sha256=FLfT0i-xPgEZhleTOZmfyFYrB9fAEMOmZ0YGLyJr0OA,1879
6
+ kalavai_client/assets/docker-compose-gui.yaml,sha256=OAVO0ohaCpDB9FGeih0yAbVNwUfDtaCzssZ25uiuJyA,787
7
+ kalavai_client/assets/docker-compose-template.yaml,sha256=8giwNUVbVGxF_YppNMIsS7evWZ8qb4n2enK22u-x6Pk,1920
8
+ kalavai_client/assets/model_deployment_values.yaml,sha256=PKD9DGJnRRwYfk6pO4cmGN9gIgylHX3IFW2sDweEGdU,1698
9
+ kalavai_client/assets/nginx.conf,sha256=drVVCg8GHucz7hmt_BI6giAhK92OV71257NTs3LthwM,225
10
+ kalavai_client/assets/pool_config_template.yaml,sha256=MhBZQsEMKrBgbUVSKgIGmXWhybeGKG6l5XvJb38y5GI,577
11
+ kalavai_client/assets/user_workspace.yaml,sha256=wDvlMYknOPABAEo0dsQwU7bac8iubjAG9tdkFbJZ5Go,476
12
+ kalavai_client/assets/user_workspace_values.yaml,sha256=G0HOzQUxrDMCwuW9kbWUZaKMzDDPVwDwzBHCL2Xi2ZM,542
13
+ kalavai_client/auth.py,sha256=EB3PMvKUn5_KAQkezkEHEt-OMZXyfkZguIQlUFkEHcA,3243
14
+ kalavai_client/bridge_api.py,sha256=6NGRIbu3CtWyT75XCFKkLSfllF54vGJmYBjnX9qiWX8,27657
15
+ kalavai_client/bridge_models.py,sha256=bq6vQNTI1py7e_1YgnBZhorFsAKoBqBVN7nRukCuQRE,2960
16
+ kalavai_client/cli.py,sha256=7EdEHjJxoS0lgmWFyT72k7rl3-qJ7ODz9ju_wZGYB1I,48312
17
+ kalavai_client/cluster.py,sha256=Z2PIXbZuSAv9xmw-MyZP1M41BpVMpirLzG51bqGA-zc,13548
18
+ kalavai_client/core.py,sha256=BUlCOeQnXTAqwjD4rxWIshk9Sf_s-QJy9UB6cUbcECo,38906
19
+ kalavai_client/env.py,sha256=0L5gfEo5KY8gflrW-rSADx10ffDa-8gXmmrGWztKUd8,3099
20
+ kalavai_client/utils.py,sha256=L0FQJT8EucabPAbxGwzMqeawJdj4wTZqmmZ0OdsyVwM,13470
21
+ kalavai_client-0.7.5.dist-info/METADATA,sha256=u04xcVwDMzNCp-xU_6TE791B5xQlSc2jnqnzRB587vI,13175
22
+ kalavai_client-0.7.5.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
23
+ kalavai_client-0.7.5.dist-info/entry_points.txt,sha256=9T6D45gxwzfVbglMm1r6XPdXuuZdHfy_7fCeu2jUphc,50
24
+ kalavai_client-0.7.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
25
+ kalavai_client-0.7.5.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: poetry-core 2.2.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,24 +0,0 @@
1
- kalavai_client/__init__.py,sha256=tEb-PZ0vatpsK8g60stVimfhqVV4BkN49tzmy1jwTv8,22
2
- kalavai_client/__main__.py,sha256=WQUfxvRsBJH5gsCJg8pLz95QnZIj7Ol8psTO77m0QE0,73
3
- kalavai_client/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- kalavai_client/assets/apps.yaml,sha256=z5lLrBbR8KVP5Ou3pbD6cELYWATs9VJuRu-PPe1GMNk,7007
5
- kalavai_client/assets/default_pool_config.yaml,sha256=zfzefofkG9rld9OxSFWbvcVGkz5TNRq0mw6M8X0tVYA,1865
6
- kalavai_client/assets/docker-compose-gui.yaml,sha256=OAVO0ohaCpDB9FGeih0yAbVNwUfDtaCzssZ25uiuJyA,787
7
- kalavai_client/assets/docker-compose-template.yaml,sha256=vW7GhOl_PaUodehJk8qajOlE0deZXrPc7qizg5SeYyc,1859
8
- kalavai_client/assets/nginx.conf,sha256=drVVCg8GHucz7hmt_BI6giAhK92OV71257NTs3LthwM,225
9
- kalavai_client/assets/pool_config_template.yaml,sha256=MhBZQsEMKrBgbUVSKgIGmXWhybeGKG6l5XvJb38y5GI,577
10
- kalavai_client/assets/user_workspace.yaml,sha256=wDvlMYknOPABAEo0dsQwU7bac8iubjAG9tdkFbJZ5Go,476
11
- kalavai_client/assets/user_workspace_values.yaml,sha256=G0HOzQUxrDMCwuW9kbWUZaKMzDDPVwDwzBHCL2Xi2ZM,542
12
- kalavai_client/auth.py,sha256=EB3PMvKUn5_KAQkezkEHEt-OMZXyfkZguIQlUFkEHcA,3243
13
- kalavai_client/bridge_api.py,sha256=0TvAGgsyfMkbcVqoPKsjhXQLo06WetBH93mZH-pOM7U,26921
14
- kalavai_client/bridge_models.py,sha256=bq6vQNTI1py7e_1YgnBZhorFsAKoBqBVN7nRukCuQRE,2960
15
- kalavai_client/cli.py,sha256=JDzBZF63S4GGiII47QWbPgKPlYP2mNDcrucj9s-QMUI,47968
16
- kalavai_client/cluster.py,sha256=Z2PIXbZuSAv9xmw-MyZP1M41BpVMpirLzG51bqGA-zc,13548
17
- kalavai_client/core.py,sha256=-YITkLcwhkwJLU1Z-I9yEW_e4QVgt8-sQ8A0_uMW7f4,36184
18
- kalavai_client/env.py,sha256=Uu4ojOsssATfKAC4dKMbR3_kc6hRN6w9ZRsaC7DvzAo,2997
19
- kalavai_client/utils.py,sha256=1mz-dzoJhZ9GJKU7jiGYBC1tP37SXHvxToMqqEir8R0,13438
20
- kalavai_client-0.7.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
21
- kalavai_client-0.7.4.dist-info/METADATA,sha256=RKD51W-Kd_aX5LhW1YbKLhcsRWrndU3aorWL2NXhbWY,13154
22
- kalavai_client-0.7.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
23
- kalavai_client-0.7.4.dist-info/entry_points.txt,sha256=9T6D45gxwzfVbglMm1r6XPdXuuZdHfy_7fCeu2jUphc,50
24
- kalavai_client-0.7.4.dist-info/RECORD,,