kalavai-client 0.5.30__py3-none-any.whl → 0.6.1__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.
- kalavai_client/__init__.py +1 -1
- kalavai_client/assets/apps.yaml +9 -7
- kalavai_client/assets/apps_values.yaml +0 -2
- kalavai_client/assets/docker-compose-gui.yaml +3 -0
- kalavai_client/assets/docker-compose-template.yaml +1 -3
- kalavai_client/auth.py +92 -50
- kalavai_client/bridge_api.py +39 -26
- kalavai_client/cli.py +111 -105
- kalavai_client/core.py +108 -113
- kalavai_client/env.py +9 -4
- kalavai_client/utils.py +66 -133
- {kalavai_client-0.5.30.dist-info → kalavai_client-0.6.1.dist-info}/METADATA +6 -27
- kalavai_client-0.6.1.dist-info/RECORD +25 -0
- {kalavai_client-0.5.30.dist-info → kalavai_client-0.6.1.dist-info}/WHEEL +1 -1
- kalavai_client-0.5.30.dist-info/RECORD +0 -25
- {kalavai_client-0.5.30.dist-info → kalavai_client-0.6.1.dist-info}/LICENSE +0 -0
- {kalavai_client-0.5.30.dist-info → kalavai_client-0.6.1.dist-info}/entry_points.txt +0 -0
kalavai_client/utils.py
CHANGED
@@ -12,8 +12,7 @@ from jinja2 import Template
|
|
12
12
|
from rich.table import Table
|
13
13
|
import yaml
|
14
14
|
|
15
|
-
|
16
|
-
from kalavai_client.auth import KalavaiAuthClient
|
15
|
+
from kalavai_client.auth import KalavaiAuth
|
17
16
|
from kalavai_client.env import (
|
18
17
|
SERVER_IP_KEY,
|
19
18
|
DOCKER_COMPOSE_TEMPLATE,
|
@@ -22,6 +21,7 @@ from kalavai_client.env import (
|
|
22
21
|
DEFAULT_VPN_CONTAINER_NAME,
|
23
22
|
CONTAINER_HOST_PATH,
|
24
23
|
USER_COMPOSE_FILE,
|
24
|
+
USER_COOKIE,
|
25
25
|
user_path
|
26
26
|
)
|
27
27
|
|
@@ -38,6 +38,8 @@ CLUSTER_NAME_KEY = "cluster_name"
|
|
38
38
|
AUTH_KEY = "watcher_admin_key"
|
39
39
|
WRITE_AUTH_KEY = "watcher_write_key"
|
40
40
|
ALLOW_UNREGISTERED_USER_KEY = "watcher_allow_unregistered_user"
|
41
|
+
DEPLOY_LLM_SIDECARS_KEY = "deploy_llm_sidecars"
|
42
|
+
NODE_ROLE_LABEL = "kalavai.node_role"
|
41
43
|
USER_API_KEY = "user_api_key"
|
42
44
|
READONLY_AUTH_KEY = "watcher_readonly_key"
|
43
45
|
WATCHER_SERVICE_KEY = "watcher_service"
|
@@ -62,6 +64,12 @@ MANDATORY_POOLCONFIG_FIELDS = [
|
|
62
64
|
PUBLIC_LOCATION_KEY
|
63
65
|
]
|
64
66
|
|
67
|
+
KALAVAI_AUTH = KalavaiAuth(
|
68
|
+
auth_service_url="dummy_url",
|
69
|
+
auth_service_key="dummy_key",
|
70
|
+
user_cookie_file=USER_COOKIE
|
71
|
+
)
|
72
|
+
|
65
73
|
|
66
74
|
####### Methods to check OS compatibility ########
|
67
75
|
def check_gpu_drivers():
|
@@ -92,7 +100,7 @@ def is_storage_compatible():
|
|
92
100
|
return False
|
93
101
|
################
|
94
102
|
|
95
|
-
def generate_compose_config(role, node_name,
|
103
|
+
def generate_compose_config(role, node_name, 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):
|
96
104
|
|
97
105
|
if node_labels is not None:
|
98
106
|
node_labels = " ".join([f"--node-label {key}={value}" for key, value in node_labels.items()])
|
@@ -100,7 +108,7 @@ def generate_compose_config(role, node_name, is_public, node_ip_address="0.0.0.0
|
|
100
108
|
compose_values = {
|
101
109
|
"user_path": user_path(""),
|
102
110
|
"service_name": DEFAULT_CONTAINER_NAME,
|
103
|
-
"vpn":
|
111
|
+
"vpn": vpn_token is not None,
|
104
112
|
"vpn_name": DEFAULT_VPN_CONTAINER_NAME,
|
105
113
|
"node_ip_address": node_ip_address,
|
106
114
|
"pool_ip": pool_ip,
|
@@ -113,14 +121,15 @@ def generate_compose_config(role, node_name, is_public, node_ip_address="0.0.0.0
|
|
113
121
|
"k3s_path": f"{CONTAINER_HOST_PATH}/{rand_suffix}/k3s",
|
114
122
|
"etc_path": f"{CONTAINER_HOST_PATH}/{rand_suffix}/etc",
|
115
123
|
"node_labels": node_labels,
|
116
|
-
"flannel_iface": DEFAULT_FLANNEL_IFACE if
|
124
|
+
"flannel_iface": DEFAULT_FLANNEL_IFACE if vpn_token is not None else ""
|
117
125
|
}
|
118
126
|
# generate local config files
|
119
127
|
compose_yaml = load_template(
|
120
128
|
template_path=DOCKER_COMPOSE_TEMPLATE,
|
121
129
|
values=compose_values)
|
122
|
-
|
123
|
-
|
130
|
+
if write_to_file:
|
131
|
+
with open(USER_COMPOSE_FILE, "w") as f:
|
132
|
+
f.write(compose_yaml)
|
124
133
|
return compose_yaml
|
125
134
|
|
126
135
|
def is_watcher_alive(server_creds, user_cookie, timeout=30):
|
@@ -146,126 +155,63 @@ def load_server_info(data_key, file):
|
|
146
155
|
return json.load(f)[data_key]
|
147
156
|
except:
|
148
157
|
return None
|
149
|
-
|
150
|
-
def user_login(user_cookie, username=None, password=None):
|
151
|
-
auth = KalavaiAuthClient(
|
152
|
-
user_cookie_file=user_cookie
|
153
|
-
)
|
154
|
-
user = auth.load_user_session()
|
155
|
-
if user is None:
|
156
|
-
user = auth.login(username=username, password=password)
|
157
|
-
return user
|
158
|
-
|
159
|
-
def user_logout(user_cookie):
|
160
|
-
auth = KalavaiAuthClient(
|
161
|
-
user_cookie_file=user_cookie
|
162
|
-
)
|
163
|
-
auth.logout()
|
164
158
|
|
165
|
-
def load_user_session(
|
166
|
-
|
167
|
-
user_cookie_file=user_cookie
|
168
|
-
)
|
169
|
-
if not auth.is_logged_in():
|
170
|
-
return None
|
171
|
-
return auth.load_user_session()
|
159
|
+
def load_user_session():
|
160
|
+
return KALAVAI_AUTH.load_user_session()
|
172
161
|
|
173
|
-
def
|
174
|
-
|
175
|
-
user_cookie_file=user_cookie
|
176
|
-
)
|
177
|
-
if not auth.is_logged_in():
|
178
|
-
raise ValueError("Cannot access vpns, user is not authenticated")
|
179
|
-
seeds = auth.call_function(
|
180
|
-
"get_public_vpns"
|
181
|
-
)
|
182
|
-
return seeds
|
162
|
+
def load_user_id():
|
163
|
+
return KALAVAI_AUTH.get_user_id()
|
183
164
|
|
184
165
|
def get_public_seeds(user_only, user_cookie):
|
185
|
-
|
186
|
-
|
187
|
-
)
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
)
|
195
|
-
return seeds
|
196
|
-
|
197
|
-
def get_vpn_details(location, user_cookie):
|
198
|
-
auth = KalavaiAuthClient(
|
199
|
-
user_cookie_file=user_cookie
|
200
|
-
)
|
201
|
-
if not auth.is_logged_in():
|
202
|
-
raise ValueError("Cannot access vpns, user is not authenticated")
|
203
|
-
vpn = auth.call_function(
|
204
|
-
"get_vpn_details",
|
205
|
-
location
|
206
|
-
)
|
207
|
-
return vpn
|
166
|
+
return []
|
167
|
+
# if not auth_obj.is_logged_in():
|
168
|
+
# raise ValueError("Cannot access vpns, user is not authenticated")
|
169
|
+
# user = auth_obj.load_user_session() if user_only else None
|
170
|
+
# seeds = auth_obj.call_function(
|
171
|
+
# "get_available_seeds",
|
172
|
+
# user
|
173
|
+
# )
|
174
|
+
# return seeds
|
208
175
|
|
209
176
|
def register_cluster(name, token, description, user_cookie, is_private=True):
|
210
|
-
|
211
|
-
|
212
|
-
)
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
)
|
224
|
-
return seed
|
177
|
+
return None
|
178
|
+
# if not auth_obj.is_logged_in():
|
179
|
+
# raise ValueError("Cannot register cluster, user is not authenticated")
|
180
|
+
# user = auth_obj.load_user_session()
|
181
|
+
# seed = auth_obj.call_function(
|
182
|
+
# "register_seed",
|
183
|
+
# name,
|
184
|
+
# user,
|
185
|
+
# description,
|
186
|
+
# token,
|
187
|
+
# is_private
|
188
|
+
# )
|
189
|
+
# return seed
|
225
190
|
|
226
191
|
def unregister_cluster(name, user_cookie):
|
227
|
-
|
228
|
-
|
229
|
-
)
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
)
|
238
|
-
return seed
|
239
|
-
|
240
|
-
def validate_join_public_seed(cluster_name, join_key, user_cookie):
|
241
|
-
auth = KalavaiAuthClient(
|
242
|
-
user_cookie_file=user_cookie
|
243
|
-
)
|
244
|
-
if not auth.is_logged_in():
|
245
|
-
raise ValueError("Cannot notify join cluster, user is not authenticated")
|
246
|
-
user = auth.load_user_session()
|
247
|
-
seed = auth.call_function(
|
248
|
-
"validate_join_public_seed",
|
249
|
-
cluster_name,
|
250
|
-
join_key,
|
251
|
-
user,
|
252
|
-
)
|
253
|
-
return seed
|
192
|
+
return None
|
193
|
+
# if not auth_obj.is_logged_in():
|
194
|
+
# raise ValueError("Cannot unregister cluster, user is not authenticated")
|
195
|
+
# user = auth_obj.load_user_session()
|
196
|
+
# seed = auth_obj.call_function(
|
197
|
+
# "unregister_seed",
|
198
|
+
# name,
|
199
|
+
# user,
|
200
|
+
# )
|
201
|
+
# return seed
|
254
202
|
|
255
203
|
def send_pool_invite(cluster_name, invitee_addresses, user_cookie):
|
256
|
-
|
257
|
-
|
258
|
-
)
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
)
|
268
|
-
return result
|
204
|
+
return None
|
205
|
+
# if not auth_obj.is_logged_in():
|
206
|
+
# raise ValueError("Cannot notify join cluster, user is not authenticated")
|
207
|
+
# user = auth_obj.load_user_session()
|
208
|
+
# result = auth_obj.call_function(
|
209
|
+
# "send_pool_invite",
|
210
|
+
# user,
|
211
|
+
# cluster_name,
|
212
|
+
# invitee_addresses
|
213
|
+
# )
|
214
|
+
# return result
|
269
215
|
|
270
216
|
def validate_poolconfig(poolconfig_file):
|
271
217
|
if not Path(poolconfig_file).is_file():
|
@@ -284,20 +230,6 @@ def run_cmd(command):
|
|
284
230
|
except OSError as error:
|
285
231
|
return error # for exit code
|
286
232
|
|
287
|
-
def join_vpn(location, user_cookie):
|
288
|
-
vpn = get_vpn_details(location=location, user_cookie=user_cookie)
|
289
|
-
token = vpn["key"]
|
290
|
-
if token is None:
|
291
|
-
raise ValueError(f"VPN location {location} not found or is private")
|
292
|
-
try:
|
293
|
-
data = decode_dict(token)
|
294
|
-
for field in ["server", "value"]:
|
295
|
-
assert field in data
|
296
|
-
except:
|
297
|
-
raise ValueError("Invalid net token")
|
298
|
-
run_cmd(f"sudo netclient join -t {token} >/dev/null 2>&1")
|
299
|
-
return vpn
|
300
|
-
|
301
233
|
def leave_vpn(container_name):
|
302
234
|
try:
|
303
235
|
vpns = json.loads(run_cmd(f"docker exec {container_name} netclient list").decode())
|
@@ -332,9 +264,10 @@ def request_to_server(
|
|
332
264
|
"X-API-KEY": auth_key
|
333
265
|
}
|
334
266
|
|
335
|
-
user = load_user_session(user_cookie=user_cookie)
|
336
267
|
headers["USER-KEY"] = load_server_info(data_key=USER_API_KEY, file=server_creds)
|
337
|
-
|
268
|
+
user_id = load_user_id()
|
269
|
+
if user_id is not None:
|
270
|
+
headers["USER"] = user_id
|
338
271
|
|
339
272
|
response = requests.request(
|
340
273
|
method=method,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: kalavai-client
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.6.1
|
4
4
|
Summary: Client app for kalavai platform
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: LLM,platform
|
@@ -23,7 +23,6 @@ Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.13
|
24
24
|
Provides-Extra: dev
|
25
25
|
Requires-Dist: Pillow (==10.3.0)
|
26
|
-
Requires-Dist: anvil-uplink (==0.5.1)
|
27
26
|
Requires-Dist: arguably (>=1.2.5)
|
28
27
|
Requires-Dist: build ; extra == "dev"
|
29
28
|
Requires-Dist: fastapi (==0.115.8)
|
@@ -53,10 +52,10 @@ Description-Content-Type: text/markdown
|
|
53
52
|
|
54
53
|
</div>
|
55
54
|
|
56
|
-
⭐⭐⭐ **Kalavai and our
|
55
|
+
⭐⭐⭐ **Kalavai and our AI pools are open source, and free to use in both commercial and non-commercial purposes. If you find it useful, consider supporting us by [giving a star to our GitHub project](https://github.com/kalavai-net/kalavai-client), joining our [discord channel](https://discord.gg/YN6ThTJKbM), follow our [Substack](https://kalavainet.substack.com/) and give us a [review on Product Hunt](https://www.producthunt.com/products/kalavai/reviews/new).**
|
57
56
|
|
58
57
|
|
59
|
-
# Kalavai: turn your devices into a scalable
|
58
|
+
# Kalavai: turn your devices into a scalable AI platform
|
60
59
|
|
61
60
|
### Taming the adoption of Large Language Models
|
62
61
|
|
@@ -71,7 +70,7 @@ Description-Content-Type: text/markdown
|
|
71
70
|
|
72
71
|
## What can Kalavai do?
|
73
72
|
|
74
|
-
Kalavai's goal is to make using LLMs in real applications accessible and affordable to all. It's a _magic box_ that **integrates all the components required to make
|
73
|
+
Kalavai's goal is to make using AI (LLMs, AI agents) in real applications accessible and affordable to all. It's a _magic box_ that **integrates all the components required to make AI useful in the age of massive computing**, from model deployment and orchestration to Agentic AI.
|
75
74
|
|
76
75
|
### Core features
|
77
76
|
|
@@ -86,18 +85,6 @@ Kalavai's goal is to make using LLMs in real applications accessible and afforda
|
|
86
85
|
|
87
86
|
**<summary>Video tutorials</summary>**
|
88
87
|
|
89
|
-
### Aggregate multiple devices in an LLM pool
|
90
|
-
|
91
|
-
https://github.com/user-attachments/assets/4be59886-1b76-4400-ab5c-c803e3e414ec
|
92
|
-
|
93
|
-
### Deploy LLMs across the pool
|
94
|
-
|
95
|
-
https://github.com/user-attachments/assets/ea57a2ab-3924-4097-be2a-504e0988fbb1
|
96
|
-
|
97
|
-
### Single point of entry for all models (GUI + API)
|
98
|
-
|
99
|
-
https://github.com/user-attachments/assets/7df73bbc-d129-46aa-8ce5-0735177dedeb
|
100
|
-
|
101
88
|
### Self-hosted LLM pools
|
102
89
|
|
103
90
|
https://github.com/user-attachments/assets/0d2316f3-79ea-46ac-b41e-8ef720f52672
|
@@ -211,7 +198,7 @@ pip install kalavai-client
|
|
211
198
|
```
|
212
199
|
|
213
200
|
|
214
|
-
## Create a a local, private
|
201
|
+
## Create a a local, private AI pool
|
215
202
|
|
216
203
|
> Kalavai is **free to use, no caps, for both commercial and non-commercial purposes**. All you need to get started is one or more computers that can see each other (i.e. within the same network), and you are good to go. If you are interested in join computers in different locations / networks, [contact us](mailto:info@kalavai.net) or [book a demo](https://app.onecal.io/b/kalavai/book-a-demo) with the founders.
|
217
204
|
|
@@ -228,13 +215,6 @@ This will expose the GUI and the backend services in localhost. By default, the
|
|
228
215
|
Check out our [getting started guide](https://kalavai-net.github.io/kalavai-client/getting_started/) for next steps.
|
229
216
|
|
230
217
|
|
231
|
-
## Public LLM pools: crowdsource community resources
|
232
|
-
|
233
|
-
This is the **easiest and most powerful** way to experience Kalavai. It affords users the full resource capabilities of the community and access to all its deployed LLMs, via an [OpenAI-compatible endpoint](https://kalavai-net.github.io/kalavai-client/public_llm_pool/#single-api-endpoint) as well as a [UI-based playground](https://kalavai-net.github.io/kalavai-client/public_llm_pool/#ui-playground).
|
234
|
-
|
235
|
-
Check out [our guide](https://kalavai-net.github.io/kalavai-client/public_llm_pool/) on how to join and start deploying LLMs.
|
236
|
-
|
237
|
-
|
238
218
|
## Enough already, let's run stuff!
|
239
219
|
|
240
220
|
Check our [examples](examples/) to put your new AI pool to good use! For an end to end tour, check our [self-hosted](https://kalavai-net.github.io/kalavai-client/self_hosted_llm_pool/) and [public LLM pools](https://kalavai-net.github.io/kalavai-client/public_llm_pool/) guides.
|
@@ -268,7 +248,6 @@ The kalavai client, which controls and access pools, can be installed on any mac
|
|
268
248
|
- [x] Kalavai client on Linux
|
269
249
|
- [x] [TEMPLATE] Distributed LLM deployment
|
270
250
|
- [x] Kalavai client on Windows (with WSL2)
|
271
|
-
- [x] Public LLM pools
|
272
251
|
- [x] Self-hosted LLM pools
|
273
252
|
- [x] Collaborative LLM deployment
|
274
253
|
- [x] Ray cluster support
|
@@ -308,7 +287,7 @@ Python version >= 3.6.
|
|
308
287
|
```bash
|
309
288
|
sudo add-apt-repository ppa:deadsnakes/ppa
|
310
289
|
sudo apt update
|
311
|
-
sudo apt install python3.10 python3.10-dev python3-virtualenv
|
290
|
+
sudo apt install python3.10 python3.10-dev python3-virtualenv python3-venv
|
312
291
|
virtualenv -p python3.10 env
|
313
292
|
source env/bin/activate
|
314
293
|
sudo apt install python3.10-venv python3.10-dev -y
|
@@ -0,0 +1,25 @@
|
|
1
|
+
kalavai_client/__init__.py,sha256=RUEIQh8z_V_kGKsMyzH8WJLz-dW7GvzomrpPti1qfDw,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=H2HZQ_oqdNz2qPDs5_NtHvJo4rblH1DRPugzQYq_t5Q,6366
|
5
|
+
kalavai_client/assets/apps_values.yaml,sha256=WRew3bS1MztjzcJfphuJcKn0n2T1ICRupPpr_Csjt_s,1644
|
6
|
+
kalavai_client/assets/docker-compose-gui.yaml,sha256=IHClIltiu8C4nHbgDgAscf3Ls6UFngbeQP07kj31kjM,776
|
7
|
+
kalavai_client/assets/docker-compose-template.yaml,sha256=uct7xmXtO1XgNimdirSiQusb-RYsPbnL67TVkj2oWrU,2772
|
8
|
+
kalavai_client/assets/nginx.conf,sha256=drVVCg8GHucz7hmt_BI6giAhK92OV71257NTs3LthwM,225
|
9
|
+
kalavai_client/assets/pool_config_template.yaml,sha256=fFz4w2-fMKD5KvyzFdfcWD_jSneRlmnjLc8hCctweX0,576
|
10
|
+
kalavai_client/assets/pool_config_values.yaml,sha256=VrM3XHQfQo6QLZ68qvagooUptaYgl1pszniY_JUtemk,233
|
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=IkKq_CODA4p4UJkk6UqXKHkz5m2ESq2mL3tKqkQk6T0,6910
|
15
|
+
kalavai_client/bridge_models.py,sha256=k4ILxa8jfAcfgIIBJqK1DunDzHh_oNUpuiEpmhAfTP0,977
|
16
|
+
kalavai_client/cli.py,sha256=TUZJDmHdpBnF7Po-rnI97S1VYDPWxde1JqaHtb9xlIQ,46996
|
17
|
+
kalavai_client/cluster.py,sha256=gwjmdsd--YrffT0BmZDOEpbrdm3lPskUuN5jdgcrOR0,12947
|
18
|
+
kalavai_client/core.py,sha256=CWJQ38BZ2mLavfOCyR7wsDdy4fRTpjnYmggoXcR9Ji8,32531
|
19
|
+
kalavai_client/env.py,sha256=J-9_YopIIVBCnwTFxoQ9jq8JWUDdKrB__S-Wig6TWSU,2767
|
20
|
+
kalavai_client/utils.py,sha256=k2Bpvl16zDpWBXMIMsd_LbkinZtctPO6bygfB7DyiZ8,12018
|
21
|
+
kalavai_client-0.6.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
22
|
+
kalavai_client-0.6.1.dist-info/METADATA,sha256=0VhOSaYS1GdoXSE0w_YNYjfjiXHZ57SiLe3IRVJ7Sz4,13353
|
23
|
+
kalavai_client-0.6.1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
24
|
+
kalavai_client-0.6.1.dist-info/entry_points.txt,sha256=9T6D45gxwzfVbglMm1r6XPdXuuZdHfy_7fCeu2jUphc,50
|
25
|
+
kalavai_client-0.6.1.dist-info/RECORD,,
|
@@ -1,25 +0,0 @@
|
|
1
|
-
kalavai_client/__init__.py,sha256=ROmnKI7L1DQjR4ddCvAjjSIbyHpDByVfi5X4UwPtjws,23
|
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=XahTRpFiaUG3jJGAzokWnNkaVnoogjxHVXBw2kSrwq8,6304
|
5
|
-
kalavai_client/assets/apps_values.yaml,sha256=CjKVelPQHd-hm-DTMEuya92feKiphU9mh3HrosLYYPE,1676
|
6
|
-
kalavai_client/assets/docker-compose-gui.yaml,sha256=6OHZIDDTl_PwXSYo1d05JasWfT0iiUDhrja0nQDjrlw,692
|
7
|
-
kalavai_client/assets/docker-compose-template.yaml,sha256=ii24Nn-dM5cZk9lxFgrzxnmK7yv_6kIIw7KUlWhvYeI,2831
|
8
|
-
kalavai_client/assets/nginx.conf,sha256=drVVCg8GHucz7hmt_BI6giAhK92OV71257NTs3LthwM,225
|
9
|
-
kalavai_client/assets/pool_config_template.yaml,sha256=fFz4w2-fMKD5KvyzFdfcWD_jSneRlmnjLc8hCctweX0,576
|
10
|
-
kalavai_client/assets/pool_config_values.yaml,sha256=VrM3XHQfQo6QLZ68qvagooUptaYgl1pszniY_JUtemk,233
|
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=QsBh28L2LwjBBK6pTUE4Xu36lLDTyetyU1YfS1Hbb6g,1717
|
14
|
-
kalavai_client/bridge_api.py,sha256=xBd3KGoDcruuo53uNWOwA30CIPYgQLX8IkJWJgNHq9s,5546
|
15
|
-
kalavai_client/bridge_models.py,sha256=k4ILxa8jfAcfgIIBJqK1DunDzHh_oNUpuiEpmhAfTP0,977
|
16
|
-
kalavai_client/cli.py,sha256=MNmn8DgnEuyaCV8cMqr17JvfjalHcrP5Udpjn2jVXp8,46713
|
17
|
-
kalavai_client/cluster.py,sha256=gwjmdsd--YrffT0BmZDOEpbrdm3lPskUuN5jdgcrOR0,12947
|
18
|
-
kalavai_client/core.py,sha256=m5FOPzix8oNBlLqgllgJ0PwLXxo-s438fjJ0FPRVIZs,33266
|
19
|
-
kalavai_client/env.py,sha256=Zg2pP-xGJpQumo56KMBxBLgIsBmcNN0S9R-ZP2-s630,2604
|
20
|
-
kalavai_client/utils.py,sha256=OPmrsycNyrs2ZpTsjAzBuPN8hQNJtsYDLPKU13tnf-U,13862
|
21
|
-
kalavai_client-0.5.30.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
22
|
-
kalavai_client-0.5.30.dist-info/METADATA,sha256=Fi8DEzalDmDoASySWKmqIMx4A1DPLrWE8AO_lBtRml0,14443
|
23
|
-
kalavai_client-0.5.30.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
24
|
-
kalavai_client-0.5.30.dist-info/entry_points.txt,sha256=9T6D45gxwzfVbglMm1r6XPdXuuZdHfy_7fCeu2jUphc,50
|
25
|
-
kalavai_client-0.5.30.dist-info/RECORD,,
|
File without changes
|
File without changes
|