skypilot-nightly 1.0.0.dev20250513__py3-none-any.whl → 1.0.0.dev20250514__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.
Files changed (35) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/backend_utils.py +0 -3
  3. sky/backends/cloud_vm_ray_backend.py +22 -10
  4. sky/clouds/gcp.py +24 -8
  5. sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +33 -11
  6. sky/clouds/service_catalog/gcp_catalog.py +7 -1
  7. sky/dashboard/out/404.html +1 -1
  8. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  9. sky/dashboard/out/clusters/[cluster].html +1 -1
  10. sky/dashboard/out/clusters.html +1 -1
  11. sky/dashboard/out/index.html +1 -1
  12. sky/dashboard/out/jobs/[job].html +1 -1
  13. sky/dashboard/out/jobs.html +1 -1
  14. sky/global_user_state.py +0 -2
  15. sky/resources.py +4 -0
  16. sky/server/requests/executor.py +22 -114
  17. sky/server/requests/requests.py +0 -15
  18. sky/server/server.py +7 -12
  19. sky/server/uvicorn.py +2 -12
  20. sky/sky_logging.py +2 -40
  21. sky/skylet/log_lib.py +11 -51
  22. sky/templates/nebius-ray.yml.j2 +3 -1
  23. sky/utils/command_runner.py +0 -3
  24. sky/utils/rich_utils.py +37 -81
  25. sky/utils/subprocess_utils.py +2 -8
  26. {skypilot_nightly-1.0.0.dev20250513.dist-info → skypilot_nightly-1.0.0.dev20250514.dist-info}/METADATA +1 -1
  27. {skypilot_nightly-1.0.0.dev20250513.dist-info → skypilot_nightly-1.0.0.dev20250514.dist-info}/RECORD +33 -35
  28. sky/utils/context.py +0 -264
  29. sky/utils/context_utils.py +0 -172
  30. /sky/dashboard/out/_next/static/{2dkponv64SfFShA8Rnw0D → tdxxQrPV6NW90a983oHXe}/_buildManifest.js +0 -0
  31. /sky/dashboard/out/_next/static/{2dkponv64SfFShA8Rnw0D → tdxxQrPV6NW90a983oHXe}/_ssgManifest.js +0 -0
  32. {skypilot_nightly-1.0.0.dev20250513.dist-info → skypilot_nightly-1.0.0.dev20250514.dist-info}/WHEEL +0 -0
  33. {skypilot_nightly-1.0.0.dev20250513.dist-info → skypilot_nightly-1.0.0.dev20250514.dist-info}/entry_points.txt +0 -0
  34. {skypilot_nightly-1.0.0.dev20250513.dist-info → skypilot_nightly-1.0.0.dev20250514.dist-info}/licenses/LICENSE +0 -0
  35. {skypilot_nightly-1.0.0.dev20250513.dist-info → skypilot_nightly-1.0.0.dev20250514.dist-info}/top_level.txt +0 -0
sky/utils/rich_utils.py CHANGED
@@ -1,15 +1,13 @@
1
1
  """Rich status spinner utils."""
2
2
  import contextlib
3
- import contextvars
4
3
  import enum
5
4
  import logging
6
5
  import threading
7
6
  import typing
8
- from typing import Callable, Iterator, Optional, Tuple, Union
7
+ from typing import Dict, Iterator, Optional, Tuple, Union
9
8
 
10
9
  from sky.adaptors import common as adaptors_common
11
10
  from sky.utils import annotations
12
- from sky.utils import context
13
11
  from sky.utils import message_utils
14
12
  from sky.utils import rich_console_utils
15
13
 
@@ -20,31 +18,11 @@ else:
20
18
  requests = adaptors_common.LazyImport('requests')
21
19
  rich_console = adaptors_common.LazyImport('rich.console')
22
20
 
23
- GeneralStatus = Union['rich_console.Status', 'EncodedStatus']
24
-
25
- _client_status: Optional[GeneralStatus] = None
26
- _server_status: contextvars.ContextVar[
27
- Optional[GeneralStatus]] = contextvars.ContextVar('server_status',
28
- default=None)
29
-
30
-
31
- def _get_client_status() -> Optional[GeneralStatus]:
32
- return _client_status
33
-
34
-
35
- def _get_server_status() -> Optional[GeneralStatus]:
36
- return _server_status.get()
37
-
38
-
39
- def _set_client_status(status: Optional[GeneralStatus]):
40
- global _client_status
41
- _client_status = status
42
-
43
-
44
- def _set_server_status(status: Optional[GeneralStatus]):
45
- _server_status.set(status)
46
-
47
-
21
+ _statuses: Dict[str, Optional[Union['EncodedStatus',
22
+ 'rich_console.Status']]] = {
23
+ 'server': None,
24
+ 'client': None,
25
+ }
48
26
  _status_nesting_level = 0
