skypilot-nightly 1.0.0.dev20251022__py3-none-any.whl → 1.0.0.dev20251023__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.

Potentially problematic release.


This version of skypilot-nightly might be problematic. Click here for more details.

Files changed (51) hide show
  1. sky/__init__.py +2 -2
  2. sky/client/cli/command.py +118 -30
  3. sky/client/cli/table_utils.py +14 -8
  4. sky/dashboard/out/404.html +1 -1
  5. sky/dashboard/out/_next/static/{IgACOQPupLbX9z-RYVEDx → CJlKj9Z9fXGlQCmH4EpLX}/_buildManifest.js +1 -1
  6. sky/dashboard/out/_next/static/chunks/1871-165dc0e1553d9822.js +6 -0
  7. sky/dashboard/out/_next/static/chunks/2755.1ffbda43f960962b.js +26 -0
  8. sky/dashboard/out/_next/static/chunks/3015-2dcace420c8939f4.js +1 -0
  9. sky/dashboard/out/_next/static/chunks/{3294.998db87cd52a1238.js → 3294.27318ad826343ea6.js} +1 -1
  10. sky/dashboard/out/_next/static/chunks/{4725.10f7a9a5d3ea8208.js → 4725.a830b5c9e7867c92.js} +1 -1
  11. sky/dashboard/out/_next/static/chunks/9360.07d78b8552bc9d17.js +31 -0
  12. sky/dashboard/out/_next/static/chunks/{webpack-919e3c01ab6b2633.js → webpack-434b7577d72c879b.js} +1 -1
  13. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  14. sky/dashboard/out/clusters/[cluster].html +1 -1
  15. sky/dashboard/out/clusters.html +1 -1
  16. sky/dashboard/out/config.html +1 -1
  17. sky/dashboard/out/index.html +1 -1
  18. sky/dashboard/out/infra/[context].html +1 -1
  19. sky/dashboard/out/infra.html +1 -1
  20. sky/dashboard/out/jobs/[job].html +1 -1
  21. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  22. sky/dashboard/out/jobs.html +1 -1
  23. sky/dashboard/out/users.html +1 -1
  24. sky/dashboard/out/volumes.html +1 -1
  25. sky/dashboard/out/workspace/new.html +1 -1
  26. sky/dashboard/out/workspaces/[name].html +1 -1
  27. sky/dashboard/out/workspaces.html +1 -1
  28. sky/jobs/client/sdk.py +28 -9
  29. sky/jobs/client/sdk_async.py +9 -3
  30. sky/jobs/server/core.py +3 -1
  31. sky/jobs/utils.py +33 -22
  32. sky/server/auth/oauth2_proxy.py +2 -5
  33. sky/server/requests/requests.py +39 -6
  34. sky/server/requests/serializers/decoders.py +23 -10
  35. sky/server/requests/serializers/encoders.py +4 -3
  36. sky/server/rest.py +35 -1
  37. sky/skylet/log_lib.py +8 -1
  38. sky/skylet/subprocess_daemon.py +103 -29
  39. sky/utils/db/db_utils.py +21 -0
  40. sky/utils/subprocess_utils.py +13 -1
  41. {skypilot_nightly-1.0.0.dev20251022.dist-info → skypilot_nightly-1.0.0.dev20251023.dist-info}/METADATA +37 -37
  42. {skypilot_nightly-1.0.0.dev20251022.dist-info → skypilot_nightly-1.0.0.dev20251023.dist-info}/RECORD +47 -47
  43. sky/dashboard/out/_next/static/chunks/1871-df9f87fcb7f24292.js +0 -6
  44. sky/dashboard/out/_next/static/chunks/2755.9b1e69c921b5a870.js +0 -26
  45. sky/dashboard/out/_next/static/chunks/3015-d014dc5b9412fade.js +0 -1
  46. sky/dashboard/out/_next/static/chunks/9360.14326e329484b57e.js +0 -31
  47. /sky/dashboard/out/_next/static/{IgACOQPupLbX9z-RYVEDx → CJlKj9Z9fXGlQCmH4EpLX}/_ssgManifest.js +0 -0
  48. {skypilot_nightly-1.0.0.dev20251022.dist-info → skypilot_nightly-1.0.0.dev20251023.dist-info}/WHEEL +0 -0
  49. {skypilot_nightly-1.0.0.dev20251022.dist-info → skypilot_nightly-1.0.0.dev20251023.dist-info}/entry_points.txt +0 -0
  50. {skypilot_nightly-1.0.0.dev20251022.dist-info → skypilot_nightly-1.0.0.dev20251023.dist-info}/licenses/LICENSE +0 -0
  51. {skypilot_nightly-1.0.0.dev20251022.dist-info → skypilot_nightly-1.0.0.dev20251023.dist-info}/top_level.txt +0 -0
sky/server/rest.py CHANGED
@@ -256,6 +256,40 @@ def handle_server_unavailable(response: 'requests.Response') -> None:
256
256
  raise exceptions.ServerTemporarilyUnavailableError(error_msg)
257
257
 
258
258
 
259
+ async def handle_server_unavailable_async(
260
+ response: 'aiohttp.ClientResponse') -> None:
261
+ """Async version: Handle 503 (Service Unavailable) error
262
+
263
+ The client get 503 error in the following cases:
264
+ 1. The reverse proxy cannot find any ready backend endpoints to serve the
265
+ request, e.g. when there is and rolling-update.
266
+ 2. The skypilot API server has temporary resource issue, e.g. when the
267
+ cucurrency of the handling process is exhausted.
268
+
269
+ We expect the caller (CLI or SDK) retry on these cases and show clear wait
270
+ message to the user to let user decide whether keep waiting or abort the
271
+ request.
272
+ """
273
+ if response.status != 503:
274
+ return
275
+
276
+ error_msg = ''
277
+ try:
278
+ response_data = await response.json()
279
+ if 'detail' in response_data:
280
+ error_msg = response_data['detail']
281
+ except Exception: # pylint: disable=broad-except
282
+ try:
283
+ text = await response.text()
284
+ if text:
285
+ error_msg = text
286
+ except Exception: # pylint: disable=broad-except
287
+ pass
288
+
289
+ with ux_utils.print_exception_no_traceback():
290
+ raise exceptions.ServerTemporarilyUnavailableError(error_msg)
291
+
292
+
259
293
  @_retry_on_server_unavailable()
