xpk 0.11.0__py3-none-any.whl → 0.13.0__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.
- xpk/commands/batch.py +8 -8
- xpk/commands/cluster.py +19 -19
- xpk/commands/cluster_gcluster.py +2 -1
- xpk/commands/common.py +7 -3
- xpk/commands/info.py +12 -12
- xpk/commands/inspector.py +1 -1
- xpk/commands/job.py +42 -12
- xpk/commands/kjob_common.py +2 -1
- xpk/commands/storage.py +6 -3
- xpk/commands/workload.py +28 -15
- xpk/core/blueprint/blueprint_generator.py +7 -7
- xpk/core/blueprint/blueprint_test.py +218 -0
- xpk/core/capacity.py +3 -1
- xpk/core/cluster.py +14 -8
- xpk/core/cluster_private.py +8 -2
- xpk/core/commands.py +13 -10
- xpk/core/config.py +3 -4
- xpk/core/config_test.py +71 -0
- xpk/core/docker_image.py +14 -5
- xpk/core/docker_manager.py +1 -1
- xpk/core/docker_resources.py +10 -5
- xpk/core/filestore.py +7 -2
- xpk/core/gcloud_context.py +2 -2
- xpk/core/jobset.py +1 -1
- xpk/core/kjob.py +7 -3
- xpk/core/kueue.py +28 -8
- xpk/core/nap.py +5 -5
- xpk/core/network.py +1 -1
- xpk/core/nodepool.py +8 -3
- xpk/core/nodepool_test.py +82 -0
- xpk/core/pathways.py +6 -2
- xpk/core/ray.py +1 -1
- xpk/core/resources.py +18 -14
- xpk/core/scheduling.py +4 -0
- xpk/core/storage.py +14 -14
- xpk/core/system_characteristics.py +1 -1
- xpk/core/workload.py +11 -0
- xpk/core/workload_decorators/rdma_decorator.py +3 -2
- xpk/core/workload_decorators/storage_decorator.py +2 -1
- xpk/core/workload_decorators/tcpx_decorator.py +4 -2
- xpk/core/workload_decorators/tcpx_decorator_test.py +267 -0
- xpk/core/workload_decorators/tcpxo_decorator.py +2 -1
- xpk/core/workload_test.py +28 -0
- xpk/main.py +12 -10
- xpk/parser/cluster.py +110 -49
- xpk/parser/common.py +45 -36
- xpk/parser/storage.py +12 -13
- xpk/parser/workload.py +57 -39
- xpk/utils/console.py +2 -1
- xpk/utils/execution_context.py +28 -0
- xpk/utils/file.py +25 -10
- xpk/utils/network.py +4 -0
- {xpk-0.11.0.dist-info → xpk-0.13.0.dist-info}/METADATA +4 -1
- xpk-0.13.0.dist-info/RECORD +101 -0
- xpk-0.11.0.dist-info/RECORD +0 -95
- {xpk-0.11.0.dist-info → xpk-0.13.0.dist-info}/WHEEL +0 -0
- {xpk-0.11.0.dist-info → xpk-0.13.0.dist-info}/entry_points.txt +0 -0
- {xpk-0.11.0.dist-info → xpk-0.13.0.dist-info}/licenses/LICENSE +0 -0
- {xpk-0.11.0.dist-info → xpk-0.13.0.dist-info}/top_level.txt +0 -0
xpk/parser/storage.py
CHANGED
|
@@ -28,6 +28,13 @@ from .common import (
|
|
|
28
28
|
add_kind_cluster_arguments,
|
|
29
29
|
add_shared_arguments,
|
|
30
30
|
)
|
|
31
|
+
from typing import Protocol, Any
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class Subcommands(Protocol):
|
|
35
|
+
|
|
36
|
+
def add_parser(self, *args, **kwargs) -> Any:
|
|
37
|
+
...
|
|
31
38
|
|
|
32
39
|
|
|
33
40
|
def set_storage_parser(storage_parser: argparse.ArgumentParser) -> None:
|
|
@@ -47,7 +54,7 @@ def set_storage_parser(storage_parser: argparse.ArgumentParser) -> None:
|
|
|
47
54
|
|
|
48
55
|
|
|
49
56
|
def add_storage_attach_parser(
|
|
50
|
-
storage_subcommands_parser:
|
|
57
|
+
storage_subcommands_parser: Subcommands,
|
|
51
58
|
) -> None:
|
|
52
59
|
|
|
53
60
|
storage_attach_parser: argparse.ArgumentParser = (
|
|
@@ -171,9 +178,7 @@ def add_storage_attach_parser(
|
|
|
171
178
|
add_kind_cluster_arguments(opt_args)
|
|
172
179
|
|
|
173
180
|
|
|
174
|
-
def add_storage_create_parser(
|
|
175
|
-
storage_subcommands_parser: argparse.ArgumentParser,
|
|
176
|
-
) -> None:
|
|
181
|
+
def add_storage_create_parser(storage_subcommands_parser: Subcommands) -> None:
|
|
177
182
|
storage_create_parser: argparse.ArgumentParser = (
|
|
178
183
|
storage_subcommands_parser.add_parser(
|
|
179
184
|
'create', help='create XPK Storage.'
|
|
@@ -272,9 +277,7 @@ def add_storage_create_parser(
|
|
|
272
277
|
add_kind_cluster_arguments(opt_args)
|
|
273
278
|
|
|
274
279
|
|
|
275
|
-
def add_storage_list_parser(
|
|
276
|
-
storage_subcommands_parser: argparse.ArgumentParser,
|
|
277
|
-
):
|
|
280
|
+
def add_storage_list_parser(storage_subcommands_parser: Subcommands) -> None:
|
|
278
281
|
storage_list_parser: argparse.ArgumentParser = (
|
|
279
282
|
storage_subcommands_parser.add_parser('list', help='List XPK Storages.')
|
|
280
283
|
)
|
|
@@ -290,9 +293,7 @@ def add_storage_list_parser(
|
|
|
290
293
|
)
|
|
291
294
|
|
|
292
295
|
|
|
293
|
-
def add_storage_detach_parser(
|
|
294
|
-
storage_subcommands_parser: argparse.ArgumentParser,
|
|
295
|
-
):
|
|
296
|
+
def add_storage_detach_parser(storage_subcommands_parser: Subcommands) -> None:
|
|
296
297
|
storage_detach_parser: argparse.ArgumentParser = (
|
|
297
298
|
storage_subcommands_parser.add_parser(
|
|
298
299
|
'detach', help='Detach XPK Storage.'
|
|
@@ -315,9 +316,7 @@ def add_storage_detach_parser(
|
|
|
315
316
|
add_kind_cluster_arguments(opt_args)
|
|
316
317
|
|
|
317
318
|
|
|
318
|
-
def add_storage_delete_parser(
|
|
319
|
-
storage_subcommands_parser: argparse.ArgumentParser,
|
|
320
|
-
):
|
|
319
|
+
def add_storage_delete_parser(storage_subcommands_parser: Subcommands) -> None:
|
|
321
320
|
storage_delete_parser: argparse.ArgumentParser = (
|
|
322
321
|
storage_subcommands_parser.add_parser(
|
|
323
322
|
'delete', help='Delete XPK Storage.'
|
xpk/parser/workload.py
CHANGED
|
@@ -193,43 +193,6 @@ def set_workload_parsers(workload_parser):
|
|
|
193
193
|
),
|
|
194
194
|
)
|
|
195
195
|
|
|
196
|
-
# Autoprovisioning workload arguments
|
|
197
|
-
workload_create_autoprovisioning_arguments.add_argument(
|
|
198
|
-
'--on-demand',
|
|
199
|
-
action='store_true',
|
|
200
|
-
help=(
|
|
201
|
-
'Sets autoprovisioning to use on-demand resources for the workload'
|
|
202
|
-
' request. See `--reservation` or `--spot` for other capacity types.'
|
|
203
|
-
),
|
|
204
|
-
)
|
|
205
|
-
workload_create_autoprovisioning_arguments.add_argument(
|
|
206
|
-
'--reservation',
|
|
207
|
-
type=str,
|
|
208
|
-
help=(
|
|
209
|
-
'Sets autoprovisioning to use reservation resources for the workload'
|
|
210
|
-
' request. This will attempt to find the provided reservation. See'
|
|
211
|
-
' `--spot`, `--flex` or `--on-demand` for other capacity types.'
|
|
212
|
-
),
|
|
213
|
-
)
|
|
214
|
-
workload_create_autoprovisioning_arguments.add_argument(
|
|
215
|
-
'--spot',
|
|
216
|
-
action='store_true',
|
|
217
|
-
help=(
|
|
218
|
-
'Sets autoprovisioning to use spot resources. See `--reservation`,'
|
|
219
|
-
' `--flex` or `--on-demand` for other capacity types.'
|
|
220
|
-
),
|
|
221
|
-
)
|
|
222
|
-
|
|
223
|
-
workload_create_autoprovisioning_arguments.add_argument(
|
|
224
|
-
'--flex',
|
|
225
|
-
action='store_true',
|
|
226
|
-
help=(
|
|
227
|
-
'Sets autoprovisioning to use flex-start resources. See'
|
|
228
|
-
' `--reservation`, `--spot` or `--on-demand` for other capacity'
|
|
229
|
-
' types.'
|
|
230
|
-
),
|
|
231
|
-
)
|
|
232
|
-
|
|
233
196
|
# "workload create-pathways" command parser.
|
|
234
197
|
workload_create_pathways_parser = workload_subcommands.add_parser(
|
|
235
198
|
'create-pathways', help='Create a new job.'
|
|
@@ -257,6 +220,12 @@ def set_workload_parsers(workload_parser):
|
|
|
257
220
|
'`--base-docker-image` is used by default. Set this argument if the'
|
|
258
221
|
' user wants the docker image to be used directly by the xpk workload.',
|
|
259
222
|
)
|
|
223
|
+
workload_create_pathways_autoprovisioning_arguments = (
|
|
224
|
+
workload_create_pathways_parser.add_argument_group(
|
|
225
|
+
'Optional Autoprovisioning Arguments',
|
|
226
|
+
'Arguments for configuring autoprovisioning.',
|
|
227
|
+
)
|
|
228
|
+
)
|
|
260
229
|
workload_create_pathways_vertex_tensorboard_arguments = (
|
|
261
230
|
workload_create_pathways_parser.add_argument_group(
|
|
262
231
|
'Vertex Tensorboard Arguments',
|
|
@@ -407,6 +376,10 @@ def set_workload_parsers(workload_parser):
|
|
|
407
376
|
workload_vertex_tensorboard_arguments,
|
|
408
377
|
workload_create_pathways_vertex_tensorboard_arguments,
|
|
409
378
|
])
|
|
379
|
+
add_shared_workload_create_autoprovisioning_arguments([
|
|
380
|
+
workload_create_autoprovisioning_arguments,
|
|
381
|
+
workload_create_pathways_autoprovisioning_arguments,
|
|
382
|
+
])
|
|
410
383
|
|
|
411
384
|
# Set defaults for both workload create and workload create-pathways after adding all shared args.
|
|
412
385
|
workload_create_parser.set_defaults(func=workload_create)
|
|
@@ -452,7 +425,7 @@ def set_workload_parsers(workload_parser):
|
|
|
452
425
|
type=str,
|
|
453
426
|
help=(
|
|
454
427
|
'Filters the arguments based on job name. Provide a regex'
|
|
455
|
-
'
|
|
428
|
+
' expression to parse jobs that match the pattern or provide a job'
|
|
456
429
|
' name to delete a single job.'
|
|
457
430
|
),
|
|
458
431
|
)
|
|
@@ -521,7 +494,7 @@ def set_workload_parsers(workload_parser):
|
|
|
521
494
|
type=str,
|
|
522
495
|
help=(
|
|
523
496
|
'Filters the arguments based on job name. Provide a regex'
|
|
524
|
-
'
|
|
497
|
+
' expression to parse jobs that match the pattern or provide a job'
|
|
525
498
|
' name to view a single job.'
|
|
526
499
|
),
|
|
527
500
|
required=False,
|
|
@@ -770,3 +743,48 @@ def add_shared_workload_create_tensorboard_arguments(args_parsers):
|
|
|
770
743
|
'<cluster>-<workload> will be created.'
|
|
771
744
|
),
|
|
772
745
|
)
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
def add_shared_workload_create_autoprovisioning_arguments(args_parsers):
|
|
749
|
+
"""Add shared autoprovisioning arguments
|
|
750
|
+
|
|
751
|
+
Args:
|
|
752
|
+
List of workload create optional arguments parsers
|
|
753
|
+
"""
|
|
754
|
+
for custom_parser in args_parsers:
|
|
755
|
+
custom_parser.add_argument(
|
|
756
|
+
'--on-demand',
|
|
757
|
+
action='store_true',
|
|
758
|
+
help=(
|
|
759
|
+
'Sets autoprovisioning to use on-demand resources for the workload'
|
|
760
|
+
' request. See `--reservation` or `--spot` for other capacity'
|
|
761
|
+
' types.'
|
|
762
|
+
),
|
|
763
|
+
)
|
|
764
|
+
custom_parser.add_argument(
|
|
765
|
+
'--reservation',
|
|
766
|
+
type=str,
|
|
767
|
+
help=(
|
|
768
|
+
'Sets autoprovisioning to use reservation resources for the'
|
|
769
|
+
' workload request. This will attempt to find the provided'
|
|
770
|
+
' reservation. See `--spot`, `--flex` or `--on-demand` for other'
|
|
771
|
+
' capacity types.'
|
|
772
|
+
),
|
|
773
|
+
)
|
|
774
|
+
custom_parser.add_argument(
|
|
775
|
+
'--spot',
|
|
776
|
+
action='store_true',
|
|
777
|
+
help=(
|
|
778
|
+
'Sets autoprovisioning to use spot resources. See `--reservation`,'
|
|
779
|
+
' `--flex` or `--on-demand` for other capacity types.'
|
|
780
|
+
),
|
|
781
|
+
)
|
|
782
|
+
custom_parser.add_argument(
|
|
783
|
+
'--flex',
|
|
784
|
+
action='store_true',
|
|
785
|
+
help=(
|
|
786
|
+
'Sets autoprovisioning to use flex-start resources. See'
|
|
787
|
+
' `--reservation`, `--spot` or `--on-demand` for other capacity'
|
|
788
|
+
' types.'
|
|
789
|
+
),
|
|
790
|
+
)
|
xpk/utils/console.py
CHANGED
|
@@ -15,6 +15,7 @@ limitations under the License.
|
|
|
15
15
|
"""
|
|
16
16
|
|
|
17
17
|
import sys
|
|
18
|
+
from typing import NoReturn
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
def xpk_print(*args, **kwargs):
|
|
@@ -29,7 +30,7 @@ def xpk_print(*args, **kwargs):
|
|
|
29
30
|
sys.stdout.flush()
|
|
30
31
|
|
|
31
32
|
|
|
32
|
-
def xpk_exit(error_code):
|
|
33
|
+
def xpk_exit(error_code) -> NoReturn:
|
|
33
34
|
"""Helper function to exit xpk with an associated error code.
|
|
34
35
|
|
|
35
36
|
Args:
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Copyright 2025 Google LLC
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
dry_run = False
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def set_dry_run(value: bool) -> None:
|
|
21
|
+
"""Sets the dry_run flag."""
|
|
22
|
+
global dry_run
|
|
23
|
+
dry_run = value
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def is_dry_run() -> bool:
|
|
27
|
+
"""Returns the current value of the dry_run flag."""
|
|
28
|
+
return dry_run
|
xpk/utils/file.py
CHANGED
|
@@ -16,10 +16,11 @@ limitations under the License.
|
|
|
16
16
|
|
|
17
17
|
import tempfile
|
|
18
18
|
import os
|
|
19
|
-
|
|
19
|
+
import hashlib
|
|
20
|
+
from .execution_context import is_dry_run
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
def make_tmp_files(per_command_name):
|
|
23
|
+
def make_tmp_files(per_command_name: list[str]) -> list[str]:
|
|
23
24
|
"""Make temporary files for each command.
|
|
24
25
|
|
|
25
26
|
Args:
|
|
@@ -28,16 +29,19 @@ def make_tmp_files(per_command_name):
|
|
|
28
29
|
Returns:
|
|
29
30
|
A list of temporary files for each command.
|
|
30
31
|
"""
|
|
32
|
+
if is_dry_run():
|
|
33
|
+
return [_hash_filename(command) for command in per_command_name]
|
|
34
|
+
|
|
31
35
|
# Supports removal of spaces from command names before converting to file name.
|
|
32
36
|
return [
|
|
33
37
|
tempfile.NamedTemporaryFile(
|
|
34
38
|
delete=False, prefix=command.replace(' ', '-') + '-'
|
|
35
|
-
)
|
|
39
|
+
).file.name
|
|
36
40
|
for command in per_command_name
|
|
37
41
|
]
|
|
38
42
|
|
|
39
43
|
|
|
40
|
-
def write_tmp_file(payload):
|
|
44
|
+
def write_tmp_file(payload: str) -> str:
|
|
41
45
|
"""Writes `payload` to a temporary file.
|
|
42
46
|
|
|
43
47
|
Args:
|
|
@@ -46,14 +50,17 @@ def write_tmp_file(payload):
|
|
|
46
50
|
Returns:
|
|
47
51
|
A file object that was written to.
|
|
48
52
|
"""
|
|
53
|
+
if is_dry_run():
|
|
54
|
+
return _hash_filename(payload)
|
|
55
|
+
|
|
49
56
|
with tempfile.NamedTemporaryFile(delete=False) as tmp:
|
|
50
57
|
with open(file=tmp.name, mode='w', encoding='utf=8') as f:
|
|
51
58
|
f.write(payload)
|
|
52
59
|
f.flush()
|
|
53
|
-
return tmp
|
|
60
|
+
return tmp.file.name
|
|
54
61
|
|
|
55
62
|
|
|
56
|
-
def append_tmp_file(payload, file):
|
|
63
|
+
def append_tmp_file(payload: str, file: str) -> str:
|
|
57
64
|
"""Appends `payload` to an already created file.
|
|
58
65
|
|
|
59
66
|
Use `write_temporary_file` to create a file.
|
|
@@ -65,18 +72,26 @@ def append_tmp_file(payload, file):
|
|
|
65
72
|
Returns:
|
|
66
73
|
A file object that was written to.
|
|
67
74
|
"""
|
|
68
|
-
|
|
75
|
+
if is_dry_run():
|
|
76
|
+
return file
|
|
77
|
+
|
|
78
|
+
with open(file=file, mode='a', encoding='utf=8') as f:
|
|
69
79
|
f.write(payload)
|
|
70
80
|
f.flush()
|
|
71
81
|
return file
|
|
72
82
|
|
|
73
83
|
|
|
74
|
-
def ensure_directory_exists(directory_path):
|
|
84
|
+
def ensure_directory_exists(directory_path: str) -> None:
|
|
75
85
|
"""Checks if a directory exists and creates it if it doesn't.
|
|
76
86
|
|
|
77
87
|
Args:
|
|
78
88
|
directory_path: The path to the directory.
|
|
79
89
|
"""
|
|
80
|
-
if not os.path.exists(directory_path):
|
|
90
|
+
if not is_dry_run() and not os.path.exists(directory_path):
|
|
81
91
|
os.makedirs(directory_path)
|
|
82
|
-
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def _hash_filename(seed: str) -> str:
|
|
95
|
+
m = hashlib.sha256()
|
|
96
|
+
m.update(seed.encode('utf-8'))
|
|
97
|
+
return m.hexdigest()
|
xpk/utils/network.py
CHANGED
|
@@ -18,6 +18,7 @@ import ipaddress
|
|
|
18
18
|
import socket
|
|
19
19
|
import requests
|
|
20
20
|
from .console import xpk_print
|
|
21
|
+
from .execution_context import is_dry_run
|
|
21
22
|
|
|
22
23
|
# Retrives machine's external IP address
|
|
23
24
|
ip_resolver_url = "http://api.ipify.org"
|
|
@@ -36,6 +37,9 @@ def get_current_machine_ip(external_ip=True):
|
|
|
36
37
|
The IP address as a string.
|
|
37
38
|
"""
|
|
38
39
|
|
|
40
|
+
if is_dry_run():
|
|
41
|
+
return 0, "127.0.0.1"
|
|
42
|
+
|
|
39
43
|
try:
|
|
40
44
|
if external_ip:
|
|
41
45
|
# Get external IP address
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xpk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.0
|
|
4
4
|
Summary: xpk helps Cloud developers to orchestrate training jobs on accelerators on GKE.
|
|
5
5
|
Author-email: XPK team <xpk-code-reviewers@google.com>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -28,6 +28,9 @@ Requires-Dist: pylint>=2.6.0; extra == "dev"
|
|
|
28
28
|
Requires-Dist: pre-commit; extra == "dev"
|
|
29
29
|
Requires-Dist: pytest; extra == "dev"
|
|
30
30
|
Requires-Dist: docker==7.1.0; extra == "dev"
|
|
31
|
+
Requires-Dist: mypy~=1.17; extra == "dev"
|
|
32
|
+
Requires-Dist: types-PyYAML==6.0.2; extra == "dev"
|
|
33
|
+
Requires-Dist: types-docker~=7.1.0.0; extra == "dev"
|
|
31
34
|
Dynamic: license-file
|
|
32
35
|
|
|
33
36
|
<!--
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
xpk/__init__.py,sha256=7mu-VQDQMyxM5To0KOhuYe4y2TYGsEkfV7hXZmUyih4,561
|
|
2
|
+
xpk/main.py,sha256=GrA6HQ4YzIHEspkP2uwDOLRYZOfBmAh8Rv9sIZcUhZg,2504
|
|
3
|
+
xpk/api/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
4
|
+
xpk/api/storage_crd.yaml,sha256=r4WFXnSJJ25EUF-t4Ljfbl-cJoSaiFiZkP8451eTub4,1260
|
|
5
|
+
xpk/commands/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
6
|
+
xpk/commands/batch.py,sha256=g24nbVV-ruiFgFottJ-o4RG6CZeK1vkRJ1dOIoeLr9k,3905
|
|
7
|
+
xpk/commands/cluster.py,sha256=PzXQSgPzctA4EfeuFr8b5oyxzp03TZT3OxixNqUwXlw,40407
|
|
8
|
+
xpk/commands/cluster_gcluster.py,sha256=8jJ7nHBbkmaPtsVQ2m_GnLxkS5iNV5sSN61KL0K_uEY,10861
|
|
9
|
+
xpk/commands/common.py,sha256=xDpg8Y-0dtGNyx7NIhu-k4fjYSlW1X80wl_WL5fumrs,2504
|
|
10
|
+
xpk/commands/config.py,sha256=gFNkf3ibsvZmcPpkpKXe-KJmHO5IKucNwLCXNgKvaDc,836
|
|
11
|
+
xpk/commands/info.py,sha256=1orA0u5KCB6fj-smHkuFL1WCH96NGrEiDpRCgPrxUW4,7304
|
|
12
|
+
xpk/commands/inspector.py,sha256=q12w8V1JRd9HuBwtpi3KvTFHbCrBR0j-59CAsPREG5I,12092
|
|
13
|
+
xpk/commands/job.py,sha256=lfc7rrw-YEA4Wsz5n-mTABkVX050FPWUbwz14G82xGA,6134
|
|
14
|
+
xpk/commands/kind.py,sha256=Vl3RT47kHCR0ORX9dK37HCiYtbmXJUCIAaq-QEbIclU,7578
|
|
15
|
+
xpk/commands/kjob_common.py,sha256=dtT-R0n50byTmu2Qcni0pqKYobUAHNENBN_4pt0l-KE,1952
|
|
16
|
+
xpk/commands/run.py,sha256=5hYMG0DcdHnFWsJ5gmfX09t6ZPVItt7FFoHO_ED0_Dk,3798
|
|
17
|
+
xpk/commands/shell.py,sha256=5-sKcI2Rbk3aCojnBNtipCwgOrbIDnG4f8ah0KIayY8,4182
|
|
18
|
+
xpk/commands/storage.py,sha256=Odrp3JNbVp1Ngr_Pj1ds-V02Qz3HbJiSYm9wUYscI8s,10704
|
|
19
|
+
xpk/commands/version.py,sha256=CU4mb71r66U28krnPAopC6vBpdK-IGclsy5uNaQcgRY,824
|
|
20
|
+
xpk/commands/workload.py,sha256=zIRTwxz_pDUkGMUiBGvrejY-gjnCVpsJW2Ey9cQcb14,26906
|
|
21
|
+
xpk/core/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
22
|
+
xpk/core/capacity.py,sha256=SQzncJSLuI4LLJ2VcnpxcRlTjiBG3e8nM0_QxG1986w,7367
|
|
23
|
+
xpk/core/cluster.py,sha256=D9VGYlB8mZlGWUjgF9ri7P17RK-Q0EIWLVLHvh7f948,29057
|
|
24
|
+
xpk/core/cluster_private.py,sha256=_wzaywvp_uaszg_L0U3u8wYRYQbY0vSlf3a0aycDUxM,6812
|
|
25
|
+
xpk/core/commands.py,sha256=_kpML4DkorN2yB7gcrgpLaa4OSrivkC8tOTdaCh85VU,10805
|
|
26
|
+
xpk/core/config.py,sha256=svK1NWm7M0ttu2jyp7mzhM0iKmA7ATxLQY5sB-7FfS4,3407
|
|
27
|
+
xpk/core/config_test.py,sha256=v1qfyFRzLkYSQ7Wn4nx1N0dBSOFXidLWDfhkeHDZOVM,1847
|
|
28
|
+
xpk/core/docker_container.py,sha256=GvkCJ2S5UKn8uh3pZhRd3X7iS0-PsQpRO8l7QhywVGc,7604
|
|
29
|
+
xpk/core/docker_image.py,sha256=r7gXOqQX7wd8oHklYjPvhOi8Dbaz0NIfv4NbVfhbGkg,6805
|
|
30
|
+
xpk/core/docker_manager.py,sha256=JBFgyD6O7LKwEHJC7YuSoCDZqrFRtb-LjgWNqkfAbR0,10566
|
|
31
|
+
xpk/core/docker_resources.py,sha256=_aKgpUjyJB2krQ1PkHrotB7K4kByLmPLbuvl_UVvuX8,12843
|
|
32
|
+
xpk/core/filestore.py,sha256=mcuUzsAPARbnrBG4fIGsEoN8NmzjaQ6k0tvIwMtjO9k,8068
|
|
33
|
+
xpk/core/gcloud_context.py,sha256=go0avmBbYx45vk_7W3iwQEphmQUx27oaL6dseyocqLI,5836
|
|
34
|
+
xpk/core/gcluster_manager.py,sha256=JFip2hInFczFP2h5AXa70IPIuTaJ475TG6GxkQjKOI8,6337
|
|
35
|
+
xpk/core/gcsfuse.py,sha256=kg5pgxdTjgiqquuGjev9fXzJPb8oiWPTK6wzCddzheQ,2125
|
|
36
|
+
xpk/core/jobset.py,sha256=T1TPlIm0D5h5PTwnfMGUPZkwVfkd_MpnoKYRqI63ses,4113
|
|
37
|
+
xpk/core/kjob.py,sha256=vuSzPsMIuBpAXJkXTGSgCAz6WzzDl31XkQPQnW3pg1M,14806
|
|
38
|
+
xpk/core/kueue.py,sha256=K2nU-Icqi7-LcDHYIX7m0cNOz3zjuwqFzqMD35k6W7A,15753
|
|
39
|
+
xpk/core/monitoring.py,sha256=v9MvLzNfvJAVby_ehSlPe6PaO0_pf3shkXg5gd-UWm8,4338
|
|
40
|
+
xpk/core/mtc.py,sha256=pO7p3l-EzLFdTE8MdwWV8i0Zu-7epGql_kPoksVofIU,6259
|
|
41
|
+
xpk/core/nap.py,sha256=H0ZDj68m8B8LHPTP41BLd8Q945eYjxFbh4SCkqf9HFM,12809
|
|
42
|
+
xpk/core/network.py,sha256=mu1J9QIQzv_fWfvnVXJYQPcgw7Od01ok2zEqCJx0dIs,10527
|
|
43
|
+
xpk/core/nodepool.py,sha256=8a5sYPFH7CSkLzTugAQ8JaXPux2RH7bY_6fTPMBMh4E,23132
|
|
44
|
+
xpk/core/nodepool_test.py,sha256=QRpmdyZTPRDE2qCibWeKQgE3Q2WCxXt1Onfv0MK4QZQ,2626
|
|
45
|
+
xpk/core/pathways.py,sha256=Q76IaxffhvlTR_Rz6BxSEO0j-ytY5hPEcQaATcfGQiM,10704
|
|
46
|
+
xpk/core/ray.py,sha256=74IMjmwneoMoPu1TpILCV1F64nSu7L5ETmGp86fLgp0,6327
|
|
47
|
+
xpk/core/resources.py,sha256=wFqpcWQj1KwF6b1NRIMqMcrDTQJT00cNHMpFsHlIs_k,8230
|
|
48
|
+
xpk/core/scheduling.py,sha256=dlWMeP_3RDdNKO2qmNxzq-YyQATQ9vKyMMI7xEfEkoM,9242
|
|
49
|
+
xpk/core/storage.py,sha256=NILvVAcLNMLmp4wKx_TEKbMMF5X1oL-FrQV46PT0_ds,16902
|
|
50
|
+
xpk/core/system_characteristics.py,sha256=2mtQlUiufK98XUXo0_f1D4d06FRGdUk_VNkaBg48Fcs,15152
|
|
51
|
+
xpk/core/vertex.py,sha256=pD9UBL62xHomuqdNu7xKccfD2KCbjgohMk3AhX-CXSw,3644
|
|
52
|
+
xpk/core/workload.py,sha256=WyT-H4XdeDY07glL1ikmcs44kLgLjMuMtclyZTxrmg8,8921
|
|
53
|
+
xpk/core/workload_test.py,sha256=tVTvrwDRXD3O1GCoftgEBWilCYTN74ayP1KRP0vptx0,857
|
|
54
|
+
xpk/core/blueprint/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
55
|
+
xpk/core/blueprint/blueprint_definitions.py,sha256=5i331XA-2yP_ALyB6XU5tP2Tf9iHcIX5g0TilxQi8zE,1800
|
|
56
|
+
xpk/core/blueprint/blueprint_generator.py,sha256=Uoz3YKsZKLfIoPI8d3bQ5RNrFFsqBOWb3HBQr3OolHo,38010
|
|
57
|
+
xpk/core/blueprint/blueprint_test.py,sha256=f3dL7KU9n6M8Hdnrg4VI5EEi9GA2dnwm4LDf9n5Wbuw,7410
|
|
58
|
+
xpk/core/remote_state/__init__.py,sha256=PkV8D9WOtlJHH5AIxsQaKeIBcmupT_Ol_bwJgN6G2I8,561
|
|
59
|
+
xpk/core/remote_state/fuse_remote_state.py,sha256=3Dx4ZZd0NFF5-MlqGWHzz8H4bjYiPOWdF_YSEnKUPQ8,3246
|
|
60
|
+
xpk/core/remote_state/remote_state_client.py,sha256=6PcR92Xy_RMjlF4AscanQ1jXNHnewLWGNC2v53jbzD4,1077
|
|
61
|
+
xpk/core/workload_decorators/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
62
|
+
xpk/core/workload_decorators/rdma_decorator.py,sha256=isbgPnjdu2AT_Da1nVUIRoGE_qZ7jMDOKCgZOLq5r2A,4006
|
|
63
|
+
xpk/core/workload_decorators/storage_decorator.py,sha256=DDYQVO1OKTLhveDOA4V6b2RWr4n0fbwHdnoFFmW7iaQ,2000
|
|
64
|
+
xpk/core/workload_decorators/tcpx_decorator.py,sha256=m5EgzEHjbcOD13ygY91mQdhwQt4Gr5PyalVkKcHyeV8,5975
|
|
65
|
+
xpk/core/workload_decorators/tcpx_decorator_test.py,sha256=iTBS3X_-VwA2oveNDjscduLtll0VOJyFRCp4xmsjg7w,8515
|
|
66
|
+
xpk/core/workload_decorators/tcpxo_decorator.py,sha256=_nLX7tbnxhnS-xv4Jijd1JOP76V4LpNCfW3Np404Cqw,6537
|
|
67
|
+
xpk/parser/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
68
|
+
xpk/parser/batch.py,sha256=mJU-Cp1yTLje59vD-B1IiBcUeD-ZmEsoeB4xhj9cflc,1406
|
|
69
|
+
xpk/parser/cluster.py,sha256=jt6oPoFtOZjdtDKVLOKSskUZooajan8mgT9sdlbNuow,30445
|
|
70
|
+
xpk/parser/common.py,sha256=N6P6wPuptluNEddh9kpUsaWgxXGADNZLMfKT-P7QkW0,7791
|
|
71
|
+
xpk/parser/config.py,sha256=-XnWx9aFsBW4Uzo_hpOMD2ZQ0bdZLvq1ksv83_5jqSM,1633
|
|
72
|
+
xpk/parser/core.py,sha256=VRJerlS92ufoQbG1mZv7B04DAP4qGkBHa4pRXgcbAs0,4761
|
|
73
|
+
xpk/parser/info.py,sha256=UJohxVVWdt9IgUXoPsrVae2DN1BjAVGWrSN2ajrB8RQ,1860
|
|
74
|
+
xpk/parser/inspector.py,sha256=hAPAZ2k9iSJgC1mjnz3rMleInsAQ8PmkyyUKFyBmsgY,1997
|
|
75
|
+
xpk/parser/job.py,sha256=5RdE70rucGfrsn65l7Ho6RmO06mag1S0AO-3saVuXyw,4328
|
|
76
|
+
xpk/parser/kind.py,sha256=sgPCqNVrgmFLcOBEbhlaphwVXxMh_opP9ntCq4KPePE,2682
|
|
77
|
+
xpk/parser/run.py,sha256=oi_ksSyJ8Ooffe2EgoV_ecpmXEmNGVotjpIQH-HjufE,1481
|
|
78
|
+
xpk/parser/shell.py,sha256=VC8p-kz9XjJZW9DXZ-rnv41XnRDRpQRFywHpB5j7tfc,1970
|
|
79
|
+
xpk/parser/storage.py,sha256=XNynqulEzTmT8_G6wkeBwfXX0XQ1lsd6BFcx0H6rGfU,9971
|
|
80
|
+
xpk/parser/validators.py,sha256=-NBZelvfwZRzjz-YUCreD8EzMLHll8PZM-d-MVm2PG4,1192
|
|
81
|
+
xpk/parser/version.py,sha256=eJo4PAbbmRQZulgKBs_ytbVgV9zAaaXeNzMMxmgFMVY,769
|
|
82
|
+
xpk/parser/workload.py,sha256=J0Wg4NEO7pOdOwf_8uC9bVzXodBXwkYo1c2gRJVyyak,26068
|
|
83
|
+
xpk/templates/__init__.py,sha256=7mu-VQDQMyxM5To0KOhuYe4y2TYGsEkfV7hXZmUyih4,561
|
|
84
|
+
xpk/templates/storage.yaml,sha256=AykdyMtDnKZF8Y_0BYxoYP03hEIzEk6iNalXAQHgAls,163
|
|
85
|
+
xpk/utils/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
86
|
+
xpk/utils/console.py,sha256=hRbvtog_VAzuxt5GfwK5GZdd5SWaa7kvWG8zo_qFRQc,1519
|
|
87
|
+
xpk/utils/execution_context.py,sha256=WYxm6NExBIP6iLAWaL5aV858riGJbAHn0Zs6fmKlmzE,784
|
|
88
|
+
xpk/utils/file.py,sha256=hi9v4gfwiB3JHi3tnelPbm_dlTUt47U0wvvWKQqMjiQ,2500
|
|
89
|
+
xpk/utils/gcs_utils.py,sha256=zg-XSTv4G4TFjeT2bNBm2WLdDXPrOZi0rNv_JdppNg4,4113
|
|
90
|
+
xpk/utils/kubectl.py,sha256=WKB9UhpouPN9G4n2ejRi_PgsYLI0R01gzkS1WGU6mJA,1828
|
|
91
|
+
xpk/utils/network.py,sha256=dGS5rxIm_zaayDElHNlzalaf09M99by5ckL_lGDl_yQ,4293
|
|
92
|
+
xpk/utils/objects.py,sha256=OwMNxB4TGX21qnJPdZo2YBMPMbQPqOtHMh19QhoRNRY,2498
|
|
93
|
+
xpk/utils/templates.py,sha256=g8zgR1MxyJmTmzM_wnvH30FmcbgQMC47UQwBtLj8B9k,807
|
|
94
|
+
xpk/utils/validation.py,sha256=bSJApIY0Lk48I4EEQP08ZUvolXt_APpYXVGJXFQ_YLA,2711
|
|
95
|
+
xpk/utils/yaml.py,sha256=j8xuAJ9yAAwnQi6ozwZ-nMnDyDnc3xWkeBZMtSuP4RU,844
|
|
96
|
+
xpk-0.13.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
97
|
+
xpk-0.13.0.dist-info/METADATA,sha256=EdMiwFyuULp8iGjAVi9qMtzt57IRDZD9sYk0tww-JKY,71759
|
|
98
|
+
xpk-0.13.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
99
|
+
xpk-0.13.0.dist-info/entry_points.txt,sha256=mzEtiIesFkT1kmcTUVDA1o3uOhiniX6tIz2wmOlMu1M,38
|
|
100
|
+
xpk-0.13.0.dist-info/top_level.txt,sha256=aDe4N0jicmuWExx_6w0TxWQJaEuPSs9BnLU-3aF1GLo,4
|
|
101
|
+
xpk-0.13.0.dist-info/RECORD,,
|
xpk-0.11.0.dist-info/RECORD
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
xpk/__init__.py,sha256=7mu-VQDQMyxM5To0KOhuYe4y2TYGsEkfV7hXZmUyih4,561
|
|
2
|
-
xpk/main.py,sha256=wFc_kIM7kALGIY-JOcoa8m4BCWNRjl5tQ6ZDpv7HpSU,2350
|
|
3
|
-
xpk/api/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
4
|
-
xpk/api/storage_crd.yaml,sha256=r4WFXnSJJ25EUF-t4Ljfbl-cJoSaiFiZkP8451eTub4,1260
|
|
5
|
-
xpk/commands/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
6
|
-
xpk/commands/batch.py,sha256=qzKkXf45brC-Ln3C-lajcwdqCc2BCVbKJe5M06AdnKQ,3806
|
|
7
|
-
xpk/commands/cluster.py,sha256=50sezU0GgJGssK1CdrP_XDaRs2UGFP3q7eEivkfmhkc,40296
|
|
8
|
-
xpk/commands/cluster_gcluster.py,sha256=F2QWBo7IYHcX_4jjMvaJoCXisJvrWmGiRbAtPikDS34,10816
|
|
9
|
-
xpk/commands/common.py,sha256=DLmvQ0cjdiS6rMAopyzNSAKGlLH-XLeW4-FTGOlWZeo,2401
|
|
10
|
-
xpk/commands/config.py,sha256=gFNkf3ibsvZmcPpkpKXe-KJmHO5IKucNwLCXNgKvaDc,836
|
|
11
|
-
xpk/commands/info.py,sha256=BHqFFXm3Lg1P8qH1Z3gEXmh141-8udduS5EBk38auDg,7251
|
|
12
|
-
xpk/commands/inspector.py,sha256=bwbZW-cLtiBw2V0zvoMprHWhgMbAYm0ez0GjjEqeUR8,12097
|
|
13
|
-
xpk/commands/job.py,sha256=LCFB_l1v5x_k4Ov15hPDAhadcvMZlqvHkObNNuHMCdo,5479
|
|
14
|
-
xpk/commands/kind.py,sha256=Vl3RT47kHCR0ORX9dK37HCiYtbmXJUCIAaq-QEbIclU,7578
|
|
15
|
-
xpk/commands/kjob_common.py,sha256=XTT8uog4PvlxjH7sFTNnvMTlPSzARVM71wj_Czt4XF0,1926
|
|
16
|
-
xpk/commands/run.py,sha256=5hYMG0DcdHnFWsJ5gmfX09t6ZPVItt7FFoHO_ED0_Dk,3798
|
|
17
|
-
xpk/commands/shell.py,sha256=5-sKcI2Rbk3aCojnBNtipCwgOrbIDnG4f8ah0KIayY8,4182
|
|
18
|
-
xpk/commands/storage.py,sha256=tCH2medguOH5bBtywEuqXRtFeHDFE8sq4YVLuOIx_Hk,10600
|
|
19
|
-
xpk/commands/version.py,sha256=CU4mb71r66U28krnPAopC6vBpdK-IGclsy5uNaQcgRY,824
|
|
20
|
-
xpk/commands/workload.py,sha256=nc5vClmCmRU04ItwiC3cldCLyEVjzvDUpxv987fgQ-A,26470
|
|
21
|
-
xpk/core/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
22
|
-
xpk/core/capacity.py,sha256=pO7H9pkEQwr4sWJP63EprKQph6DYhbIYDQN_TRkA4TQ,7308
|
|
23
|
-
xpk/core/cluster.py,sha256=UHr6DIREO2RKsenrAXMCsvmFdutgcJxZJqeiJy-c88g,29017
|
|
24
|
-
xpk/core/cluster_private.py,sha256=J2-UZ6t5f-UNdcSkuUr2_f4xk6xyrMH9Muk56trBh4M,6657
|
|
25
|
-
xpk/core/commands.py,sha256=JiS4vJqWSLu8MKFBIKPBea9MKD2ZdpaQrziVQBqiDr4,10719
|
|
26
|
-
xpk/core/config.py,sha256=7VN6aQqI6n7mCG1r9KE5-egbYXwjpRiynrZR1IKaNzo,3475
|
|
27
|
-
xpk/core/docker_container.py,sha256=GvkCJ2S5UKn8uh3pZhRd3X7iS0-PsQpRO8l7QhywVGc,7604
|
|
28
|
-
xpk/core/docker_image.py,sha256=fEdpLQg1C205mMbLREy48WnhvNv2Nm4KQFX87B2CuiA,6624
|
|
29
|
-
xpk/core/docker_manager.py,sha256=mtOEnzSP1GF28ymHSPlTminujh4wWyg5EbC9UT3VFpI,10566
|
|
30
|
-
xpk/core/docker_resources.py,sha256=h-jT5AK1yL7reGPMeSUqb4Khulimljb16J7xoRI2XFw,12753
|
|
31
|
-
xpk/core/filestore.py,sha256=7M-HAiXR-gEu3BJUgRY3cqEIfjo_FL0BAxq9MljEBt4,8022
|
|
32
|
-
xpk/core/gcloud_context.py,sha256=p_LhWHo7GZonear2oupvTO-DpKqEkL0St7PnfxieRDY,5866
|
|
33
|
-
xpk/core/gcluster_manager.py,sha256=JFip2hInFczFP2h5AXa70IPIuTaJ475TG6GxkQjKOI8,6337
|
|
34
|
-
xpk/core/gcsfuse.py,sha256=kg5pgxdTjgiqquuGjev9fXzJPb8oiWPTK6wzCddzheQ,2125
|
|
35
|
-
xpk/core/jobset.py,sha256=L_q67_Gq_XjsZKcnznVlCuk1RGZeDFAGDXdCGxbu1oc,4123
|
|
36
|
-
xpk/core/kjob.py,sha256=bl0lIlfFqJqn9fQ2PO-xG6sRPq8RFgk8-cPL2hs-dZM,14681
|
|
37
|
-
xpk/core/kueue.py,sha256=Pww37KL9pR9XaeoKRQ3gUao2lrB1VfB2ZLKf6Zt4Ff0,15097
|
|
38
|
-
xpk/core/monitoring.py,sha256=v9MvLzNfvJAVby_ehSlPe6PaO0_pf3shkXg5gd-UWm8,4338
|
|
39
|
-
xpk/core/mtc.py,sha256=pO7p3l-EzLFdTE8MdwWV8i0Zu-7epGql_kPoksVofIU,6259
|
|
40
|
-
xpk/core/nap.py,sha256=kGluT05HOFW9Kq-cZ13pUVyBkAiyA371NvKTiqdYZAk,12791
|
|
41
|
-
xpk/core/network.py,sha256=hQR5Kab5Q5CYjggriNIhNh78Aq0CCF-vPUQI6BC4Wgw,10537
|
|
42
|
-
xpk/core/nodepool.py,sha256=mHYa51og95hwHIxXuzWEycudfewDogzYULoEwrWWTDE,23029
|
|
43
|
-
xpk/core/pathways.py,sha256=g4PUSi6RPqpCPVlziWGj14W7zbdNvkw8mrOq09J3s68,10594
|
|
44
|
-
xpk/core/ray.py,sha256=UxOpIc2enHi1fQ4h3KO8FH8bIyEMtYzGtPoeqJKGG4o,6337
|
|
45
|
-
xpk/core/resources.py,sha256=uezEuHw2OzpM4LT2c2EjUCPr9lhBTfLnOPay7hGVyj4,8276
|
|
46
|
-
xpk/core/scheduling.py,sha256=HIagFbVAl7lz5gRyjpzwke1tLN4PGEyOkUrtBdmy5Ok,9157
|
|
47
|
-
xpk/core/storage.py,sha256=AjpRQn6zUn7qL3W17LuzBtMqyB-3i9YEap5Vw01cUpQ,16926
|
|
48
|
-
xpk/core/system_characteristics.py,sha256=FZ2FYsabECPML-ROYuJ74X4U64vES19U8CujcDImXh8,15161
|
|
49
|
-
xpk/core/vertex.py,sha256=pD9UBL62xHomuqdNu7xKccfD2KCbjgohMk3AhX-CXSw,3644
|
|
50
|
-
xpk/core/workload.py,sha256=nfmL4_2Rr0dt5pctHm89KNJcYzulk6CX5d9QEguthJY,8526
|
|
51
|
-
xpk/core/blueprint/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
52
|
-
xpk/core/blueprint/blueprint_definitions.py,sha256=5i331XA-2yP_ALyB6XU5tP2Tf9iHcIX5g0TilxQi8zE,1800
|
|
53
|
-
xpk/core/blueprint/blueprint_generator.py,sha256=vdxoyQnD2uyi8DaG3QtzdVjizf1nNlwoB23ecHUpkKQ,37967
|
|
54
|
-
xpk/core/remote_state/__init__.py,sha256=PkV8D9WOtlJHH5AIxsQaKeIBcmupT_Ol_bwJgN6G2I8,561
|
|
55
|
-
xpk/core/remote_state/fuse_remote_state.py,sha256=3Dx4ZZd0NFF5-MlqGWHzz8H4bjYiPOWdF_YSEnKUPQ8,3246
|
|
56
|
-
xpk/core/remote_state/remote_state_client.py,sha256=6PcR92Xy_RMjlF4AscanQ1jXNHnewLWGNC2v53jbzD4,1077
|
|
57
|
-
xpk/core/workload_decorators/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
58
|
-
xpk/core/workload_decorators/rdma_decorator.py,sha256=GU9QQ-cvosurjnhcXqj6e_TpXVHoZE0Of24lALeWPVc,3972
|
|
59
|
-
xpk/core/workload_decorators/storage_decorator.py,sha256=Bj1lRh65s40AJDsWM0xTiHFaWtKC272eImjIjN8Z38c,1967
|
|
60
|
-
xpk/core/workload_decorators/tcpx_decorator.py,sha256=oB60_9744MfS-7yZ3mOnb1KWDRvsNyCCuR5jkp2H_i0,5863
|
|
61
|
-
xpk/core/workload_decorators/tcpxo_decorator.py,sha256=kV1Mzrz0sISPOIRi8I2yuvBhTEfu4e-EYJuz0A63Ubs,6504
|
|
62
|
-
xpk/parser/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
63
|
-
xpk/parser/batch.py,sha256=mJU-Cp1yTLje59vD-B1IiBcUeD-ZmEsoeB4xhj9cflc,1406
|
|
64
|
-
xpk/parser/cluster.py,sha256=Zb4kKekItzk1lberAxf3jkUH8pvFqjKC8_bKrIXsK9c,28325
|
|
65
|
-
xpk/parser/common.py,sha256=_F2rwsZka15difkvPA1yPARWr9I9ewx8PMzgwMLTvjM,7220
|
|
66
|
-
xpk/parser/config.py,sha256=-XnWx9aFsBW4Uzo_hpOMD2ZQ0bdZLvq1ksv83_5jqSM,1633
|
|
67
|
-
xpk/parser/core.py,sha256=VRJerlS92ufoQbG1mZv7B04DAP4qGkBHa4pRXgcbAs0,4761
|
|
68
|
-
xpk/parser/info.py,sha256=UJohxVVWdt9IgUXoPsrVae2DN1BjAVGWrSN2ajrB8RQ,1860
|
|
69
|
-
xpk/parser/inspector.py,sha256=hAPAZ2k9iSJgC1mjnz3rMleInsAQ8PmkyyUKFyBmsgY,1997
|
|
70
|
-
xpk/parser/job.py,sha256=5RdE70rucGfrsn65l7Ho6RmO06mag1S0AO-3saVuXyw,4328
|
|
71
|
-
xpk/parser/kind.py,sha256=sgPCqNVrgmFLcOBEbhlaphwVXxMh_opP9ntCq4KPePE,2682
|
|
72
|
-
xpk/parser/run.py,sha256=oi_ksSyJ8Ooffe2EgoV_ecpmXEmNGVotjpIQH-HjufE,1481
|
|
73
|
-
xpk/parser/shell.py,sha256=VC8p-kz9XjJZW9DXZ-rnv41XnRDRpQRFywHpB5j7tfc,1970
|
|
74
|
-
xpk/parser/storage.py,sha256=lzGQSgngWnguz6yCNUUOJj65BVB_C_WC6nNksHBeTw4,9914
|
|
75
|
-
xpk/parser/validators.py,sha256=-NBZelvfwZRzjz-YUCreD8EzMLHll8PZM-d-MVm2PG4,1192
|
|
76
|
-
xpk/parser/version.py,sha256=eJo4PAbbmRQZulgKBs_ytbVgV9zAaaXeNzMMxmgFMVY,769
|
|
77
|
-
xpk/parser/workload.py,sha256=UVOVCngwhJ4ikuINsdK4rOFlzr39Sv6q0S49NDuNaI0,25493
|
|
78
|
-
xpk/templates/__init__.py,sha256=7mu-VQDQMyxM5To0KOhuYe4y2TYGsEkfV7hXZmUyih4,561
|
|
79
|
-
xpk/templates/storage.yaml,sha256=AykdyMtDnKZF8Y_0BYxoYP03hEIzEk6iNalXAQHgAls,163
|
|
80
|
-
xpk/utils/__init__.py,sha256=YPwWBbgLAu7L-YlTVGB2r8ZV4TzypURMRBcehSHHlLY,561
|
|
81
|
-
xpk/utils/console.py,sha256=bKibWIswcB1aWGZp0ZpL-NEhvTrxJMy7wWD4-3BVTKI,1479
|
|
82
|
-
xpk/utils/file.py,sha256=jlv2o4ah9UmWJ7NuOCnTwtMZFLerOATBIMQeQ03-kIw,2142
|
|
83
|
-
xpk/utils/gcs_utils.py,sha256=zg-XSTv4G4TFjeT2bNBm2WLdDXPrOZi0rNv_JdppNg4,4113
|
|
84
|
-
xpk/utils/kubectl.py,sha256=WKB9UhpouPN9G4n2ejRi_PgsYLI0R01gzkS1WGU6mJA,1828
|
|
85
|
-
xpk/utils/network.py,sha256=AAm9qGGFAEfAh1FK39muBheXAo7tdBlxR0A8Tg0TyYQ,4205
|
|
86
|
-
xpk/utils/objects.py,sha256=OwMNxB4TGX21qnJPdZo2YBMPMbQPqOtHMh19QhoRNRY,2498
|
|
87
|
-
xpk/utils/templates.py,sha256=g8zgR1MxyJmTmzM_wnvH30FmcbgQMC47UQwBtLj8B9k,807
|
|
88
|
-
xpk/utils/validation.py,sha256=bSJApIY0Lk48I4EEQP08ZUvolXt_APpYXVGJXFQ_YLA,2711
|
|
89
|
-
xpk/utils/yaml.py,sha256=j8xuAJ9yAAwnQi6ozwZ-nMnDyDnc3xWkeBZMtSuP4RU,844
|
|
90
|
-
xpk-0.11.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
91
|
-
xpk-0.11.0.dist-info/METADATA,sha256=j-s1ky4Hnojze2t84S9u6H6TaeAOWwQrFC8Q4k2aF5Y,71613
|
|
92
|
-
xpk-0.11.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
93
|
-
xpk-0.11.0.dist-info/entry_points.txt,sha256=mzEtiIesFkT1kmcTUVDA1o3uOhiniX6tIz2wmOlMu1M,38
|
|
94
|
-
xpk-0.11.0.dist-info/top_level.txt,sha256=aDe4N0jicmuWExx_6w0TxWQJaEuPSs9BnLU-3aF1GLo,4
|
|
95
|
-
xpk-0.11.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|