49
27
 
50
28
  _logging_lock = threading.RLock()
@@ -150,22 +128,20 @@ class _NoOpConsoleStatus:
150
128
  class _RevertibleStatus:
151
129
  """A wrapper for status that can revert to previous message after exit."""
152
130
 
153
- def __init__(self, message: str, get_status_fn: Callable[[], GeneralStatus],
154
- set_status_fn: Callable[[Optional[GeneralStatus]], None]):
131
+ def __init__(self, message: str, status_type: str):
155
132
  self.previous_message = None
156
- self.get_status_fn = get_status_fn
157
- self.set_status_fn = set_status_fn
158
- status = self.get_status_fn()
133
+ self.status_type = status_type
134
+ status = _statuses[status_type]
159
135
  if status is not None:
160
136
  self.previous_message = status.status
161
137
  self.message = message
162
138
 
163
139
  def __enter__(self):
164
140
  global _status_nesting_level
165
- self.get_status_fn().update(self.message)
141
+ _statuses[self.status_type].update(self.message)
166
142
  _status_nesting_level += 1
167
- self.get_status_fn().__enter__()
168
- return self.get_status_fn()
143
+ _statuses[self.status_type].__enter__()
144
+ return _statuses[self.status_type]
169
145
 
170
146
  def __exit__(self, exc_type, exc_val, exc_tb):
171
147
  # We use the same lock with the `safe_logger` to avoid the following 2
@@ -184,48 +160,32 @@ class _RevertibleStatus:
184
160
  _status_nesting_level -= 1
185
161
  if _status_nesting_level <= 0:
186
162
  _status_nesting_level = 0
187
- if self.get_status_fn() is not None:
188
- self.get_status_fn().__exit__(exc_type, exc_val, exc_tb)
189
- self.set_status_fn(None)
163
+ if _statuses[self.status_type] is not None:
164
+ _statuses[self.status_type].__exit__(
165
+ exc_type, exc_val, exc_tb)
166
+ _statuses[self.status_type] = None
190
167
  else:
191
- self.get_status_fn().update(self.previous_message)
168
+ _statuses[self.status_type].update(self.previous_message)
192
169
 
193
170
  def update(self, *args, **kwargs):
194
- self.get_status_fn().update(*args, **kwargs)
171
+ _statuses[self.status_type].update(*args, **kwargs)
195
172
 
196
173
  def stop(self):
197
- self.get_status_fn().stop()
174
+ _statuses[self.status_type].stop()
198
175
 
199
176
  def start(self):
200
- self.get_status_fn().start()
201
-
202
-
203
- def _is_thread_safe() -> bool:
204
- """Check if the current status context is thread-safe.
205
-
206
- We are thread-safe if we are on the main thread or the server_status is
207
- context-local, i.e. an async context has been initialized.
208
- """
209
- return (threading.current_thread() is threading.main_thread() or
210
- context.get() is not None)
177
+ _statuses[self.status_type].start()
211
178
 
212
179
 
213
180
  def safe_status(msg: str) -> Union['rich_console.Status', _NoOpConsoleStatus]:
214
- """A wrapper for multi-threaded server-side console.status.
215
-
216
- This function will encode rich status with control codes and output the
217
- encoded string to stdout. Client-side decode control codes from server
218
- output and update the rich status. This function is safe to be called in
219
- async/multi-threaded context.
220
-
221
- See also: :func:`client_status`, :class:`EncodedStatus`.
222
- """
181
+ """A wrapper for multi-threaded console.status."""
223
182
  from sky import sky_logging # pylint: disable=import-outside-toplevel