260
294
  def request(method, url, **kwargs) -> 'requests.Response':
261
295
  """Send a request to the API server, retry on server temporarily
@@ -332,7 +366,7 @@ async def request_without_retry_async(session: 'aiohttp.ClientSession',
332
366
  response = await session.request(method, url, **kwargs)
333
367
 
334
368
  # Handle server unavailability (503 status) - same as sync version
335
- handle_server_unavailable(response)
369
+ await handle_server_unavailable_async(response)
336
370
 
337
371
  # Set remote API version and version from headers - same as sync version
338
372
  remote_api_version = response.headers.get(constants.API_VERSION_HEADER)
sky/skylet/log_lib.py CHANGED
@@ -220,7 +220,14 @@ def run_with_log(
220
220
  stdin=stdin,
221
221
  **kwargs) as proc:
222
222
  try:
223
- subprocess_utils.kill_process_daemon(proc.pid)
223
+ if ctx is not None:
224
+ # When runs in coroutine, use kill_pg if available to avoid
225
+ # the overhead of refreshing the process tree in the daemon.
226
+ subprocess_utils.kill_process_daemon(proc.pid, use_kill_pg=True)
227
+ else:
228
+ # For backward compatibility, do not specify use_kill_pg by
229
+ # default.
230
+ subprocess_utils.kill_process_daemon(proc.pid)
224
231
  stdout = ''
225
232
  stderr = ''
226
233
  stdout_stream_handler = None
@@ -4,11 +4,16 @@ processes of proc_pid.
4
4
  """
5
5
  import argparse
6
6
  import os
7
+ import signal
7
8
  import sys
8
9
  import time
10
+ from typing import List, Optional
9
11
 
10
12
  import psutil
11
13
 
14
+ # Environment variable to enable kill_pg in subprocess daemon.
15
+ USE_KILL_PG_ENV_VAR = 'SKYPILOT_SUBPROCESS_DAEMON_KILL_PG'
16
+
12
17
 
13
18
  def daemonize():
14
19
  """Detaches the process from its parent process with double-forking.
@@ -38,8 +43,74 @@ def daemonize():
38
43
  # This process is now fully detached from the original parent and terminal
39
44
 
40
45
 
41
- if __name__ == '__main__':
42
- daemonize()
46
+ def get_pgid_if_leader(pid) -> Optional[int]:
47
+ """Get the process group ID of the target process if it is the leader."""
48
+ try:
49
+ pgid = os.getpgid(pid)
50
+ # Only use process group if the target process is the leader. This is
51
+ # to avoid killing the entire process group while the target process is
52
+ # just a subprocess in the group.
53
+ if pgid == pid:
54
+ print(f'Process group {pgid} is the leader.')
55
+ return pgid
56
+ return None
57
+ except Exception: # pylint: disable=broad-except
58
+ # Process group is only available in UNIX.
59
+ return None
60
+
61
+
62
+ def kill_process_group(pgid: int) -> bool:
63
+ """Kill the target process group."""
64
+ try:
65
+ print(f'Terminating process group {pgid}...')
66
+ os.killpg(pgid, signal.SIGTERM)
67
+ except Exception: # pylint: disable=broad-except
68
+ return False
69
+
70
+ # Wait 30s for the process group to exit gracefully.
71
+ time.sleep(30)
72
+
73
+ try:
74
+ print(f'Force killing process group {pgid}...')
75
+ os.killpg(pgid, signal.SIGKILL)
76
+ except Exception: # pylint: disable=broad-except
77
+ pass
78
+
79
+ return True
80
+
81
+
82
+ def kill_process_tree(process: psutil.Process,
83
+ children: List[psutil.Process]) -> bool:
84
+ """Kill the process tree of the target process."""
85
+ if process is not None:
86
+ # Kill the target process first to avoid having more children, or fail
87
+ # the process due to the children being defunct.
88
+ children = [process] + children
89
+
90
+ if not children:
91
+ sys.exit()
92
+
93
+ for child in children:
94
+ try:
95
+ child.terminate()
96
+ except psutil.NoSuchProcess:
97
+ continue
98
+
99
+ # Wait 30s for the processes to exit gracefully.
100
+ time.sleep(30)
101
+
102
+ # SIGKILL if they're still running.
103
+ for child in children:
104
+ try:
105
+ child.kill()
106
+ except psutil.NoSuchProcess:
107
+ continue
108
+
109
+ return True
110
+
111
+
112
+ def main():
113
+ # daemonize()
43
114
  parser = argparse.ArgumentParser()
44
115
  parser.add_argument('--parent-pid', type=int, required=True)
45
116
  parser.add_argument('--proc-pid', type=int, required=True)
@@ -72,37 +143,40 @@ if __name__ == '__main__':
72
143
  except (psutil.NoSuchProcess, ValueError):
73
144
  pass
74
145
 
146
+ pgid: Optional[int] = None
147
+ if os.environ.get(USE_KILL_PG_ENV_VAR) == '1':
148
+ # Use kill_pg on UNIX system if allowed to reduce the resource usage.
149
+ # Note that both implementations might leave subprocessed uncancelled:
150
+ # - kill_process_tree(default): a subprocess is able to detach itself
151
+ # from the process tree use the same technique as daemonize(). Also,
152
+ # since we refresh the process tree per second, if the subprocess is
153
+ # launched between the [last_poll, parent_die] interval, the
154
+ # subprocess will not be captured will not be killed.
155
+ # - kill_process_group: kill_pg will kill all the processed in the group
156
+ # but if a subprocess calls setpgid(0, 0) to detach itself from the
157
+ # process group (usually to daemonize itself), the subprocess will
158
+ # not be killed.
159
+ pgid = get_pgid_if_leader(process.pid)
160
+
75
161
  if process is not None and parent_process is not None:
76
162
  # Wait for either parent or target process to exit
77
163
  while process.is_running() and parent_process.is_running():
78
- try:
79
- tmp_children = process.children(recursive=True)
80
- if tmp_children:
81
- children = tmp_children
82
- except psutil.NoSuchProcess:
83
- pass
164
+ if pgid is None:
165
+ # Refresh process tree for cleanup if process group is not
166
+ # available.
167
+ try:
168
+ tmp_children = process.children(recursive=True)
169
+ if tmp_children:
170
+ children = tmp_children
171
+ except psutil.NoSuchProcess:
172
+ pass
84
173
  time.sleep(1)
85
174
 
86
- if process is not None:
87
- # Kill the target process first to avoid having more children, or fail
88
- # the process due to the children being defunct.
89
- children = [process] + children
175
+ if pgid is not None:
176
+ kill_process_group(pgid)
177
+ else:
178
+ kill_process_tree(process, children)
90
179
 
91
- if not children:
92
- sys.exit()
93
180
 
94
- for child in children:
95
- try:
96
- child.terminate()
97
- except psutil.NoSuchProcess:
98
- continue
99
-
100
- # Wait 30s for the processes to exit gracefully.
101
- time.sleep(30)
102
-
103
- # SIGKILL if they're still running.
104
- for child in children:
105
- try:
106
- child.kill()
107
- except psutil.NoSuchProcess:
108
- continue
181
+ if __name__ == '__main__':
182
+ main()
sky/utils/db/db_utils.py CHANGED
@@ -358,6 +358,27 @@ class SQLiteConn(threading.local):
358
358
  conn = await self._get_async_conn()
359
359
  return await conn.execute_fetchall(sql, parameters)
360
360
 
361
+ async def execute_get_returning_value_async(
362
+ self,
363
+ sql: str,
364
+ parameters: Optional[Iterable[Any]] = None
365
+ ) -> Optional[sqlite3.Row]:
366
+ conn = await self._get_async_conn()
367
+
368
+ if parameters is None:
369
+ parameters = []
370
+
371
+ def exec_and_get_returning_value(sql: str,
372
+ parameters: Optional[Iterable[Any]]):
373
+ # pylint: disable=protected-access
374
+ row = conn._conn.execute(sql, parameters).fetchone()
375
+ conn._conn.commit()
376
+ return row
377
+
378
+ # pylint: disable=protected-access
379
+ return await conn._execute(exec_and_get_returning_value, sql,
380
+ parameters)
381
+
361
382
  async def close(self):
362
383
  if self._async_conn is not None:
363
384
  await self._async_conn.close()
@@ -19,6 +19,7 @@ from sky import exceptions
19
19
  from sky import sky_logging
20
20
  from sky.adaptors import common as adaptors_common
21
21
  from sky.skylet import log_lib
22
+ from sky.skylet import subprocess_daemon
22
23
  from sky.utils import common_utils
23
24
  from sky.utils import timeline
24
25
  from sky.utils import ux_utils
@@ -306,11 +307,17 @@ def run_with_retries(
306
307
  return returncode, stdout, stderr
307
308
 
308
309
 
309
- def kill_process_daemon(process_pid: int) -> None:
310
+ def kill_process_daemon(process_pid: int, use_kill_pg: bool = False) -> None:
310
311
  """Start a daemon as a safety net to kill the process.
