skypilot-nightly 1.0.0.dev20250116__py3-none-any.whl → 1.0.0.dev20250118__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.
- sky/__init__.py +2 -2
- sky/backends/cloud_vm_ray_backend.py +50 -29
- sky/cli.py +11 -34
- sky/core.py +8 -5
- sky/data/storage.py +16 -7
- sky/global_user_state.py +1 -1
- sky/jobs/constants.py +8 -7
- sky/jobs/controller.py +14 -16
- sky/jobs/core.py +0 -2
- sky/jobs/recovery_strategy.py +114 -143
- sky/jobs/scheduler.py +283 -0
- sky/jobs/state.py +257 -17
- sky/jobs/utils.py +287 -64
- sky/provision/kubernetes/instance.py +1 -1
- sky/resources.py +1 -1
- sky/skylet/constants.py +1 -1
- sky/skylet/events.py +7 -3
- sky/skylet/job_lib.py +2 -26
- sky/skylet/log_lib.py +8 -8
- sky/skylet/log_lib.pyi +3 -0
- sky/skylet/skylet.py +1 -1
- sky/templates/jobs-controller.yaml.j2 +7 -3
- sky/utils/resources_utils.py +25 -21
- sky/utils/subprocess_utils.py +48 -9
- {skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/METADATA +1 -1
- {skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/RECORD +30 -29
- {skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/top_level.txt +0 -0
sky/skylet/skylet.py
CHANGED
@@ -20,7 +20,7 @@ EVENTS = [
|
|
20
20
|
# The managed job update event should be after the job update event.
|
21
21
|
# Otherwise, the abnormal managed job status update will be delayed
|
22
22
|
# until the next job update event.
|
23
|
-
events.
|
23
|
+
events.ManagedJobEvent(),
|
24
24
|
# This is for monitoring controller job status. If it becomes
|
25
25
|
# unhealthy, this event will correctly update the controller
|
26
26
|
# status to CONTROLLER_FAILED.
|
@@ -63,9 +63,13 @@ setup: |
|
|
63
63
|
|
64
64
|
run: |
|
65
65
|
{{ sky_activate_python_env }}
|
66
|
-
#
|
67
|
-
|
68
|
-
|
66
|
+
# Submit the job to the scheduler.
|
67
|
+
# Note: The job is already in the `spot` table, marked as PENDING.
|
68
|
+
# CloudVmRayBackend._exec_code_on_head() calls
|
69
|
+
# managed_job_codegen.set_pending() before we get here.
|
70
|
+
python -u -m sky.jobs.scheduler {{remote_user_yaml_path}} \
|
71
|
+
--job-id $SKYPILOT_INTERNAL_JOB_ID
|
72
|
+
|
69
73
|
|
70
74
|
envs:
|
71
75
|
{%- for env_name, env_value in controller_envs.items() %}
|
sky/utils/resources_utils.py
CHANGED
@@ -137,31 +137,35 @@ def simplify_ports(ports: List[str]) -> List[str]:
|
|
137
137
|
return port_set_to_ranges(port_ranges_to_set(ports))
|
138
138
|
|
139
139
|
|
140
|
+
def format_resource(resource: 'resources_lib.Resources',
|
141
|
+
simplify: bool = False) -> str:
|
142
|
+
if simplify:
|
143
|
+
cloud = resource.cloud
|
144
|
+
if resource.accelerators is None:
|
145
|
+
vcpu, _ = cloud.get_vcpus_mem_from_instance_type(
|
146
|
+
resource.instance_type)
|
147
|
+
hardware = f'vCPU={int(vcpu)}'
|
148
|
+
else:
|
149
|
+
hardware = f'{resource.accelerators}'
|
150
|
+
spot = '[Spot]' if resource.use_spot else ''
|
151
|
+
return f'{cloud}({spot}{hardware})'
|
152
|
+
else:
|
153
|
+
# accelerator_args is way too long.
|
154
|
+
# Convert from:
|
155
|
+
# GCP(n1-highmem-8, {'tpu-v2-8': 1}, accelerator_args={'runtime_version': '2.12.0'} # pylint: disable=line-too-long
|
156
|
+
# to:
|
157
|
+
# GCP(n1-highmem-8, {'tpu-v2-8': 1}...)
|
158
|
+
pattern = ', accelerator_args={.*}'
|
159
|
+
launched_resource_str = re.sub(pattern, '...', str(resource))
|
160
|
+
return launched_resource_str
|
161
|
+
|
162
|
+
|
140
163
|
def get_readable_resources_repr(handle: 'backends.CloudVmRayResourceHandle',
|
141
164
|
simplify: bool = False) -> str:
|
142
165
|
if (handle.launched_nodes is not None and
|
143
166
|
handle.launched_resources is not None):
|
144
|
-
|
145
|
-
|
146
|
-
if handle.launched_resources.accelerators is None:
|
147
|
-
vcpu, _ = cloud.get_vcpus_mem_from_instance_type(
|
148
|
-
handle.launched_resources.instance_type)
|
149
|
-
hardware = f'vCPU={int(vcpu)}'
|
150
|
-
else:
|
151
|
-
hardware = f'{handle.launched_resources.accelerators}'
|
152
|
-
spot = '[Spot]' if handle.launched_resources.use_spot else ''
|
153
|
-
return f'{handle.launched_nodes}x {cloud}({spot}{hardware})'
|
154
|
-
else:
|
155
|
-
launched_resource_str = str(handle.launched_resources)
|
156
|
-
# accelerator_args is way too long.
|
157
|
-
# Convert from:
|
158
|
-
# GCP(n1-highmem-8, {'tpu-v2-8': 1}, accelerator_args={'runtime_version': '2.12.0'} # pylint: disable=line-too-long
|
159
|
-
# to:
|
160
|
-
# GCP(n1-highmem-8, {'tpu-v2-8': 1}...)
|
161
|
-
pattern = ', accelerator_args={.*}'
|
162
|
-
launched_resource_str = re.sub(pattern, '...',
|
163
|
-
launched_resource_str)
|
164
|
-
return f'{handle.launched_nodes}x {launched_resource_str}'
|
167
|
+
return (f'{handle.launched_nodes}x '
|
168
|
+
f'{format_resource(handle.launched_resources, simplify)}')
|
165
169
|
return _DEFAULT_MESSAGE_HANDLE_INITIALIZING
|
166
170
|
|
167
171
|
|
sky/utils/subprocess_utils.py
CHANGED
@@ -3,6 +3,7 @@ from multiprocessing import pool
|
|
3
3
|
import os
|
4
4
|
import random
|
5
5
|
import resource
|
6
|
+
import shlex
|
6
7
|
import subprocess
|
7
8
|
import time
|
8
9
|
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
|
@@ -101,8 +102,6 @@ def run_in_parallel(func: Callable,
|
|
101
102
|
num_threads: Optional[int] = None) -> List[Any]:
|
102
103
|
"""Run a function in parallel on a list of arguments.
|
103
104
|
|
104
|
-
The function 'func' should raise a CommandError if the command fails.
|
105
|
-
|
106
105
|
Args:
|
107
106
|
func: The function to run in parallel
|
108
107
|
args: Iterable of arguments to pass to func
|
@@ -111,19 +110,23 @@ def run_in_parallel(func: Callable,
|
|
111
110
|
|
112
111
|
Returns:
|
113
112
|
A list of the return values of the function func, in the same order as the
|
114
|
-
|
113
|
+
arguments.
|
114
|
+
|
115
|
+
Raises:
|
116
|
+
Exception: The first exception encountered.
|
115
117
|
"""
|
118
|
+
# Short-circuit for short lists
|
116
119
|
if len(args) == 0:
|
117
120
|
return []
|
118
|
-
# Short-circuit for single element
|
119
121
|
if len(args) == 1:
|
120
122
|
return [func(args[0])]
|
121
|
-
|
122
|
-
processes = num_threads
|
123
|
-
|
123
|
+
|
124
|
+
processes = (num_threads
|
125
|
+
if num_threads is not None else get_parallel_threads())
|
126
|
+
|
124
127
|
with pool.ThreadPool(processes=processes) as p:
|
125
|
-
|
126
|
-
return list(
|
128
|
+
ordered_iterators = p.imap(func, args)
|
129
|
+
return list(ordered_iterators)
|
127
130
|
|
128
131
|
|
129
132
|
def handle_returncode(returncode: int,
|
@@ -298,3 +301,39 @@ def kill_process_daemon(process_pid: int) -> None:
|
|
298
301
|
# Disable input
|
299
302
|
stdin=subprocess.DEVNULL,
|
300
303
|
)
|
304
|
+
|
305
|
+
|
306
|
+
def launch_new_process_tree(cmd: str, log_output: str = '/dev/null') -> int:
|
307
|
+
"""Launch a new process that will not be a child of the current process.
|
308
|
+
|
309
|
+
This will launch bash in a new session, which will launch the given cmd.
|
310
|
+
This will ensure that cmd is in its own process tree, and once bash exits,
|
311
|
+
will not be an ancestor of the current process. This is useful for job
|
312
|
+
launching.
|
313
|
+
|
314
|
+
Returns the pid of the launched cmd.
|
315
|
+
"""
|
316
|
+
# Use nohup to ensure the job driver process is a separate process tree,
|
317
|
+
# instead of being a child of the current process. This is important to
|
318
|
+
# avoid a chain of driver processes (job driver can call schedule_step() to
|
319
|
+
# submit new jobs, and the new job can also call schedule_step()
|
320
|
+
# recursively).
|
321
|
+
#
|
322
|
+
# echo $! will output the PID of the last background process started in the
|
323
|
+
# current shell, so we can retrieve it and record in the DB.
|
324
|
+
#
|
325
|
+
# TODO(zhwu): A more elegant solution is to use another daemon process to be
|
326
|
+
# in charge of starting these driver processes, instead of starting them in
|
327
|
+
# the current process.
|
328
|
+
wrapped_cmd = (f'nohup bash -c {shlex.quote(cmd)} '
|
329
|
+
f'</dev/null >{log_output} 2>&1 & echo $!')
|
330
|
+
proc = subprocess.run(wrapped_cmd,
|
331
|
+
stdout=subprocess.PIPE,
|
332
|
+
stderr=subprocess.PIPE,
|
333
|
+
stdin=subprocess.DEVNULL,
|
334
|
+
start_new_session=True,
|
335
|
+
check=True,
|
336
|
+
shell=True,
|
337
|
+
text=True)
|
338
|
+
# Get the PID of the detached process
|
339
|
+
return int(proc.stdout.strip())
|
{skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/RECORD
RENAMED
@@ -1,16 +1,16 @@
|
|
1
|
-
sky/__init__.py,sha256=
|
1
|
+
sky/__init__.py,sha256=1254To4a0rn24660mBqnk2iXb7jnvqv3N_Unj5dH9dQ,5944
|
2
2
|
sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
|
3
3
|
sky/authentication.py,sha256=LXUDABKP1FJCS256xTTDJa40WXwHKF5x49S-4hZbD1M,21501
|
4
4
|
sky/check.py,sha256=s8deMVL-k9y8gd519K7NWZc3DqWsEySwiAr0uH3Vvcc,9459
|
5
|
-
sky/cli.py,sha256=
|
5
|
+
sky/cli.py,sha256=suOjHrt7mQTK47Z9ZQjogyUwnxfsKZ3_eP86AI29Dko,213891
|
6
6
|
sky/cloud_stores.py,sha256=PcLT57_8SZy7o6paAluElfBynaLkbaOq3l-8dNg1AVM,23672
|
7
|
-
sky/core.py,sha256=
|
7
|
+
sky/core.py,sha256=fE1rn4Ku94S0XmWTO5-6t6eT6aaJImNczRqEnTe8v7Q,38742
|
8
8
|
sky/dag.py,sha256=f3sJlkH4bE6Uuz3ozNtsMhcBpRx7KmC9Sa4seDKt4hU,3104
|
9
9
|
sky/exceptions.py,sha256=rUi_au7QBNn3_wvwa8Y_MSHN3QDRpVLry8Mfa56LyGk,9197
|
10
10
|
sky/execution.py,sha256=dpbk1kGRkGHT0FCJKGvjqeV3qIGEN2K20NDZbVrcAvI,28483
|
11
|
-
sky/global_user_state.py,sha256=
|
11
|
+
sky/global_user_state.py,sha256=cTwltMCDIIBaapuGgARxFwpDJDCiKKyVW-PP_qtWuCA,30241
|
12
12
|
sky/optimizer.py,sha256=d5BPAEZVrS3a2oBclSwo8MWkHQKQ3u4tcyawOANN0_0,59836
|
13
|
-
sky/resources.py,sha256=
|
13
|
+
sky/resources.py,sha256=D3jteQxKOUydoNm7VDl90p02dwP3RpbO3gqNcl4dpOI,70327
|
14
14
|
sky/sky_logging.py,sha256=7Zk9mL1TDxFkGsy3INMBKYlqsbognVGSMzAsHZdZlhw,5891
|
15
15
|
sky/skypilot_config.py,sha256=FN93hSG-heQCHBnemlIK2TwrJngKbpx4vMXNUzPIzV8,9087
|
16
16
|
sky/status_lib.py,sha256=J7Jb4_Dz0v2T64ttOdyUgpokvl4S0sBJrMfH7Fvo51A,1457
|
@@ -32,7 +32,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
|
|
32
32
|
sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
|
33
33
|
sky/backends/backend.py,sha256=iBs5gnMaaUoH2OIQ3xhAjWdrJWqj8T61Za9TGsBFpvQ,7515
|
34
34
|
sky/backends/backend_utils.py,sha256=Eeew8YV0VYSYxozqzadNMZrjhEMjlE3yuzTRP7YSl50,137348
|
35
|
-
sky/backends/cloud_vm_ray_backend.py,sha256=
|
35
|
+
sky/backends/cloud_vm_ray_backend.py,sha256=J7_vO4VqednTvSjiQhRapL5zGZctdpoLUYCoblNOCcc,247106
|
36
36
|
sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
|
37
37
|
sky/backends/local_docker_backend.py,sha256=nSYCjms3HOPjPNOrcCqsUKm1WV3AAovRFjEQ7hcEXW4,17021
|
38
38
|
sky/backends/wheel_utils.py,sha256=5BUzBqfYz7p1ME6_0PXGmcsAkLVb8NrFt317p7a4X8s,8278
|
@@ -94,15 +94,16 @@ sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
|
|
94
94
|
sky/data/data_transfer.py,sha256=wixC4_3_JaeJFdGKOp-O5ulcsMugDSgrCR0SnPpugGc,8946
|
95
95
|
sky/data/data_utils.py,sha256=HjcgMDuWRR_fNQ9gjuROi9GgPVvTGApiJwxGtdb2_UU,28860
|
96
96
|
sky/data/mounting_utils.py,sha256=tJHBPEDP1Wg_r3oSGBwFhMDLnPCMPSFRz26O0QkDd0Y,14908
|
97
|
-
sky/data/storage.py,sha256=
|
97
|
+
sky/data/storage.py,sha256=CWVKnHhdzXw1biPbRqYizkyVexL_OCELuJCqtd4hit4,204094
|
98
98
|
sky/data/storage_utils.py,sha256=cM3kxlffYE7PnJySDu8huyUsMX_JYsf9uer8r5OYsjo,9556
|
99
99
|
sky/jobs/__init__.py,sha256=ObZcz3lL1ip8JcmR6gbfZ4RMMfXJJdsnuU2zLQUb8jY,1546
|
100
|
-
sky/jobs/constants.py,sha256=
|
101
|
-
sky/jobs/controller.py,sha256=
|
102
|
-
sky/jobs/core.py,sha256=
|
103
|
-
sky/jobs/recovery_strategy.py,sha256=
|
104
|
-
sky/jobs/
|
105
|
-
sky/jobs/
|
100
|
+
sky/jobs/constants.py,sha256=6RphkJ6pmafQ7XYW5qwId1Zvqb99HJelA9kgrgfNR7o,1421
|
101
|
+
sky/jobs/controller.py,sha256=Qv7vOj4OXkbnZF0F9wKrlJsYhkSNJjJ1Mgrn2FyQyaM,28250
|
102
|
+
sky/jobs/core.py,sha256=2_Q9thiBPnd3i2nDqyUtQY-dsGZ1kRgAdnLcXHoycYo,19938
|
103
|
+
sky/jobs/recovery_strategy.py,sha256=m-EA-MWXPFrgx2CYFPr6MmgeUoDTEBmY2xruD2PRSGY,26365
|
104
|
+
sky/jobs/scheduler.py,sha256=WAvNb8-vBk8q1zFordFdpH7gxqWDjPHDGZZay6aodOk,12028
|
105
|
+
sky/jobs/state.py,sha256=Cjv2UEKfk3j7enXaCkU9CDqsvUfYZ3FWnYEH5HMachs,38153
|
106
|
+
sky/jobs/utils.py,sha256=waKmLbUNRXeuYKBn_U7sekSFGAEgoPp9QemUULK4Y9k,49491
|
106
107
|
sky/jobs/dashboard/dashboard.py,sha256=KMSarpVcfnc-ELPFvy1M9_I1k4kSeXubTk3ibQC67Tg,3219
|
107
108
|
sky/jobs/dashboard/static/favicon.ico,sha256=uYlvgxSM7gjBmXpZ8wydvZUPAbJiiix-rc2Xe5mma9s,15086
|
108
109
|
sky/jobs/dashboard/templates/index.html,sha256=su1tqgcsXNl1lGl9hfIR6ig1f531OO57x1Tc2mNDK7U,11139
|
@@ -145,7 +146,7 @@ sky/provision/gcp/instance_utils.py,sha256=veRBr6Oziv0KaUdC4acuWeaOremNV0gMYCCHa
|
|
145
146
|
sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
|
146
147
|
sky/provision/kubernetes/__init__.py,sha256=y6yVfii81WYG3ROxv4hiIj-ydinS5-xGxLvXnARVQoI,719
|
147
148
|
sky/provision/kubernetes/config.py,sha256=bXwOGdSAnXCkDreew0KsSUqSv3ZrptNeevqat76LLts,29012
|
148
|
-
sky/provision/kubernetes/instance.py,sha256=
|
149
|
+
sky/provision/kubernetes/instance.py,sha256=AQikdRgNklpeMgiEd4w2Hh7kGssVABsy0aCh9xsKi5Y,50313
|
149
150
|
sky/provision/kubernetes/network.py,sha256=EpNjRQ131CXepqbdkoRKFu4szVrm0oKEpv1l8EgOkjU,12364
|
150
151
|
sky/provision/kubernetes/network_utils.py,sha256=52BZY_5ynCH6IXlivKObYyAHDgQCJyAJIjmM7J4MpFo,11393
|
151
152
|
sky/provision/kubernetes/utils.py,sha256=BklPlHXKNTNKamdAygnQ_sOIROq1bN3xbIPxwNRqMV0,104774
|
@@ -206,12 +207,12 @@ sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
206
207
|
sky/skylet/attempt_skylet.py,sha256=GZ6ITjjA0m-da3IxXXfoHR6n4pjp3X3TOXUqVvSrV0k,2136
|
207
208
|
sky/skylet/autostop_lib.py,sha256=JPDHmByuhoNYXSUHl-OnyeJUkOFWn7gDM1FrS7Kr3E8,4478
|
208
209
|
sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
|
209
|
-
sky/skylet/constants.py,sha256=
|
210
|
-
sky/skylet/events.py,sha256=
|
211
|
-
sky/skylet/job_lib.py,sha256=
|
212
|
-
sky/skylet/log_lib.py,sha256=
|
213
|
-
sky/skylet/log_lib.pyi,sha256=
|
214
|
-
sky/skylet/skylet.py,sha256=
|
210
|
+
sky/skylet/constants.py,sha256=qW5tilb-D4B5IVlwphCFhPHxB3q63ICjgTbx-ftfAQQ,16022
|
211
|
+
sky/skylet/events.py,sha256=8xK2J_KOPUugZUFQunnrTCMtGJaI8Fodtv6HJjBLsAI,12532
|
212
|
+
sky/skylet/job_lib.py,sha256=Rk-C069cusJIRXsks8xqCb016JSt7GlpU7LrpX0qFJk,42785
|
213
|
+
sky/skylet/log_lib.py,sha256=oFEBd85vDYFrIyyZKekH30yc4rRYILC0F0o-COQ64oE,20445
|
214
|
+
sky/skylet/log_lib.pyi,sha256=rRk4eUX0RHGs1QL9CXsJq6RE7FqqxZlfuPJOLXTvg7I,4453
|
215
|
+
sky/skylet/skylet.py,sha256=Tpv4yYR3jwxZsYeFPexB1gS1bCL5_AAfPzGKLsknPhA,1147
|
215
216
|
sky/skylet/subprocess_daemon.py,sha256=gcL-_Hea7-SrBUyZfAbo40RBFbaeuBmPCW0dm4YYkPo,3537
|
216
217
|
sky/skylet/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
217
218
|
sky/skylet/providers/command_runner.py,sha256=DdBKP0QX325_N3zAVYwnmXmfbfXNqkzWQZpF9DSR7Go,16259
|
@@ -237,7 +238,7 @@ sky/templates/do-ray.yml.j2,sha256=sRKpn0tC-uPYtSZ20OB4fMzE7RbPQUr8kOCIbuJ4b4Q,4
|
|
237
238
|
sky/templates/fluidstack-ray.yml.j2,sha256=t8TCULgiErCZdtFmBZVsA8ZdcqR7ccwsmQhuDFTBEAU,3541
|
238
239
|
sky/templates/gcp-ray.yml.j2,sha256=y95B-Nk6hFxm6vEIaxI1wFzAIcy_GcKC3XMYo9m-ThI,9662
|
239
240
|
sky/templates/ibm-ray.yml.j2,sha256=RMBUqPId8i4CnVwcyfK3DbRapF1jFMuGQlY0E0PFbMU,6669
|
240
|
-
sky/templates/jobs-controller.yaml.j2,sha256=
|
241
|
+
sky/templates/jobs-controller.yaml.j2,sha256=xShAe0ei-psRvfdJZ5ebQufEDIbaKV8KWEnQD-TYF5k,2705
|
241
242
|
sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
|
242
243
|
sky/templates/kubernetes-loadbalancer.yml.j2,sha256=IxrNYM366N01bbkJEbZ_UPYxUP8wyVEbRNFHRsBuLsw,626
|
243
244
|
sky/templates/kubernetes-port-forward-proxy-command.sh,sha256=iw7mypHszg6Ggq9MbyiYMFOkSlXaQZulaxqC5IWYGCc,3381
|
@@ -268,10 +269,10 @@ sky/utils/db_utils.py,sha256=K2-OHPg0FeHCarevMdWe0IWzm6wWumViEeYeJuGoFUE,3747
|
|
268
269
|
sky/utils/env_options.py,sha256=E5iwRFBUY2Iq6e0y0c1Mv5OSQ4MRNdk0-p38xUyVerc,1366
|
269
270
|
sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM,1384
|
270
271
|
sky/utils/log_utils.py,sha256=xEbUZfDiIiZkyWoLHXwIcqVMCBDEENsLCiogEXMDLt0,14139
|
271
|
-
sky/utils/resources_utils.py,sha256=
|
272
|
+
sky/utils/resources_utils.py,sha256=06Kx6AfbBdwBYGmIYFEY_qm6OBc2a5esZMPvIX7gCvc,7787
|
272
273
|
sky/utils/rich_utils.py,sha256=hmnI1X5dKvRIQzB7EyNb34FT97qFNve-0QHqM5r0mVk,3066
|
273
274
|
sky/utils/schemas.py,sha256=KcU6wSmLQ-2HhfE6m4RHN9D3mqMAc8X1j5vOb-bUki0,30064
|
274
|
-
sky/utils/subprocess_utils.py,sha256=
|
275
|
+
sky/utils/subprocess_utils.py,sha256=YhtxqHoaZLw2M9TikTH56dTboZN3Qu2RsGeWo4uwJVA,12054
|
275
276
|
sky/utils/timeline.py,sha256=ebHxKJK2HX0utGArrUgSezTPkcwav3VETa_AQS34t-E,3925
|
276
277
|
sky/utils/ux_utils.py,sha256=CqyIFGDuSE8fQasPkna_loZMwtboC9KedR09WEQ7qz0,6502
|
277
278
|
sky/utils/validator.py,sha256=cAFERCoC7jH0DFKepcU4x9SYmdrYL1iVmW9tXA18hvo,701
|
@@ -288,9 +289,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7Z
|
|
288
289
|
sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
|
289
290
|
sky/utils/kubernetes/rsync_helper.sh,sha256=h4YwrPFf9727CACnMJvF3EyK_0OeOYKKt4su_daKekw,1256
|
290
291
|
sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
|
291
|
-
skypilot_nightly-1.0.0.
|
292
|
-
skypilot_nightly-1.0.0.
|
293
|
-
skypilot_nightly-1.0.0.
|
294
|
-
skypilot_nightly-1.0.0.
|
295
|
-
skypilot_nightly-1.0.0.
|
296
|
-
skypilot_nightly-1.0.0.
|
292
|
+
skypilot_nightly-1.0.0.dev20250118.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
|
293
|
+
skypilot_nightly-1.0.0.dev20250118.dist-info/METADATA,sha256=MXI7Oq96GmbHBUp2w8IoABYoVNdajFlvX_-eUePBx9Y,20884
|
294
|
+
skypilot_nightly-1.0.0.dev20250118.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
295
|
+
skypilot_nightly-1.0.0.dev20250118.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
|
296
|
+
skypilot_nightly-1.0.0.dev20250118.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
|
297
|
+
skypilot_nightly-1.0.0.dev20250118.dist-info/RECORD,,
|
File without changes
|
{skypilot_nightly-1.0.0.dev20250116.dist-info → skypilot_nightly-1.0.0.dev20250118.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|