224
- if (annotations.is_on_api_server and _is_thread_safe() and
183
+ if (annotations.is_on_api_server and
184
+ threading.current_thread() is threading.main_thread() and
225
185
  not sky_logging.is_silent()):
226
- if _get_server_status() is None:
227
- _set_server_status(EncodedStatus(msg))
228
- return _RevertibleStatus(msg, _get_server_status, _set_server_status)
186
+ if _statuses['server'] is None:
187
+ _statuses['server'] = EncodedStatus(msg)
188
+ return _RevertibleStatus(msg, 'server')
229
189
  return _NoOpConsoleStatus()
230
190
 
231
191
 
@@ -236,26 +196,22 @@ def stop_safe_status():
236
196
  stream logs from user program and do not want it to interfere with the
237
197
  spinner display.
238
198
  """
239
- if _is_thread_safe():
240
- return
241
- server_status = _get_server_status()
242
- if server_status is not None:
243
- server_status.stop()
199
+ if (threading.current_thread() is threading.main_thread() and
200
+ _statuses['server'] is not None):
201
+ _statuses['server'].stop()
244
202
 
245
203
 
246
204
  def force_update_status(msg: str):
247
205
  """Update the status message even if sky_logging.is_silent() is true."""
248
- if not _is_thread_safe():
249
- return
250
- server_status = _get_server_status()
251
- if server_status is not None:
252
- server_status.update(msg)
206
+ if (threading.current_thread() is threading.main_thread() and
207
+ _statuses['server'] is not None):
208
+ _statuses['server'].update(msg)
253
209
 
254
210
 
255
211
  @contextlib.contextmanager
256
212
  def safe_logger():
257
213
  with _logging_lock:
258
- client_status_obj = _get_client_status()
214
+ client_status_obj = _statuses['client']
259
215
 
260
216
  client_status_live = (client_status_obj is not None and
261
217
  client_status_obj._live.is_started) # pylint: disable=protected-access
@@ -274,13 +230,13 @@ class RichSafeStreamHandler(logging.StreamHandler):
274
230
 
275
231
 
276
232
  def client_status(msg: str) -> Union['rich_console.Status', _NoOpConsoleStatus]:
277
- """A wrapper for multi-threaded client-side console.status."""
233
+ """A wrapper for multi-threaded console.status."""
278
234
  from sky import sky_logging # pylint: disable=import-outside-toplevel
279
235
  if (threading.current_thread() is threading.main_thread() and
280
236
  not sky_logging.is_silent()):
281
- if _get_client_status() is None:
282
- _set_client_status(rich_console_utils.get_console().status(msg))
283
- return _RevertibleStatus(msg, _get_client_status, _set_client_status)
237
+ if _statuses['client'] is None:
238
+ _statuses['client'] = rich_console_utils.get_console().status(msg)
239
+ return _RevertibleStatus(msg, 'client')
284
240
  return _NoOpConsoleStatus()
285
241
 
286
242
 
@@ -208,11 +208,8 @@ def kill_children_processes(parent_pids: Optional[Union[
208
208
  kill_process_with_grace_period(child, force=force)
209
209
 
210
210
 
211
- GenericProcess = Union[multiprocessing.Process, psutil.Process,
212
- subprocess.Popen]
213
-
214
-
215
- def kill_process_with_grace_period(proc: GenericProcess,
211
+ def kill_process_with_grace_period(proc: Union[multiprocessing.Process,
212
+ psutil.Process],
216
213
  force: bool = False,
217
214
  grace_period: int = 10) -> None:
218
215
  """Kill a process with SIGTERM and wait for it to exit.
@@ -226,9 +223,6 @@ def kill_process_with_grace_period(proc: GenericProcess,
226
223
  if isinstance(proc, psutil.Process):
227
224
  alive = proc.is_running
228
225
  wait = proc.wait
229
- elif isinstance(proc, subprocess.Popen):
230
- alive = lambda: proc.poll() is None
231
- wait = proc.wait
232
226
  else:
233
227
  alive = proc.is_alive
234
228
  wait = proc.join
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250513
3
+ Version: 1.0.0.dev20250514
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=zwuebpeVeI_7BjYteMqGZSTTw-gD4g6FRGKUTzovVxM,6428
1
+ sky/__init__.py,sha256=ay-KHIkQI1h4Tqmd1-FcAX47sxW7wo3auNDnzRv5J0M,6428
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=ND011K_-Ud1dVZF37A9KrwYir_ihJXcHc7iDWmuBc8Q,22872
4
4
  sky/check.py,sha256=AOc2t7n7mFYxlwtGNP98xIpy0azjLFewajwRJrxPV5E,16546
@@ -8,11 +8,11 @@ sky/core.py,sha256=vIVBnsK3KUh2rH0bya6VnGihm1_GWC1440AbYPHbwLA,49157
8
8
  sky/dag.py,sha256=8x-VMtjvSi0lYBemCMPLYq5ONljhoABjWzMKjmmdjSo,3369
9
9
  sky/exceptions.py,sha256=7nw0Pv2e8LV0OpW2tn5wQsN65eqJhV_ptov-0YaMdiU,17256
10
10
  sky/execution.py,sha256=b3mdvP1K7hx-JIWaqbBcs5FVo4ZLGwd7XJ3J1Vi7ZnE,29529
11
- sky/global_user_state.py,sha256=PuAcfsmVAn5NnDKJWIasg93tO0etUfrvwjU531LhP_0,33902
11
+ sky/global_user_state.py,sha256=ZG72TlGWIqBSFF-MroWf9-pqycAZAvBrKE4Paf0KUGs,33832
12
12
  sky/models.py,sha256=bGMSATMkSMr_Kp6SCoiJVVeebwSdZuzjw_jrJzVWAAc,1603
13
13
  sky/optimizer.py,sha256=VzfNH-Idp9Kcsu4HOiTrY4IDRoowTUc8orCSvDAsFqg,59672
14
- sky/resources.py,sha256=B6xe7k_mpXt5rkq_yoHt2SUIKKWZ3XvEuk8FoVjLvTw,74688
15
- sky/sky_logging.py,sha256=cMurxhFExKEFX1frcMR71Ti_s9Obg9WY30veVxsZB6o,7285
14
+ sky/resources.py,sha256=omGLFJbRmSRsf3CGVdDr5gLf5VcsPblHZyRH1RradnA,74823
15
+ sky/sky_logging.py,sha256=Nmc29vvg-GgKRZcajNrGlkuCIFxrVqefdXTPiS7Y-9o,5914
16
16
  sky/skypilot_config.py,sha256=kQUpx0QwMM0NiQO9qoMhsALDlJCPCQKchqZ1WyjXW8c,21188
17
17
  sky/task.py,sha256=S_UmRG6jMw9-6nR_s8Cxf12J1mAdH_dmcZS9wOPn4m8,57021
18
18
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -33,8 +33,8 @@ sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
33
33
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
34
34
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
35
35
  sky/backends/backend.py,sha256=wrVNzPkxDjHVAh46-iejBNe0nqx4DB6-Awtaqx5j2zs,7723
36
- sky/backends/backend_utils.py,sha256=HGZ45JPQKX8aCUjtiG_mC5cYk4TJdGFWW4__rLF5kD0,137619
37
- sky/backends/cloud_vm_ray_backend.py,sha256=mF7p7zi8Sp4LSPs7wrjlqE39PgZqZLsyoTMMxLOuT2M,252974
36
+ sky/backends/backend_utils.py,sha256=PKGvPneDv5ACRfHySVfIew8iCTLGf1MSPVUq3TL2gEg,137515
37
+ sky/backends/cloud_vm_ray_backend.py,sha256=3jg9G-wYfU7dg5gaKrO0rli93sXjRGND9TDZzrRTbEg,253879
38
38
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
39
39
  sky/backends/local_docker_backend.py,sha256=r80BGJZmAH8F49v6Y_pG3_pHmW5LQEQRusLkKoYoe9Q,17047
40
40
  sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
@@ -53,7 +53,7 @@ sky/clouds/cloud.py,sha256=1EfHyYTJxaSo7Q4Hw_SF-Lj8L11P8v6Q1sepHTJKP30,37120
53
53
  sky/clouds/cudo.py,sha256=fqmZl0FUzxv17QKS_KFWgH_GXGxjkt8U66d5_4Uxrf4,13374
54
54
  sky/clouds/do.py,sha256=n7Mler69EHV1A3038IybSssMapm7LPmpdupsc1pOg7A,11754
55
55
  sky/clouds/fluidstack.py,sha256=5WZcuOP8RzkG35I8t_q60dWR_5m9s2bGVyOnSvDGAHc,12834
56
- sky/clouds/gcp.py,sha256=9NAod1JYyXzsBuhzGV1OCVc84-KQKicXjKSaJBhJ2GQ,59889
56
+ sky/clouds/gcp.py,sha256=SjnbV1M1mfS2wSHBos6-mVeXCszCIm5DoGubRP9zyV0,60500
57
57
  sky/clouds/ibm.py,sha256=BDWY3VmQ_Wqg7WG58lnJ-94iI4g9rCKQkdee-Yf8CJ0,22168
58
58
  sky/clouds/kubernetes.py,sha256=zYmPJ_20wWikkolT6CjJM87-2i89yuV5kb1m3Tw5C38,38218
59
59
  sky/clouds/lambda_cloud.py,sha256=vfq4cjbHfONioOKlkx7Ct-2t3t14qg6aU4A8JEPWzoQ,12942
@@ -73,7 +73,7 @@ sky/clouds/service_catalog/constants.py,sha256=N-Qgy93rtWC4lMNO7eeYYgXH9LXn-Y3lc
73
73
  sky/clouds/service_catalog/cudo_catalog.py,sha256=V_takvL6dWTGQaTLCEvjKIotCDPnMujiNUZ87kZKGVI,4673
74
74
  sky/clouds/service_catalog/do_catalog.py,sha256=Cug2QaQlSN6nFhba7f1ksyzs6z0ICTj6vSiR-792WnI,3698
75
75
  sky/clouds/service_catalog/fluidstack_catalog.py,sha256=21-cvrYEYTIi7n3ZNF2e7_0QX-PF4BkhlVJUWQOvKrY,5059
76
- sky/clouds/service_catalog/gcp_catalog.py,sha256=vmuXr4A3ONCBJtFaJ3AcoFUCg6L1C503o3gwWixvSXg,25267
76
+ sky/clouds/service_catalog/gcp_catalog.py,sha256=1fhw1nqgdqC1tByxFjOc04G7vEZ4-5H5iGgGtVZ19L4,25371
77
77
  sky/clouds/service_catalog/ibm_catalog.py,sha256=1iK0KvbI82U7sySb7chr-qm_16x3tTnZ6nIo7o76ouc,4493
78
78
  sky/clouds/service_catalog/kubernetes_catalog.py,sha256=vm7UDpOiG2EFWlxHz6td7-dXL_OtajpvuP5PoD9nkUk,13733
79
79
  sky/clouds/service_catalog/lambda_catalog.py,sha256=2R-ccu63BbdvO6X80MtxiniA-jLewXb6I0Ye1rYD9fY,5302
@@ -90,7 +90,7 @@ sky/clouds/service_catalog/data_fetchers/fetch_aws.py,sha256=OtMBQkfh6wIKGbaWt6c
90
90
  sky/clouds/service_catalog/data_fetchers/fetch_azure.py,sha256=7YVnoGDGGZI2TK02bj_LOoD4E5J5CFl6eqz2XlR4Vy8,12790
91
91
  sky/clouds/service_catalog/data_fetchers/fetch_cudo.py,sha256=52P48lvWN0s1ArjeLPeLemPRpxjSRcHincRle0nqdm4,3440
92
92
  sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py,sha256=hsqpQi_YUI-qil3zLCEGatrR7BkWzywr4otRdHrd-4k,7350
93
- sky/clouds/service_catalog/data_fetchers/fetch_gcp.py,sha256=IKcb0kh9u2N3B2jV7v8ekrqu2Tb1M1yEBfgzI77n0kg,31026
93
+ sky/clouds/service_catalog/data_fetchers/fetch_gcp.py,sha256=DurLnZxNlJQZnQFThY9WMZ6vUrISNhUFyFAZBqbnjCI,31746
94
94
  sky/clouds/service_catalog/data_fetchers/fetch_ibm.py,sha256=WPzR1y5ZaTdv-R3HLIdSUnOfWh4N9cqzKoKiKJQkjFk,7414
95
95
  sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py,sha256=MUzogyLruLQmIt-To6TsfnGPgv_nnlp49XYbeshsd7I,5003
96
96
  sky/clouds/service_catalog/data_fetchers/fetch_vast.py,sha256=MRxk52FUeG-R2hPUbkH44HXRPou73dxXWYAHDEXg3xU,5016
@@ -101,14 +101,12 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
101
101
  sky/clouds/utils/gcp_utils.py,sha256=YtuS4EoAMvcRnGPgE_WLENPOPWIdvhp7dLceTw_zfas,7114
102
102
  sky/clouds/utils/oci_utils.py,sha256=0YxhgZdeIHQUI1AZ86YuswsZg5HdVCIVfSTRJsSHYI0,6396
103
103
  sky/clouds/utils/scp_utils.py,sha256=MqawUhhFHHxVnn29nOI4gJ_nF665ich4Po7bsy1afsA,15948
104
- sky/dashboard/out/404.html,sha256=mwqdiuvBU0wTeCrn5SO6es8O9aixYs9ttTdw5zKW0co,2296
105
- sky/dashboard/out/clusters.html,sha256=OfsA4g8x7A7picEemf5AarW43aGKbtwPO6DIt86T-vs,11739
104
+ sky/dashboard/out/404.html,sha256=6qG6bTGu0DOHKD-4W6oiWtmK7MZPzyq0wIi95UwRNRM,2296
105
+ sky/dashboard/out/clusters.html,sha256=V5Te0Nb95Yh7dl9aqZ7hvkfIaw__F-BfDuG5MF-LKVI,11739
106
106
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
107
- sky/dashboard/out/index.html,sha256=9CcypXJHVQCg10GsRwjuz7xHtcUMIf3gX081DymU5ZU,1407
108
- sky/dashboard/out/jobs.html,sha256=yAi1tQuWp_H1ieX-_JBppJeZyeB21e5sTLAe2-C5a-o,12829
107
+ sky/dashboard/out/index.html,sha256=LzFtDAUQoQOtBkhQ_jUHVU1GzSZdpR_uvvWUDNA2lgE,1407
108
+ sky/dashboard/out/jobs.html,sha256=kxntB9ZUCUTbCJlC8yAX6FGPFkrwO2uItxqtoqHD7m8,12829
109
109
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
110
- sky/dashboard/out/_next/static/2dkponv64SfFShA8Rnw0D/_buildManifest.js,sha256=4NtjYBWj-HWskfkWBlIfUd0hRPpVQRjNs6Rrr9F5Z-k,1048
111
- sky/dashboard/out/_next/static/2dkponv64SfFShA8Rnw0D/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
112
110
  sky/dashboard/out/_next/static/chunks/236-f49500b82ad5392d.js,sha256=9wdZ7DUV0_tZZYOT6VAAXFy1xN7Xhj9YS-8vfJjonHc,24858
113
111
  sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js,sha256=H8yGnoxM_IYM2kU-A7mESi4aV4Ph3PxbIdnM2v5Kd3M,25150
114
112
  sky/dashboard/out/_next/static/chunks/37-0a572fe0dbb89c4d.js,sha256=1w7y8HAPvOZ-KtEzw8mdTqqZvxUEMPJ8U-capQ-SH0c,8107
@@ -130,9 +128,11 @@ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-f383db7389368ea7.
130
128
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-e15db85d0ea1fbe1.js,sha256=r75whZ38dwNQ6-xxUTWSdsS3mO1kUDVt2KIDdAsp6Jc,8997
131
129
  sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-03f279c6741fb48b.js,sha256=FS0JMVMjM1F6_5WTb_HlamHVsS69MdratUiY8ztxanQ,13438
132
130
  sky/dashboard/out/_next/static/css/c6933bbb2ce7f4dd.css,sha256=V9pn7LZ7uXLy3EQjFl-5MydGktBkn2yM4SWccJF9Sm0,31944
133
- sky/dashboard/out/clusters/[cluster].html,sha256=9GSsqikzOwmYxjctIdxN02Avo1o6RKghYmmMXq54K3E,1984
134
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=ybssdIwU5xPjre03R49QbnhyflMArFgLtHxQocVdpPM,1653
135
- sky/dashboard/out/jobs/[job].html,sha256=Kf5XNSLn3aMUXCRf5X8dCwB6VH6v1ER2EwlIePjpZBk,1621
131
+ sky/dashboard/out/_next/static/tdxxQrPV6NW90a983oHXe/_buildManifest.js,sha256=4NtjYBWj-HWskfkWBlIfUd0hRPpVQRjNs6Rrr9F5Z-k,1048
132
+ sky/dashboard/out/_next/static/tdxxQrPV6NW90a983oHXe/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
133
+ sky/dashboard/out/clusters/[cluster].html,sha256=0V_SE4cdQ5SQN34ge35h2JqbxS4pna1pH3Kshb8pSfs,1984
134
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=QAt3NfNnPly4DhfaX0E7BZAcfIpbeeTLmp3uxdkoVqE,1653
135
+ sky/dashboard/out/jobs/[job].html,sha256=8UioFXTIZHUCRTOxX-xE9sNgE7KGoRJzddJvmW6f9Iw,1621
136
136
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
137
137
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
138
138
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
@@ -265,17 +265,17 @@ sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
265
265
  sky/server/common.py,sha256=SE1aNuSt6-AVu-Ti4bdBdGQKj58g4oviutyB205gsoY,28354
266
266
  sky/server/config.py,sha256=XWf5Kw4am6vMO5wcyWevbQAFH-dmKb7AMEgDzD083-M,8538
267
267
  sky/server/constants.py,sha256=Ha3A4X0kPh0FrdlM5u34Wi7OxhScPUwHqRi4-ye347Y,1112
268
- sky/server/server.py,sha256=8wYfb2pQCoa0OhDad9QTEl78XcExeeafO4b_upT9ucw,47329
268
+ sky/server/server.py,sha256=eTCVdLos9ynWuL97QVVxPdfrAJPRKVyJAipO7xNCwAc,47203
269
269
  sky/server/stream_utils.py,sha256=4JMHgtoXPpCT8JwtqyUcDQ9IdZFir9om0JaCRr8rvbQ,5849
270
- sky/server/uvicorn.py,sha256=4bTlvqQiykYDEIfV6Ta9KXWKZUtSfIrhDeT1F9yQuvs,3323
270
+ sky/server/uvicorn.py,sha256=wajwPHJ3IEEP3GMNOCc0S81-1v2qT5F-ejUkLFVhUzk,2953
271
271
  sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
272
272
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
273
273
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
274
- sky/server/requests/executor.py,sha256=voOUJ0xaPRn_1NKiNxgcqkYkN542P1-bh-j20sV5Nps,23564
274
+ sky/server/requests/executor.py,sha256=BUD9JZP_K8Ldvak0tRODvyBRUx3L_FuMHNHu832ZZjE,19793
275
275
  sky/server/requests/payloads.py,sha256=m9d2Ux3qJwDB8lzXjy2hVnoUMV8tVYZF_iPUDuo7m-Y,17043
276
276
  sky/server/requests/preconditions.py,sha256=ipxIb_3JXG6S3-ymcOdqQNb7VDvoPqADxu9ZK7-nQWc,7179
277
277
  sky/server/requests/process.py,sha256=uv6JmqdT1vR6S5j3a0CEmxz3fUoKQoZCryQsjZpZE7E,8734
278
- sky/server/requests/requests.py,sha256=7WABtaxHOppJT6OgYQl4nkjDu5yPXtk1_VpfqPdeg5k,21923
278
+ sky/server/requests/requests.py,sha256=9ovdQE-zv_Mvc6IbGATHVyQlOxSKjg_OankZbgDVGeE,21338
279
279
  sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
280
280
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
281
281
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
@@ -293,7 +293,7 @@ sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
293
293
  sky/skylet/constants.py,sha256=i42NbiShZ67f4LEIV9R3yu9j32Vn0Bf0GeP4ZY90iAc,20422
294
294
  sky/skylet/events.py,sha256=pnV3ZiwWhXqTHpU5B5Y9Xwam_7FQDI6IrxgSx7X_NVA,12743
295
295
  sky/skylet/job_lib.py,sha256=LInoIK4M37ZPSb5c7u5d8h990B68O2imiayDIH4wEaA,44473
296
- sky/skylet/log_lib.py,sha256=5hvTcXN7gwOKnNZTu66YdMKORvJaxEUDyj-pex03ILg,22947
296
+ sky/skylet/log_lib.py,sha256=eQT_nbdPVp6wLtFxeoYL5Vt-VFIdmV588G08iEljncc,21053
297
297
  sky/skylet/log_lib.pyi,sha256=rRk4eUX0RHGs1QL9CXsJq6RE7FqqxZlfuPJOLXTvg7I,4453
298
298
  sky/skylet/skylet.py,sha256=mWmqCvxSlfdVU_L8NL6P52jmCt3smd8K0HdyNBfMPeI,1234
299
299
  sky/skylet/subprocess_daemon.py,sha256=gcL-_Hea7-SrBUyZfAbo40RBFbaeuBmPCW0dm4YYkPo,3537
@@ -329,7 +329,7 @@ sky/templates/kubernetes-ray.yml.j2,sha256=G_2rwLWfBBTHwD8LSkt_W0Bz6bYCx6xPZvXaS
329
329
  sky/templates/kubernetes-ssh-jump.yml.j2,sha256=k5W5sOIMppU7dDkJMwPlqsUcb92y7L5_TVG3hkgMy8M,2747
330
330
  sky/templates/lambda-ray.yml.j2,sha256=AeFThho5hPQMncrOWQ6DhEWOsAuZtdxf1gjmp_6kPJA,4747
331
331
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
332
- sky/templates/nebius-ray.yml.j2,sha256=UJ6NToiCQRSX6-kgqrLh_oWH6cgfWap1nqsAz9dk55M,5831
332
+ sky/templates/nebius-ray.yml.j2,sha256=AvZJXst-8cmGlLfLffp1Jsl6qNDRmSl4ttG0JEB8Pv4,6122
333
333
  sky/templates/oci-ray.yml.j2,sha256=TvB2at81DuXSG1QV4dxmqjjMdfDTsCU5T4JH01vI5DU,4810
334
334
  sky/templates/paperspace-ray.yml.j2,sha256=GrMfpUKgeZ76FoKsnqggBrOPkwiYqUw297npPMOcMFw,4270
335
335
  sky/templates/runpod-ray.yml.j2,sha256=Ch306rKPPScu8Q6A_IJID31hRa46xnuqu_r0ziWZWG8,4604
@@ -348,13 +348,11 @@ sky/utils/admin_policy_utils.py,sha256=y_do0VH6qh163EqSuRW1uGeKvTnJhiYNrHUs77uoO
348
348
  sky/utils/annotations.py,sha256=-rfacB30Sl0xkFriejGvxma3oKctGfXXLZkQPHG33eo,1626
349
349
  sky/utils/atomic.py,sha256=vrw-7XCnckF0xCx-ttamao7evPdGtVsnjaTtgMlBXIE,1280
350
350
  sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14432
351
- sky/utils/command_runner.py,sha256=6VknLKttMwPAHGJt_ccyr3l6lXZGVoX6C3-ZtQ7WtR0,39613
351
+ sky/utils/command_runner.py,sha256=f4jLG47V_0diWVRdpwP3YRaQvCSk79dnTdpedlykeqM,39501
352
352
  sky/utils/command_runner.pyi,sha256=SDwvKvwaK4_-l2S3bwKSHZX8tGKU5SkbKuYRDn03o7o,7810
353
353
  sky/utils/common.py,sha256=P4oVXFATUYgkruHX92cN12SJBtfb8DiOOYZtbN1kvP0,1927
354
354
  sky/utils/common_utils.py,sha256=zTfM-Sp0JiDYuZM80gMWtAVYwtdNyT1oja-4iuShmJc,31615
355
355
  sky/utils/config_utils.py,sha256=v8yZcr8OvEfXmBDYcdOj3U-AH1XERY76zGJMNdqzvqc,10339
356
- sky/utils/context.py,sha256=Sqr28B898Rck9T3dA6lw1US8QSLe8p3AypAgGOFjB_E,8126
357
- sky/utils/context_utils.py,sha256=74uR78DgpL7HIdI2Nr3rJQDtV9vY7ezJTulwo5l3UoI,6157
358
356
  sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
359
357
  sky/utils/controller_utils.py,sha256=HNEfHe_YIF0K4yTgKpuOOHYSMpLaMsEx5m5XgR1Ug34,53176
360
358
  sky/utils/dag_utils.py,sha256=sAus0aL1wtuuFZSDnpO4LY-6WK4u5iJY952oWQzHo3Y,7532
@@ -366,10 +364,10 @@ sky/utils/message_utils.py,sha256=zi2Z7PEX6Xq_zvho-aEZe_J7UvpKOLdVDdGAcipRQPU,26
366
364
  sky/utils/registry.py,sha256=I08nS0rvCF-xR5GEZoHEVgN1jcOeglz77h7xPpBCIjU,4179
367
365
  sky/utils/resources_utils.py,sha256=GbmD95DPwPB7xCnczhEpcopY16PUD6a37Xlq3U8mAe4,10530
368
366
  sky/utils/rich_console_utils.py,sha256=wPvAlshaFHuMZSjiDnaK3OSBppZLBjAn-lj7AvxNBQk,553
369
- sky/utils/rich_utils.py,sha256=ZTXdFJp--4CJDt2ANQz0VICLPc2V7llgA6LelHdG9Mw,14188
367
+ sky/utils/rich_utils.py,sha256=PK5nVUFRMvg7ngYoIxZU6Ldcyiy3VfXriOLgNFkv53g,12980
370
368
  sky/utils/schemas.py,sha256=FCrPy2FoG9NpvAzJ1hbBHRwJYivwHXy2QvqXlR6qc_o,33358
371
369
  sky/utils/status_lib.py,sha256=zn_MSuRYQdNKF8pnFOGQ54X_s_R7dyqWS6Q3a9zENw8,1512
372
- sky/utils/subprocess_utils.py,sha256=NmW22zGe9iXDXQ7XfsP4i5fve8Jq9KKiUwD7qUmw44k,16069
370
+ sky/utils/subprocess_utils.py,sha256=yM2WumV49gSKuZs0v6E3R8XKl5Q9b6veIzi6us5ORU8,15927
373
371
  sky/utils/timeline.py,sha256=ob6s3bc7nwAuSI76yLKBrSR5bzOHnOhbozz1avwoet4,4070
374
372
  sky/utils/ux_utils.py,sha256=R-ddrqcwKngziZz5haHufxiUnABaMMbmRVsaUljrPBg,10181
375
373
  sky/utils/validator.py,sha256=yo5cPUjGxqfa0ZxGyEYZMCWZ8O35G-k3VOEAtAoA_3w,856
@@ -390,9 +388,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488
390
388
  sky/utils/kubernetes/kubernetes_deploy_utils.py,sha256=HPVgNt-wbCVPd9dpDFiA7t2mzQLpjXHJ61eiwRbEr-c,10378
391
389
  sky/utils/kubernetes/rsync_helper.sh,sha256=MT29sI5iD2QxYlXFwrN16oq0Er4TPFQVs4Z4A3U4a7Q,2483
392
390
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
393
- skypilot_nightly-1.0.0.dev20250513.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
394
- skypilot_nightly-1.0.0.dev20250513.dist-info/METADATA,sha256=Eu_4C8MuKsiE_jEtEY08POd3MA5-4VHeZGrmFLkhGXo,17978
395
- skypilot_nightly-1.0.0.dev20250513.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
396
- skypilot_nightly-1.0.0.dev20250513.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
397
- skypilot_nightly-1.0.0.dev20250513.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
398
- skypilot_nightly-1.0.0.dev20250513.dist-info/RECORD,,
391
+ skypilot_nightly-1.0.0.dev20250514.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
392
+ skypilot_nightly-1.0.0.dev20250514.dist-info/METADATA,sha256=uOq1PtmZnw27sIy9my2U-PdT8YCRmaLzEastjIyO6Gg,17978
393
+ skypilot_nightly-1.0.0.dev20250514.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
394
+ skypilot_nightly-1.0.0.dev20250514.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
395
+ skypilot_nightly-1.0.0.dev20250514.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
396
+ skypilot_nightly-1.0.0.dev20250514.dist-info/RECORD,,