311
312
 
312
313
  Args:
313
314
  process_pid: The PID of the process to kill.
315
+ use_kill_pg: Whether to use kill process group to kill the process. If
316
+ True, the process will use os.killpg() to kill the target process
317
+ group on UNIX system, which is more efficient than using the daemon
318
+ to refresh the process tree in the daemon. Note that both
319
+ implementations have corner cases where subprocesses might not be
320
+ killed. Refer to subprocess_daemon.py for more details.
314
321
  """
315
322
  # Get initial children list
316
323
  try:
@@ -337,6 +344,10 @@ def kill_process_daemon(process_pid: int) -> None:
337
344
  ','.join(map(str, initial_children)),
338
345
  ]
339
346
 
347
+ env = os.environ.copy()
348
+ if use_kill_pg:
349
+ env[subprocess_daemon.USE_KILL_PG_ENV_VAR] = '1'
350
+
340
351
  # We do not need to set `start_new_session=True` here, as the
341
352
  # daemon script will detach itself from the parent process with
342
353
  # fork to avoid being killed by parent process. See the reason we
@@ -348,6 +359,7 @@ def kill_process_daemon(process_pid: int) -> None:
348
359
  stderr=subprocess.DEVNULL,
349
360
  # Disable input
350
361
  stdin=subprocess.DEVNULL,
362
+ env=env,
351
363
  )
352
364
 
353
365
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20251022
3
+ Version: 1.0.0.dev20251023
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -371,51 +371,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "shadeform"
371
371
  Requires-Dist: aiosqlite; extra == "shadeform"
372
372
  Requires-Dist: greenlet; extra == "shadeform"
373
373
  Provides-Extra: all
374
- Requires-Dist: casbin; extra == "all"
375
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
376
- Requires-Dist: ibm-vpc; extra == "all"
377
- Requires-Dist: google-cloud-storage; extra == "all"
374
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
375
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
376
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
378
377
  Requires-Dist: aiohttp; extra == "all"
379
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
380
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
381
- Requires-Dist: msrestazure; extra == "all"
382
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
383
- Requires-Dist: oci; extra == "all"
384
- Requires-Dist: pyjwt; extra == "all"
385
- Requires-Dist: runpod>=1.6.1; extra == "all"
386
- Requires-Dist: docker; extra == "all"
378
+ Requires-Dist: google-cloud-storage; extra == "all"
379
+ Requires-Dist: pydo>=0.3.0; extra == "all"
380
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
381
+ Requires-Dist: msgraph-sdk; extra == "all"
387
382
  Requires-Dist: azure-common; extra == "all"
383
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
384
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
385
+ Requires-Dist: websockets; extra == "all"
388
386
  Requires-Dist: nebius>=0.2.47; extra == "all"
389
- Requires-Dist: ibm-cos-sdk; extra == "all"
390
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
391
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
392
- Requires-Dist: anyio; extra == "all"
393
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
394
- Requires-Dist: sqlalchemy_adapter; extra == "all"
395
- Requires-Dist: boto3>=1.26.1; extra == "all"
396
387
  Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
397
- Requires-Dist: aiosqlite; extra == "all"
398
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
399
- Requires-Dist: pydo>=0.3.0; extra == "all"
388
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
400
389
  Requires-Dist: botocore>=1.29.10; extra == "all"
401
- Requires-Dist: msgraph-sdk; extra == "all"
402
- Requires-Dist: awscli>=1.27.10; extra == "all"
403
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
404
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
405
- Requires-Dist: grpcio>=1.63.0; extra == "all"
406
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
407
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
408
- Requires-Dist: colorama<0.4.5; extra == "all"
409
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
390
+ Requires-Dist: aiosqlite; extra == "all"
391
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
392
+ Requires-Dist: passlib; extra == "all"
393
+ Requires-Dist: ibm-vpc; extra == "all"
410
394
  Requires-Dist: cudo-compute>=0.1.10; extra == "all"
395
+ Requires-Dist: pyjwt; extra == "all"
396
+ Requires-Dist: casbin; extra == "all"
397
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
398
+ Requires-Dist: ibm-cos-sdk; extra == "all"
411
399
  Requires-Dist: tomli; python_version < "3.11" and extra == "all"
412
- Requires-Dist: websockets; extra == "all"
413
- Requires-Dist: azure-core>=1.24.0; extra == "all"
400
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
401
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
414
402
  Requires-Dist: greenlet; extra == "all"
403
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
404
+ Requires-Dist: colorama<0.4.5; extra == "all"
405
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
406
+ Requires-Dist: anyio; extra == "all"
407
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
408
+ Requires-Dist: awscli>=1.27.10; extra == "all"
409
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
410
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
415
411
  Requires-Dist: python-dateutil; extra == "all"
416
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
417
- Requires-Dist: azure-core>=1.31.0; extra == "all"
418
- Requires-Dist: passlib; extra == "all"
412
+ Requires-Dist: msrestazure; extra == "all"
413
+ Requires-Dist: runpod>=1.6.1; extra == "all"
414
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
415
+ Requires-Dist: docker; extra == "all"
416
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
417
+ Requires-Dist: oci; extra == "all"
418
+ Requires-Dist: boto3>=1.26.1; extra == "all"
419
419
  Provides-Extra: remote
420
420
  Requires-Dist: grpcio>=1.63.0; extra == "remote"
421
421
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=aJ5dSRnbyfruHm9mbl5MS-pt1Q_GCdX6sgg0jE9ngys,6759
1
+ sky/__init__.py,sha256=lBKOuWBDNezEc4Xm5Ly__wTUcA93INCVNjwHuP1cwYw,6759
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=BK5Fkuk3EmS4DwCrxI_8a4SQHUNFYu9GztWSzPissSA,20123
4
4
  sky/check.py,sha256=hBDTkiADC3HFfO6brZV819FVWcdOs3aiuhB6x6mY4Q4,29728
@@ -90,10 +90,10 @@ sky/client/sdk.py,sha256=HX9UGKggoV-qRYIl-iMhCwg5pTZF01SxUqikdxyEnwk,109351
90
90
  sky/client/sdk_async.py,sha256=8G_E9Dn4d80rV-wxRH4zZUXZGAm6rLw3C8PI07fXwwQ,31106
91
91
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
92
92
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- sky/client/cli/command.py,sha256=qvTTVUjf2zPPVXZuugxwM4Q5bzP906tExyiDgPnWxRk,254404
93
+ sky/client/cli/command.py,sha256=589zdYOFbcQtCmk9hzBhyu6hYZQmWoNIPaXDzyF9XTg,257227
94
94
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
95
95
  sky/client/cli/flags.py,sha256=hwQ4Y9lwTbfqYoINWUTqRMGBoXxBy4_E5hqtXbBcEeg,12219
96
- sky/client/cli/table_utils.py,sha256=HT_y__9_tZLKJ0aJu-hh67cu3NXfWDoiHir5fTmWaDw,10156
96
+ sky/client/cli/table_utils.py,sha256=CQFFD6cAL3ia8CNuNBmnFz1Ed2VuecjP3nkR2HQ0EGg,10121
97
97
  sky/clouds/__init__.py,sha256=JvZtCgauz5rAids-huDVeeTSyS59aBT1BqMtxvpuD_k,1810
98
98
  sky/clouds/aws.py,sha256=PrvbWuSAkPC18HsLVHx8NBJQiduz32NpDm1XXr6NPLo,63737
99
99
  sky/clouds/azure.py,sha256=qnabVjfS3em-TvxOIqZ6mMiipnt51MBVf7R0pnyB7bo,33233
@@ -123,32 +123,32 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
123
123
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
124
124
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
125
125
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
126
- sky/dashboard/out/404.html,sha256=lB8VhWhWyhTDRm_uuBgJp-mxc7L5l1ecxLmNjkA4Z4c,1423
127
- sky/dashboard/out/clusters.html,sha256=B0fx_Uabq4pdADEe3HS23678O8hg_IzQPAtGwZHGUT0,1418
128
- sky/dashboard/out/config.html,sha256=MNN180nQA-c4msySswutVenxuvXRjT0OaMoo6wiv78c,1414
126
+ sky/dashboard/out/404.html,sha256=gVNmVMf8W1fnRy5iJ-pj3AqlijOVn7JgrnCaYJDbT10,1423
127
+ sky/dashboard/out/clusters.html,sha256=8mp36XN17YZXx1cNCj3I97_RZ1MKhIPutCPwf-9-gWg,1418
128
+ sky/dashboard/out/config.html,sha256=lPc8hNnGjVZgDOrY7XJcY9TsgqnOfYjqxT8_BVbkBjs,1414
129
129
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
130
- sky/dashboard/out/index.html,sha256=3qu4eMREpXMDvAYLZfuy9jh1EPf8toGVaFFw_NK4jME,1407
131
- sky/dashboard/out/infra.html,sha256=j7G7Ua_hIhg-wxfPTo5z7-dhmwvo8mOBt5kyWfJeptk,1412
132
- sky/dashboard/out/jobs.html,sha256=FAHZyLtFv0i1r2on2PuK1dpgkVQTCCo3_LtDY1J1ZRc,1410
130
+ sky/dashboard/out/index.html,sha256=wRRsfgCNyU4UTqWw3DYwFppsC7362yHzmM8TkXnZ04w,1407
131
+ sky/dashboard/out/infra.html,sha256=OuRXCgxlgRGJUUj_YKI1fGIP5eABVeD-4J-csGeUG7A,1412
132
+ sky/dashboard/out/jobs.html,sha256=J5OPNhFzvhKmNjYlAjt4w2EKYp1oIzBJKoYiDywN8Sw,1410
133
133
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
134
- sky/dashboard/out/users.html,sha256=TUe7OBSINFQwTQoNScNPlC1ReA3gSedV88s-N5p98kU,1412
135
- sky/dashboard/out/volumes.html,sha256=JHzU0mFxb-iInXiMD-61t1G43KpYiXVtcLxDFsijp_E,1416
136
- sky/dashboard/out/workspaces.html,sha256=LXBlSz67KY3J-XMnPkndfFgqCHZjcHoHCLR6OhwnXZI,1422
137
- sky/dashboard/out/_next/static/IgACOQPupLbX9z-RYVEDx/_buildManifest.js,sha256=ceXW0_k9Jau1PIXeMInPR1FiyHvxcUPn7vAvEDRQ1sQ,2394
138
- sky/dashboard/out/_next/static/IgACOQPupLbX9z-RYVEDx/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
134
+ sky/dashboard/out/users.html,sha256=jzk6WbSvitGdewtMiHEoN3xiFP9GhBmF88Doxx7Vurs,1412
135
+ sky/dashboard/out/volumes.html,sha256=tavkkqkVWsw8GtmnhikaIwk3gAJpojySHPLJwYFk6Dw,1416
136
+ sky/dashboard/out/workspaces.html,sha256=klOV1CorIXXUFvEqB4AyzcQlUlABf6S6ctjwrKratCI,1422
137
+ sky/dashboard/out/_next/static/CJlKj9Z9fXGlQCmH4EpLX/_buildManifest.js,sha256=4BZq2uwZUp0bd9rX6pFyRYELyEn_D68L7CuN29Fp9vM,2394
138
+ sky/dashboard/out/_next/static/CJlKj9Z9fXGlQCmH4EpLX/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
139
139
  sky/dashboard/out/_next/static/chunks/1141-ec6f902ffb865853.js,sha256=G93wl4hvBqTIDEzkkiFBwVSnOqaFGmE3-AiKtyuWHxU,18362
140
140
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
141
- sky/dashboard/out/_next/static/chunks/1871-df9f87fcb7f24292.js,sha256=hUHiB-SESvEqfuA8D5OBvwJpIPFBRSu02JiA2yUzdBw,20652
141
+ sky/dashboard/out/_next/static/chunks/1871-165dc0e1553d9822.js,sha256=k07Kv3GbTIybDvzezwRW2aP1SMXlJDYfEIZzOv1qdxk,20697
142
142
  sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js,sha256=TQCHO4AUL9MZo1e_8GOiL8y6vjQpj5tdXZ8oCKwM1LA,271
143
143
  sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js,sha256=qkKMDvgq-AVeC811VipJzXHAB__R4G2eHj-I-7_N2Ek,8177
144
- sky/dashboard/out/_next/static/chunks/2755.9b1e69c921b5a870.js,sha256=RNRgvbpr-Na9O3i3rMR9f_ZbxbXFXGSqwMb2CnS--PY,50311
145
- sky/dashboard/out/_next/static/chunks/3015-d014dc5b9412fade.js,sha256=qYvtohF2RgCSp2swDcM5QCpxHKrG0Nq4Nsu8Jq7DR0E,39248
146
- sky/dashboard/out/_next/static/chunks/3294.998db87cd52a1238.js,sha256=wfddVWlyWTwJhepb26TflvXJVnRwH5Rv4jMHTlEYB3I,42578
144
+ sky/dashboard/out/_next/static/chunks/2755.1ffbda43f960962b.js,sha256=L1ugqljfArvkmDAaFb2dxrn19kXWzXO8aYEWXoCydVQ,51919
145
+ sky/dashboard/out/_next/static/chunks/3015-2dcace420c8939f4.js,sha256=x2a17x1qLtY7eu1jJ6BrM9wtZB8YK7RsVhrHwzFKM6Y,39338
146
+ sky/dashboard/out/_next/static/chunks/3294.27318ad826343ea6.js,sha256=1bhrZzCBDqUT-14jtZJxoQ9UlTz5uRHYO3B_vhrKQYI,42623
147
147
  sky/dashboard/out/_next/static/chunks/3785.483a3dda2d52f26e.js,sha256=YgJBr9UH5XOdxwGyfIEOS9jDKTV-hBMd173QSRp2HYs,4538
148
148
  sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js,sha256=XphBY9psNzmvGD28zgDunQEb-TX0_eOVaElmcuOjD1g,7455
149
149
  sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js,sha256=0tYP8uuog_WLEZmEuej4zenfX0PUa17nR874wSSBgqI,54583
150
150
  sky/dashboard/out/_next/static/chunks/4282-d2f3ef2fbf78e347.js,sha256=CwIckvjNXZYoAUgzEPWON0jeBRrbk99yi5oK8RgN07A,8865
151
- sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js,sha256=Og54dlTz1nWvsEyE9mmzeKjfJcNkloX5MbQN7ujfrt0,15962
151
+ sky/dashboard/out/_next/static/chunks/4725.a830b5c9e7867c92.js,sha256=lB9_aX3RDlK4C1hcKfD9_AJ3ekjxSICk3mRNhoDL1Ek,16007
152
152
  sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js,sha256=WSR1BWr-lYNW6tNy2zN_eeAM16NbzByx5kzjF06vkIA,9318
153
153
  sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js,sha256=UMLEyZH3SWcAdDnaOYztbUYUzCCP2t0KiwP2vT_swDQ,65504
154
154
  sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js,sha256=5gyzVH8d5jnrVqCh9y0HEFcRmg4zguJ9_fe9olGFW2U,29162
@@ -164,14 +164,14 @@ sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js,sha256=Dnmr9e-yZQ
164
164
  sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js,sha256=FTVy8VJRwSeEK7QH0GzTjs1b8aIz9x-pVlRcSVHdrfw,2398
165
165
  sky/dashboard/out/_next/static/chunks/8969-0389e2cb52412db3.js,sha256=_9xL6WblFU_Mzt_vw_xsmZ2Kg_BRI20U3TSZ4rWXqN0,14612
166
166
  sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js,sha256=1Txv8nMuBYtB0UoWdwmFbkA2iB85jgKB1EJJrE1ETDo,10605
167
- sky/dashboard/out/_next/static/chunks/9360.14326e329484b57e.js,sha256=a_o8x_y2nt8-ALd8SYc0Mjp7Ua5_cZ36KvrKywGo_8A,20745
167
+ sky/dashboard/out/_next/static/chunks/9360.07d78b8552bc9d17.js,sha256=EJNGWdbf5AtzqwtsPQMD5gn8qjUrgYTeIvAqdLadU3Y,20790
168
168
  sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js,sha256=kN42YbIl4M-2zBVFZzHWFGgzF0qZ4w11P_Kn6juuXZI,39896
169
169
  sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
170
170
  sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_QbamfAbTV4_xMVOTjz0rhiAPAi8ET5MuSNjjW5oMng,140965
171
171
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
172
172
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
173
173
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
174
- sky/dashboard/out/_next/static/chunks/webpack-919e3c01ab6b2633.js,sha256=v4AJWioR3xYWy3jZcDjvvYXosKNZs3DCznd_n82HzAE,4770
174
+ sky/dashboard/out/_next/static/chunks/webpack-434b7577d72c879b.js,sha256=26_MLlh4m8yr3Dv014krgUw-X5j6rgIvOdFo1VJCkVc,4770
175
175
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
176
176
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
177
177
  sky/dashboard/out/_next/static/chunks/pages/clusters-57221ec2e4e01076.js,sha256=w4MmPcFrR3R55YMHipuO6TQNEqggbldjW4NWjrk9_S0,869
@@ -190,14 +190,14 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-e020fd69dbe76cea.j
190
190
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
191
191
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-9ad108cd67d16d96.js,sha256=HYVYvAozHFY6uYUJfyh1i-NQLzAWkjXmqGdyfSNPHhc,1495
192
192
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
193
- sky/dashboard/out/clusters/[cluster].html,sha256=jhRHZyNIDrQyxkSTXB1M0bgpHnZh1fSwBoQHlaTtI2A,2937
194
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=MS4b5oLIdg7wE8WaAOemonsaI8F4FkllYSGU79Mmfog,2073
195
- sky/dashboard/out/infra/[context].html,sha256=Ds023NgSnswClan0h1tLsy7j4-hxrQx0Y8VJLwBTASE,1436
196
- sky/dashboard/out/jobs/[job].html,sha256=lM4l192ZRlfscvILvMX-HeIei_M9ZMU42WanEJrq-ao,2305
197
- sky/dashboard/out/jobs/pools/[pool].html,sha256=cyz2-VWnaw15eRkv9TDDVPC04M51IZgNPAwwR-NxQQA,2143
193
+ sky/dashboard/out/clusters/[cluster].html,sha256=6hxXP3Z2hj6Sn8PczCHrMq9yYkHEWpbiOKT9v2UudPE,2937
194
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=t5uhUqr0tdVeTBrJAWeav_Ws5PpyZ9TQduOqmZv3fPU,2073
195
+ sky/dashboard/out/infra/[context].html,sha256=dupax5ev4RdICrFOHUj7QSQxLqqbrSTnKUc8xC22UbE,1436
196
+ sky/dashboard/out/jobs/[job].html,sha256=fbWaKXRJr3u1G514byDKTYPMfhHIgU94W1bcpWKTWXY,2305
197
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=TZbOd3jbP1agxtywE7ICzv42rokEu1LnwqAlmnwkkqI,2143
198
198
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
199
- sky/dashboard/out/workspace/new.html,sha256=5NqfMOXuiZpQOAZQVrQZg2KCgwg4IMOAzVl2a4XKEAc,1428
200
- sky/dashboard/out/workspaces/[name].html,sha256=P0THJxZhQUOGVMy_DRRVe3ZPhHns5918fC2YaIbsBQA,2759
199
+ sky/dashboard/out/workspace/new.html,sha256=LAJSzOaPCJ3Wne9EnInMavkj9LIAa4Ln_4EDY5LkKuQ,1428
200
+ sky/dashboard/out/workspaces/[name].html,sha256=BcVXCFbMB4XvzziIovuheCbZG3d49KujC5P3XrPxuu0,2759
201
201
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
202
202
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
203
203
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -210,12 +210,12 @@ sky/jobs/controller.py,sha256=S6JFb5R6BQHLROVB_bzV_blIWJN7NJ_DOyTBy_Jh-Es,57083
210
210
  sky/jobs/recovery_strategy.py,sha256=FUyHTOtJ0rvTL-vznX8FcJP84ORlavewptLXr3r9evI,38423
211
211
  sky/jobs/scheduler.py,sha256=sUa83wiiuv0bwYDcn9-J1uCqZjhUkfE8z_hjG5Xl7rY,17210
212
212
  sky/jobs/state.py,sha256=8dAhqcnEzPUxbsGvWWA1baKjnpb6xNHKqE3C6vv014Q,98052
213
- sky/jobs/utils.py,sha256=Dt2R9d6_YzOXrxVuzlBSneM2f-w4QGbWCHL9Q0obqsE,102033
213
+ sky/jobs/utils.py,sha256=vcGnB1QSA-pQdKSS-5a4T1W8N6aRUlWjfBfHyO_qZlw,102151
214
214
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
- sky/jobs/client/sdk.py,sha256=HQdnZtK-yWXvOX5XEVZU145vIzfCvYZFtL6uzQEm6-c,17133
216
- sky/jobs/client/sdk_async.py,sha256=hsyPshdpbKG0RUzw2ntDeAJAkOIl-O9WDoSREV_km3o,4875
215
+ sky/jobs/client/sdk.py,sha256=ZF-rtLhynC1VK8UNO3aaxcluOo3QnltokGYxJfhI7_g,17818
216
+ sky/jobs/client/sdk_async.py,sha256=RlYs0S5cenlIH8NIM74QYhLeDR0qqCYK3MVGWBhCu8c,5188
217
217
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
218
- sky/jobs/server/core.py,sha256=K1Z_XHBI-onkSrA7p3M1p9CjAvmkM6h8DsQ4tSguVpo,48503
218
+ sky/jobs/server/core.py,sha256=TkjqVXHwoIgyhCOp1WrHYTiKX0ilpaIxhShPl7tSIuk,48638
219
219
  sky/jobs/server/server.py,sha256=Ns_zCJ0LykUQnuK6QNsJFOEWNfHgcG5DTd3phGQw-xU,9677
220
220
  sky/jobs/server/utils.py,sha256=rI_fVyEJhHjuapcB6JefkKgRuT_VeLiubAixsPo5jj0,5023
221
221
  sky/logs/__init__.py,sha256=zW4gAEvWDz5S53FlLp3krAuKrmTSJ0e3kZDnhxSbW4E,722
@@ -396,7 +396,7 @@ sky/server/config.py,sha256=oQO2Wls01oYIIr4h7B6UiPBNPcsqHlCJ3batir-Zx80,11143
396
396
  sky/server/constants.py,sha256=54w38B5AsRVCMCPP_iN7YoaApxbcttt3pue0VEP9DWg,2615
397
397
  sky/server/daemons.py,sha256=pEmLE0JsR6C8ZSxt8sr4ncPfZcDYvXqDCycU0IDcQ8U,9238
398
398
  sky/server/metrics.py,sha256=8mTyD-zo2gyAJSPJyCtTR8oImeFJ2K-sAdlje5Bf5U4,5781
399
- sky/server/rest.py,sha256=Op7WNtfNey3XnBLMBx7S4KryiBhL9UCYhMxQgVo1Ybw,14813
399
+ sky/server/rest.py,sha256=XDvKhVY9br9zt4TNbygUH_XDbH_wugzxKNYlbqVHJjY,16045
400
400
  sky/server/server.py,sha256=ra9dqKtDI8iQmJqMw2JItNQMczh8isaCTG6rt1uhXxs,88128
401
401
  sky/server/state.py,sha256=YbVOMJ1JipQQv17gLIGyiGN7MKfnP83qlUa5MB1z0Yk,747
402
402
  sky/server/stream_utils.py,sha256=9yHkB5Gkpago3WgR_sKBK5nJTpUYlBcYgTGVqMPYm9k,16750
@@ -405,7 +405,7 @@ sky/server/versions.py,sha256=3atZzUa7y1XeKNcrfVxKWAo_5ZyCOnbY7DKpIqed7Do,10011
405
405
  sky/server/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
406
406
  sky/server/auth/authn.py,sha256=zvabLsEAf9Ql6AbXJuWZ54uaiOr1mwFGGvQn84v66H4,2037
407
407
  sky/server/auth/loopback.py,sha256=Vk8iaatXBrXJLBsng9StK9kgwcJnMFqbc35exX5Aikc,1069
408
- sky/server/auth/oauth2_proxy.py,sha256=4iRhSfJuvjb4gDXk3xNIHFrgTPLkZo61znX5YRRkOC0,9374
408
+ sky/server/auth/oauth2_proxy.py,sha256=thTdRMfYhO9Zx1efIy81AJwmQqu1P1iXiVc5gL_Cstg,9188
409
409
  sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
410
410
  sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFzlc,7046
411
411
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -414,14 +414,14 @@ sky/server/requests/executor.py,sha256=quK4m2OVY_7uFASLAo-P8mzTu2i820y5hQWU8tyLb
414
414
  sky/server/requests/payloads.py,sha256=MUHuj4CaxrpI_52K76gLDEtPmsrc2WZFt2cBKL0UFus,28286
415
415
  sky/server/requests/preconditions.py,sha256=L_4ow2Twl0h2sk2P4waL2e1WVfYm4p4DFwmR6Nip8Bw,7486
416
416
  sky/server/requests/process.py,sha256=UpJp5rZizNMFRCNRtudFSjbcJhFarFbtAGDWI9x_ZyE,13197
417
- sky/server/requests/requests.py,sha256=QPydG2EnXBvdp4BfKxabNPweBANtW9jHy2pjq6852cE,39229
417
+ sky/server/requests/requests.py,sha256=zPHBx7dnfxhF0PfOHJZFLZl6n-C2h7ZDW0ovlla9fdA,40678
418
418
  sky/server/requests/threads.py,sha256=AwzbcoeLDz5RnSi0jJSD3u4lGDiYkCaa1qDvPkUqeMI,4131
419
419
  sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
420
420
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
421
421
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
422
422
  sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
423
- sky/server/requests/serializers/decoders.py,sha256=4V3muIPH_QU_CfGyoHD99IXuJbKZKZ6rhmA7S-N2L58,8201
424
- sky/server/requests/serializers/encoders.py,sha256=2816No5w-tXjDKBbvRjtOOWow-4BmZyE2NZIqdRovzo,8464
423
+ sky/server/requests/serializers/decoders.py,sha256=lnAPHBWaiCoCr2p2RbFkDqexi3Y1lBbeKCTRJWi18Zg,8837
424
+ sky/server/requests/serializers/encoders.py,sha256=POKopCYRFnk546wOZE8DbAKrmmFawCfaW34wyckhcxk,8457
425
425
  sky/setup_files/MANIFEST.in,sha256=4gbgHHwSdP6BbMJv5XOt-2K6wUVWF_T9CGsdESvh918,776
426
426
  sky/setup_files/alembic.ini,sha256=d85kX5QMzCHxrgOct7StGixQEkaO7LKGKjSXLIwBRZI,5201
427
427
  sky/setup_files/dependencies.py,sha256=CIp265rhS4BRH6CAwWyQoZMZe7H-DXXEALsh3zaII0M,9442
@@ -434,11 +434,11 @@ sky/skylet/configs.py,sha256=nNBnpuzoU696FbC3Nv0qKVSDuTw4GAbr7eCcg0_Sldo,2135
434
434
  sky/skylet/constants.py,sha256=8g2_npa_-EjUrZvYpO1CqsGafYzpWX8IKXHYWO8NQyY,25941
435
435
  sky/skylet/events.py,sha256=2vlMyR1Df3zB6ggBJNN2lUunH6x-n-m-nvsHuTwQpXc,16481
436
436
  sky/skylet/job_lib.py,sha256=_BlkEQhsTIBfPOaIDVshMTNQPSgkRaNFk5HrP0aH7Qc,53226
437
- sky/skylet/log_lib.py,sha256=sl5oc0N-DLauTFAisJ0SeQS4IRnkTtd1U46B7zYXOi0,31964
437
+ sky/skylet/log_lib.py,sha256=6zQnJJamr5Q1ZPOgP85h2-LlyOAOGl4hhDp6kkRBf7Q,32355
438
438
  sky/skylet/log_lib.pyi,sha256=cpbQ4oa1C3Vl5rmPKkA4wupgKTOZlPFZHQiqrhxR_X8,5409
439
439
  sky/skylet/services.py,sha256=__mC_5I1Y1i1bUHwU4LqmQZVzdkRtTTJhI5kF_fLq-Q,26694
440
440
  sky/skylet/skylet.py,sha256=Hi07DNpTwvWz575iCLeHCpUlpnQrKQD_SSJdL2SPvo0,3019
441
- sky/skylet/subprocess_daemon.py,sha256=gcL-_Hea7-SrBUyZfAbo40RBFbaeuBmPCW0dm4YYkPo,3537
441
+ sky/skylet/subprocess_daemon.py,sha256=0eA855Bir4eVwjxn0vKUc53VgDQBnZo_oG2QqYiqZCg,6258
442
442
  sky/skylet/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
443
443
  sky/skylet/providers/command_runner.py,sha256=DdBKP0QX325_N3zAVYwnmXmfbfXNqkzWQZpF9DSR7Go,16259
444
444
  sky/skylet/providers/ibm/__init__.py,sha256=GXo5F9ztvs0qMDI_G9wM5KvzySfYugslJMHHAnBENRc,94
@@ -538,7 +538,7 @@ sky/utils/rich_utils.py,sha256=Zb48ZeOX58WG2me48XYk2VO4N_BXL154xJwqlHu0zw8,20031
538
538
  sky/utils/schemas.py,sha256=dtyKZjv1-t010khv6yf6ckJ_JaOzbfUXhE6eUTBrsrM,58042
539
539
  sky/utils/serialize_utils.py,sha256=nn2x-8cTZeiVr5cgaBpLOGGpSFtms62QAJFyxs_bodI,630
540
540
  sky/utils/status_lib.py,sha256=QGkd6COD1GX1h30Mk9RMUdyeUOMJs5971GkxTcFgdsU,1705
541
- sky/utils/subprocess_utils.py,sha256=T5tkoM5DueYaE3lQyer7oaEekadbtFBwWS77K8ofTs4,16041
541
+ sky/utils/subprocess_utils.py,sha256=LOdk03dA9NDTgbKisdHGWtIFXTtxeKIRDoSO_Rm8JIQ,16685
542
542
  sky/utils/tempstore.py,sha256=3S5fJ3UjnE12ve38c3MpTXpoRWfDSGndZpqNe7P_8aU,2148
543
543
  sky/utils/timeline.py,sha256=W_HrRBWS9glV25CyCBGUTn1OBe7b0S7kBL8_jv18CZU,3060
544
544
  sky/utils/ux_utils.py,sha256=JTEMwWdvNvXWTVTsQnsh9Du5Bh_g1y5z4yXDriZuJvI,12581
@@ -550,7 +550,7 @@ sky/utils/aws/get_default_security_group.py,sha256=LPzz5133ZUMbzDD3iqqACL9Pdlgqi
550
550
  sky/utils/cli_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
551
551
  sky/utils/cli_utils/status_utils.py,sha256=_hdPmlFC3YOnJkttHx2GMGc9lBQqRWY8WTWc1ZWR4GI,16183
552
552
  sky/utils/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
553
- sky/utils/db/db_utils.py,sha256=9XDirZgBzSqpme3Q7h3qI4RUYfvPkD3bfd-IL0FBt5s,17028
553
+ sky/utils/db/db_utils.py,sha256=C3s89lC2fH2Pz6KWNBRAJYiJXMIScOYVfABlxqZt_ic,17768
554
554
  sky/utils/db/migration_utils.py,sha256=Kv1oPC67dYWGBkdj10WHvdubfKZsZA31pSmbCWT_5G4,5147
555
555
  sky/utils/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
556
556
  sky/utils/kubernetes/cleanup-tunnel.sh,sha256=rXMXuMfyB9bzKjLvXdMCjimDVvdjGPMXuqeo2ZNx9OA,2244
@@ -579,9 +579,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
579
579
  sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
580
580
  sky/workspaces/server.py,sha256=T1K52wR88nARVMUBf2cpIP3VURjDNQTcN6HIp7prghE,3511
581
581
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
582
- skypilot_nightly-1.0.0.dev20251022.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
583
- skypilot_nightly-1.0.0.dev20251022.dist-info/METADATA,sha256=NPCdKMiU0YREhZvhJzkmW4fqb0NIRrO_KWsV01pUe9I,31328
584
- skypilot_nightly-1.0.0.dev20251022.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
585
- skypilot_nightly-1.0.0.dev20251022.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
586
- skypilot_nightly-1.0.0.dev20251022.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
587
- skypilot_nightly-1.0.0.dev20251022.dist-info/RECORD,,
582
+ skypilot_nightly-1.0.0.dev20251023.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
583
+ skypilot_nightly-1.0.0.dev20251023.dist-info/METADATA,sha256=YX6M5drYEFYqWqq23zY-rzfABCnfnni--etD9nSXenI,31328
584
+ skypilot_nightly-1.0.0.dev20251023.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
585
+ skypilot_nightly-1.0.0.dev20251023.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
586
+ skypilot_nightly-1.0.0.dev20251023.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
587
+ skypilot_nightly-1.0.0.dev20251023.dist-info/RECORD,,