skypilot-nightly 1.0.0.dev20241012__py3-none-any.whl → 1.0.0.dev20241014__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 (45) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/azure.py +3 -1
  3. sky/adaptors/common.py +6 -2
  4. sky/backends/backend.py +9 -4
  5. sky/backends/backend_utils.py +13 -16
  6. sky/backends/cloud_vm_ray_backend.py +207 -161
  7. sky/backends/local_docker_backend.py +3 -1
  8. sky/benchmark/benchmark_utils.py +5 -4
  9. sky/cli.py +36 -28
  10. sky/clouds/oci.py +17 -2
  11. sky/clouds/service_catalog/aws_catalog.py +6 -7
  12. sky/clouds/service_catalog/common.py +4 -3
  13. sky/clouds/service_catalog/cudo_catalog.py +11 -1
  14. sky/core.py +4 -2
  15. sky/data/storage.py +44 -32
  16. sky/data/storage_utils.py +8 -4
  17. sky/exceptions.py +5 -0
  18. sky/execution.py +10 -24
  19. sky/jobs/core.py +9 -7
  20. sky/jobs/utils.py +15 -10
  21. sky/optimizer.py +50 -37
  22. sky/provision/aws/config.py +15 -6
  23. sky/provision/azure/config.py +14 -3
  24. sky/provision/azure/instance.py +15 -9
  25. sky/provision/kubernetes/instance.py +3 -1
  26. sky/provision/provisioner.py +63 -74
  27. sky/serve/core.py +42 -40
  28. sky/sky_logging.py +9 -5
  29. sky/skylet/job_lib.py +15 -0
  30. sky/skylet/log_lib.py +5 -4
  31. sky/skylet/providers/lambda_cloud/node_provider.py +1 -1
  32. sky/utils/command_runner.py +11 -11
  33. sky/utils/common_utils.py +2 -5
  34. sky/utils/controller_utils.py +78 -29
  35. sky/utils/env_options.py +22 -7
  36. sky/utils/log_utils.py +39 -24
  37. sky/utils/resources_utils.py +23 -0
  38. sky/utils/rich_utils.py +55 -5
  39. sky/utils/ux_utils.py +63 -4
  40. {skypilot_nightly-1.0.0.dev20241012.dist-info → skypilot_nightly-1.0.0.dev20241014.dist-info}/METADATA +1 -1
  41. {skypilot_nightly-1.0.0.dev20241012.dist-info → skypilot_nightly-1.0.0.dev20241014.dist-info}/RECORD +45 -45
  42. {skypilot_nightly-1.0.0.dev20241012.dist-info → skypilot_nightly-1.0.0.dev20241014.dist-info}/LICENSE +0 -0
  43. {skypilot_nightly-1.0.0.dev20241012.dist-info → skypilot_nightly-1.0.0.dev20241014.dist-info}/WHEEL +0 -0
  44. {skypilot_nightly-1.0.0.dev20241012.dist-info → skypilot_nightly-1.0.0.dev20241014.dist-info}/entry_points.txt +0 -0
  45. {skypilot_nightly-1.0.0.dev20241012.dist-info → skypilot_nightly-1.0.0.dev20241014.dist-info}/top_level.txt +0 -0
sky/utils/log_utils.py CHANGED
@@ -9,6 +9,7 @@ import prettytable
9
9
 
10
10
  from sky import sky_logging
11
11
  from sky.utils import rich_utils
12
+ from sky.utils import ux_utils
12
13
 
13
14
  logger = sky_logging.init_logger(__name__)
14
15
 
@@ -37,30 +38,34 @@ class RayUpLineProcessor(LineProcessor):
37
38
  RUNTIME_SETUP = 1
38
39
  PULLING_DOCKER_IMAGES = 2
39
40
 
41
+ def __init__(self, log_path: str):
42
+ self.log_path = log_path
43
+
40
44
  def __enter__(self) -> None:
41
45
  self.state = self.ProvisionStatus.LAUNCH
42
- self.status_display = rich_utils.safe_status('[bold cyan]Launching')
46
+ self.status_display = rich_utils.safe_status(
47
+ ux_utils.spinner_message('Launching', self.log_path))
43
48
  self.status_display.start()
44
49
 
45
50
  def process_line(self, log_line: str) -> None:
46
51
  if ('Success.' in log_line and
47
52
  self.state == self.ProvisionStatus.LAUNCH):
48
- logger.info(f'{colorama.Fore.GREEN}Head node is up.'
49
- f'{colorama.Style.RESET_ALL}')
53
+ logger.info(' Head VM is up.')
50
54
  self.status_display.update(
51
- '[bold cyan]Launching - Preparing SkyPilot runtime')
55
+ ux_utils.spinner_message(
56
+ 'Launching - Preparing SkyPilot runtime', self.log_path))
52
57
  self.state = self.ProvisionStatus.RUNTIME_SETUP
53
58
  if ('Pulling from' in log_line and
54
59
  self.state == self.ProvisionStatus.RUNTIME_SETUP):
55
60
  self.status_display.update(
56
- '[bold cyan]Launching - Pulling docker images')
61
+ ux_utils.spinner_message(
62
+ 'Launching - Initializing docker container', self.log_path))
57
63
  self.state = self.ProvisionStatus.PULLING_DOCKER_IMAGES
58
64
  if ('Status: Downloaded newer image' in log_line and
59
65
  self.state == self.ProvisionStatus.PULLING_DOCKER_IMAGES):
60
- logger.info(f'{colorama.Fore.GREEN}Docker image is downloaded.'
61
- f'{colorama.Style.RESET_ALL}')
62
66
  self.status_display.update(
63
- '[bold cyan]Launching - Preparing SkyPilot runtime')
67
+ ux_utils.spinner_message(
68
+ 'Launching - Preparing SkyPilot runtime', self.log_path))
64
69
  self.state = self.ProvisionStatus.RUNTIME_SETUP
65
70
 
66
71
  def __exit__(self, except_type: Optional[Type[BaseException]],
@@ -73,9 +78,10 @@ class RayUpLineProcessor(LineProcessor):
73
78
  class SkyLocalUpLineProcessor(LineProcessor):
74
79
  """A processor for `sky local up` log lines."""
75
80
 
76
- def __enter__(self) -> None:
77
- status = rich_utils.safe_status('[bold cyan]Creating local cluster - '
78
- 'initializing Kubernetes')
81
+ def __enter__(self):
82
+ status = rich_utils.safe_status(
83
+ ux_utils.spinner_message('Creating local cluster - '
84
+ 'initializing Kubernetes'))
79
85
  self.status_display = status
80
86
  self.status_display.start()
81
87
 
@@ -84,31 +90,37 @@ class SkyLocalUpLineProcessor(LineProcessor):
84
90
  logger.info(f'{colorama.Fore.GREEN}Kubernetes is running.'
85
91
  f'{colorama.Style.RESET_ALL}')
86
92
  if 'Installing NVIDIA GPU operator...' in log_line:
87
- self.status_display.update('[bold cyan]Creating local cluster - '
88
- 'Installing NVIDIA GPU operator')
93
+ self.status_display.update(
94
+ ux_utils.spinner_message('Creating local cluster - '
95
+ 'Installing NVIDIA GPU operator'))
89
96
  if 'Starting wait for GPU operator installation...' in log_line:
90
97
  self.status_display.update(
91
- '[bold cyan]Creating local cluster - '
92
- 'waiting for NVIDIA GPU operator installation to complete')
98
+ ux_utils.spinner_message(
99
+ 'Creating local cluster - '
100
+ 'waiting for NVIDIA GPU operator installation to complete'))
93
101
  logger.info('To check NVIDIA GPU operator status, '
94
102
  'see pods: kubectl get pods -n gpu-operator')
95
103
  if 'GPU operator installed' in log_line:
96
104
  logger.info(f'{colorama.Fore.GREEN}NVIDIA GPU Operator installed.'
97
105
  f'{colorama.Style.RESET_ALL}')
98
106
  if 'Pulling SkyPilot GPU image...' in log_line:
99
- self.status_display.update('[bold cyan]Creating local cluster - '
100
- 'pulling and loading SkyPilot GPU image')
107
+ self.status_display.update(
108
+ ux_utils.spinner_message(
109
+ 'Creating local cluster - '
110
+ 'pulling and loading SkyPilot GPU image'))
101
111
  if 'SkyPilot GPU image loaded into kind cluster' in log_line:
102
112
  logger.info(f'{colorama.Fore.GREEN}SkyPilot GPU image pulled.'
103
113
  f'{colorama.Style.RESET_ALL}')
104
114
  if 'Labelling nodes with GPUs...' in log_line:
105
- self.status_display.update('[bold cyan]Creating local cluster - '
106
- 'launching GPU labelling jobs')
115
+ self.status_display.update(
116
+ ux_utils.spinner_message('Creating local cluster - '
117
+ 'launching GPU labelling jobs'))
107
118
  if ('Starting wait for SkyPilot GPU labeling jobs to complete'
108
119
  in log_line):
109
120
  self.status_display.update(
110
- '[bold cyan]Creating local cluster - '
111
- 'waiting for GPU labelling jobs to complete')
121
+ ux_utils.spinner_message(
122
+ 'Creating local cluster - '
123
+ 'waiting for GPU labelling jobs to complete'))
112
124
  logger.info(
113
125
  'To check GPU labelling status, see jobs: '
114
126
  'kubectl get jobs -n kube-system -l job=sky-gpu-labeler')
@@ -116,14 +128,17 @@ class SkyLocalUpLineProcessor(LineProcessor):
116
128
  logger.info(f'{colorama.Fore.GREEN}GPU labelling complete.'
117
129
  f'{colorama.Style.RESET_ALL}')
118
130
  if 'Pulling SkyPilot CPU image...' in log_line:
119
- self.status_display.update('[bold cyan]Creating local cluster - '
120
- 'pulling and loading SkyPilot CPU image')
131
+ self.status_display.update(
132
+ ux_utils.spinner_message(
133
+ 'Creating local cluster - '
134
+ 'pulling and loading SkyPilot CPU image'))
121
135
  if 'SkyPilot CPU image loaded into kind cluster' in log_line:
122
136
  logger.info(f'{colorama.Fore.GREEN}SkyPilot CPU image pulled.'
123
137
  f'{colorama.Style.RESET_ALL}')
124
138
  if 'Starting installation of Nginx Ingress Controller...' in log_line:
125
139
  self.status_display.update(
126
- '[bold cyan]Creating Nginx Ingress Controller')
140
+ ux_utils.spinner_message('Creating local cluster - '
141
+ 'creating Nginx Ingress Controller'))
127
142
  if 'Nginx Ingress Controller installed' in log_line:
128
143
  logger.info(
129
144
  f'{colorama.Fore.GREEN}Nginx Ingress Controller installed.'
@@ -6,6 +6,8 @@ import re
6
6
  import typing
7
7
  from typing import List, Optional, Set
8
8
 
9
+ from sky import skypilot_config
10
+ from sky.clouds import cloud_registry
9
11
  from sky.utils import ux_utils
10
12
 
11
13
  if typing.TYPE_CHECKING:
@@ -177,3 +179,24 @@ class FeasibleResources:
177
179
  resources_list: List['resources_lib.Resources']
178
180
  fuzzy_candidate_list: List[str]
179
181
  hint: Optional[str]
182
+
183
+
184
+ def need_to_query_reservations() -> bool:
185
+ """Checks if we need to query reservations from cloud APIs.
186
+
187
+ We need to query reservations if:
188
+ - The cloud has specific reservations.
189
+ - The cloud prioritizes reservations over on-demand instances.
190
+
191
+ This is useful to skip the potentially expensive reservation query for
192
+ clouds that do not use reservations.
193
+ """
194
+ for cloud_str in cloud_registry.CLOUD_REGISTRY.keys():
195
+ cloud_specific_reservations = skypilot_config.get_nested(
196
+ (cloud_str, 'specific_reservations'), None)
197
+ cloud_prioritize_reservations = skypilot_config.get_nested(
198
+ (cloud_str, 'prioritize_reservations'), False)
199
+ if (cloud_specific_reservations is not None or
200
+ cloud_prioritize_reservations):
201
+ return True
202
+ return False
sky/utils/rich_utils.py CHANGED
@@ -5,8 +5,9 @@ from typing import Union
5
5
 
6
6
  import rich.console as rich_console
7
7
 
8
- console = rich_console.Console()
8
+ console = rich_console.Console(soft_wrap=True)
9
9
  _status = None
10
+ _status_nesting_level = 0
10
11
 
11
12
  _logging_lock = threading.RLock()
12
13
 
@@ -30,19 +31,68 @@ class _NoOpConsoleStatus:
30
31
  pass
31
32
 
32
33
 
34
+ class _RevertibleStatus:
35
+ """A wrapper for status that can revert to previous message after exit."""
36
+
37
+ def __init__(self, message: str):
38
+ if _status is not None:
39
+ self.previous_message = _status.status
40
+ else:
41
+ self.previous_message = None
42
+ self.message = message
43
+
44
+ def __enter__(self):
45
+ global _status_nesting_level
46
+ _status.update(self.message)
47
+ _status_nesting_level += 1
48
+ _status.__enter__()
49
+ return _status
50
+
51
+ def __exit__(self, exc_type, exc_val, exc_tb):
52
+ global _status_nesting_level, _status
53
+ _status_nesting_level -= 1
54
+ if _status_nesting_level <= 0:
55
+ _status_nesting_level = 0
56
+ if _status is not None:
57
+ _status.__exit__(exc_type, exc_val, exc_tb)
58
+ _status = None
59
+ else:
60
+ _status.update(self.previous_message)
61
+
62
+ def update(self, *args, **kwargs):
63
+ _status.update(*args, **kwargs)
64
+
65
+ def stop(self):
66
+ _status.stop()
67
+
68
+ def start(self):
69
+ _status.start()
70
+
71
+
33
72
  def safe_status(msg: str) -> Union['rich_console.Status', _NoOpConsoleStatus]:
34
73
  """A wrapper for multi-threaded console.status."""
35
74
  from sky import sky_logging # pylint: disable=import-outside-toplevel
75
+ global _status
36
76
  if (threading.current_thread() is threading.main_thread() and
37
77
  not sky_logging.is_silent()):
38
- global _status
39
78
  if _status is None:
40
- _status = console.status(msg)
41
- _status.update(msg)
42
- return _status
79
+ _status = console.status(msg, refresh_per_second=8)
80
+ return _RevertibleStatus(msg)
43
81
  return _NoOpConsoleStatus()
44
82
 
45
83
 
84
+ def stop_safe_status():
85
+ """Stops all nested statuses.
86
+
87
+ This is useful when we need to stop all statuses, e.g., when we are going to
88
+ stream logs from user program and do not want it to interfere with the
89
+ spinner display.
90
+ """
91
+ if (threading.current_thread() is threading.main_thread() and
92
+ _status is not None):
93
+ _status.stop()
94
+
95
+
46
96
  def force_update_status(msg: str):
47
97
  """Update the status message even if sky_logging.is_silent() is true."""
48
98
  if (threading.current_thread() is threading.main_thread() and
sky/utils/ux_utils.py CHANGED
@@ -1,9 +1,12 @@
1
1
  """Utility functions for UX."""
2
2
  import contextlib
3
+ import os
3
4
  import sys
4
5
  import traceback
5
- from typing import Callable
6
+ import typing
7
+ from typing import Callable, Optional, Union
6
8
 
9
+ import colorama
7
10
  import rich.console as rich_console
8
11
 
9
12
  from sky import sky_logging
@@ -11,11 +14,25 @@ from sky.utils import common_utils
11
14
  from sky.utils import env_options
12
15
  from sky.utils import ux_utils
13
16
 
17
+ if typing.TYPE_CHECKING:
18
+ import pathlib
19
+
14
20
  console = rich_console.Console()
15
21
 
22
+ INDENT_SYMBOL = f'{colorama.Style.DIM}├── {colorama.Style.RESET_ALL}'
23
+ INDENT_LAST_SYMBOL = f'{colorama.Style.DIM}└── {colorama.Style.RESET_ALL}'
24
+
25
+ # Console formatting constants
26
+ BOLD = '\033[1m'
27
+ RESET_BOLD = '\033[0m'
28
+
29
+ # Log path hint in the spinner during launching
30
+ _LOG_PATH_HINT = (f'{colorama.Style.DIM}View logs at: {{log_path}}'
31
+ f'{colorama.Style.RESET_ALL}')
32
+
16
33
 
17
34
  def console_newline():
18
- """Print a newline to the console using rich.
35
+ """Prints a newline to the console using rich.
19
36
 
20
37
  Useful when catching exceptions inside console.status()
21
38
  """
@@ -50,7 +67,7 @@ def print_exception_no_traceback():
50
67
 
51
68
  @contextlib.contextmanager
52
69
  def enable_traceback():
53
- """Revert the effect of print_exception_no_traceback().
70
+ """Reverts the effect of print_exception_no_traceback().
54
71
 
55
72
  This is used for usage_lib to collect the full traceback.
56
73
  """
@@ -61,7 +78,7 @@ def enable_traceback():
61
78
 
62
79
 
63
80
  class RedirectOutputForProcess:
64
- """Redirect stdout and stderr to a file.
81
+ """Redirects stdout and stderr to a file.
65
82
 
66
83
  This class enabled output redirect for multiprocessing.Process.
67
84
  Example usage:
@@ -102,3 +119,45 @@ class RedirectOutputForProcess:
102
119
  with ux_utils.enable_traceback():
103
120
  logger.error(f' Traceback:\n{traceback.format_exc()}')
104
121
  raise
122
+
123
+
124
+ def starting_message(message: str) -> str:
125
+ """Gets the starting message for the given message."""
126
+ return f'⚙︎ {message}'
127
+
128
+
129
+ def log_path_hint(log_path: Union[str, 'pathlib.Path']) -> str:
130
+ """Gets the log path hint for the given log path."""
131
+ log_path = str(log_path)
132
+ expanded_home = os.path.expanduser('~')
133
+ if log_path.startswith(expanded_home):
134
+ log_path = '~' + log_path[len(expanded_home):]
135
+ return _LOG_PATH_HINT.format(log_path=log_path)
136
+
137
+
138
+ def finishing_message(
139
+ message: str,
140
+ log_path: Optional[Union[str, 'pathlib.Path']] = None) -> str:
141
+ """Gets the finishing message for the given message."""
142
+ success_prefix = (f'{colorama.Fore.GREEN}✓ {message}'
143
+ f'{colorama.Style.RESET_ALL}')
144
+ if log_path is None:
145
+ return success_prefix
146
+ path_hint = log_path_hint(log_path)
147
+ return f'{success_prefix} {path_hint}'
148
+
149
+
150
+ def retry_message(message: str) -> str:
151
+ """Gets the retry message for the given message."""
152
+ return f'{colorama.Fore.YELLOW}↺{colorama.Style.RESET_ALL} {message}'
153
+
154
+
155
+ def spinner_message(
156
+ message: str,
157
+ log_path: Optional[Union[str, 'pathlib.Path']] = None) -> str:
158
+ """Gets the spinner message for the given message and log path."""
159
+ colored_spinner = f'[bold cyan]{message}[/]'
160
+ if log_path is None:
161
+ return colored_spinner
162
+ path_hint = log_path_hint(log_path)
163
+ return f'{colored_spinner} {path_hint}'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241012
3
+ Version: 1.0.0.dev20241014
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,25 +1,25 @@
1
- sky/__init__.py,sha256=CLCwcGUqllWQ-4S_tYJ0ytr3zK1fJxBKIt6jjmOTCX4,5854
1
+ sky/__init__.py,sha256=VNwdB81dfCeF4uRD4BuPNbQ3MmE9-P1PX9hLxEzmWmw,5854
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=TfKkVnmRIetATSEVQFp-rOOIRGqVig2i8faSQQt_ixA,20974
4
4
  sky/check.py,sha256=jLMIIJrseaZj1_o5WkbaD9XdyXIlCaT6pyAaIFdhdmA,9079
5
- sky/cli.py,sha256=aCdE8kQIaCoNFnFiP6Kkrimo8FokdZMCYQXtx71ir7k,210460
5
+ sky/cli.py,sha256=eC-uC2_OhuDephCdejr70VeB1bo1KGwHC8et5VR_lto,210828
6
6
  sky/cloud_stores.py,sha256=RjFgmRhUh1Kk__f6g3KxzLp9s7dA0pFK4W1AukEuUaw,21153
7
- sky/core.py,sha256=YF_6kwj8Ja171Oycb8L25SZ7V_ylZYovFS_jpnjwGo0,34408
7
+ sky/core.py,sha256=I7ZxjrJmrM-zAWVnmUyz0kzS9fjKaaLehDdWMm3H0x8,34443
8
8
  sky/dag.py,sha256=WLFWr5hfrwjd31uYlNvI-zWUk7tLaT_gzJn4LzbVtkE,2780
9
- sky/exceptions.py,sha256=s7j0iCa1Ec0rU1ABb9EAhqn2qFm22bmKQV_ckgRlMGk,8720
10
- sky/execution.py,sha256=97yhNh5BKBh2ZJW8GefGID_4KCYU-arnvemSJB9rf6U,25552
9
+ sky/exceptions.py,sha256=D7WARzYRt4dGjXo6gI-gzkoodZbKF1D-qncm_DbHB28,8846
10
+ sky/execution.py,sha256=CbrKMgfc2JgLqZqwPvmYKxbWAQKYqHpOLpUEOb-k2m0,24679
11
11
  sky/global_user_state.py,sha256=PywEmUutF97XBgRMClR6IS5_KM8JJC0oA1LsPUZebp0,28681
12
- sky/optimizer.py,sha256=YGBhJPlcvylYON7MLrYEMtBOqJLt4LdlguQclVvvl4E,58677
12
+ sky/optimizer.py,sha256=OzxWiA6ZC0tyJ1eNMy4e72vitjfLKfbOLF9ywZOccXU,59343
13
13
  sky/resources.py,sha256=b9yaZvZkL-QZdElQLHsEZ2jhKgId2ixG8M2Z8DLBBKU,67450
14
- sky/sky_logging.py,sha256=I59__M9taBjDim15ie0m25Vtn6itLtR9Ao8W9FS36Xs,4253
14
+ sky/sky_logging.py,sha256=oLmTmwkuucIto3LHXLJfMcyRpYSkmZAZa5XzQPA5IHk,4434
15
15
  sky/skypilot_config.py,sha256=E3g65cX3P3dT9b5N0GgFBG6yB0FXwIGpisKoozmJmWU,9094
16
16
  sky/status_lib.py,sha256=J7Jb4_Dz0v2T64ttOdyUgpokvl4S0sBJrMfH7Fvo51A,1457
17
17
  sky/task.py,sha256=KDsTBIxYpkCOPHv3_ei5H3LDMiGHvDeS9_2HeL6yyLA,49766
18
18
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  sky/adaptors/aws.py,sha256=jz3E8YyeGscgLZvFE6A1SkxpH6o_inZ-0NiXdRnxSGA,6863
20
- sky/adaptors/azure.py,sha256=AmiNSSbgLrBEA_GefyRx5EKr8rWlvrClt1PLogFpkd0,21309
20
+ sky/adaptors/azure.py,sha256=edWy5YgW6dAUl8pPWvSJ8x5mRgCew1KmDpntTw65vHo,21464
21
21
  sky/adaptors/cloudflare.py,sha256=0JA41HeZeYoqcJoEyol01caYgt8UrlpcZJJ6ToU-Fg8,7594
22
- sky/adaptors/common.py,sha256=Tz98vqZrYMf_EoIIqaZv8DQcbW5a_xSGf7RoAhCEDlo,2354
22
+ sky/adaptors/common.py,sha256=VhgAFPx-GmhXoob8B1YvqGC2BXs2HwtqoA8oFMaqkbc,2551
23
23
  sky/adaptors/cudo.py,sha256=WGvIQrlzJkGDe02Ve7pygA56tHwUc4kwS3XHW8kMFAA,239
24
24
  sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
25
25
  sky/adaptors/gcp.py,sha256=OQ9RaqjR0r0iaWYpjvEtIx5vnEhyB4LhUCwbtdxsmVk,3115
@@ -29,16 +29,16 @@ sky/adaptors/oci.py,sha256=n_zcrippTZRbTIhN3euD5sqNYn43G397zMavaJyEYbk,1480
29
29
  sky/adaptors/runpod.py,sha256=4Nt_BfZhJAKQNA3wO8cxvvNI8x4NsDGHu_4EhRDlGYQ,225
30
30
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
31
31
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
32
- sky/backends/backend.py,sha256=xtxR6boDv1o-uSCjbJhOMkKMnZvBZh3gExx4khFWPTI,5932
33
- sky/backends/backend_utils.py,sha256=_gp6nL4evexSoXUWdA4rI7mJ2XQt59bYQ0LRAD5QuKI,126826
34
- sky/backends/cloud_vm_ray_backend.py,sha256=NUT8bp-mifTLGzZFsA9kXqFPue4ZhbX-5pX55evdeXI,233984
32
+ sky/backends/backend.py,sha256=wwfbrxPhjMPs6PSyy3tAHI8WJhl-xhgzWBsAZjmJJ6g,6249
33
+ sky/backends/backend_utils.py,sha256=Kp3HRqjrisnDYzLURYSbtyZ7WGMKHSVfMSwRj5_aOnc,126770
34
+ sky/backends/cloud_vm_ray_backend.py,sha256=otDjYA4FtnlFGU_xNaxhBM5wFQ8fuF4kPeYQmf1Me3E,236901
35
35
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
36
- sky/backends/local_docker_backend.py,sha256=H4GBo0KFUC_EEf-ziv1OUbfAkOI5BrwkYs9fYOxSoNw,16741
36
+ sky/backends/local_docker_backend.py,sha256=0JL5m0YUgOmOL4aWEUe4tmt89dsxjk4_WXkPwgEKEis,16801
37
37
  sky/backends/wheel_utils.py,sha256=3QS4T_Ydvo4DbYhogtyADyNBEf04I6jUCL71M285shQ,7963
38
38
  sky/backends/monkey_patches/monkey_patch_ray_up.py,sha256=76-y2fCaE3JINj8lEwHT1eirYzCbpD8O1ySsysuGu8o,3450
39
39
  sky/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  sky/benchmark/benchmark_state.py,sha256=X8CXmuU9KgsDRhKedhFgjeRMUFWtQsjFs1qECvPG2yg,8723
41
- sky/benchmark/benchmark_utils.py,sha256=oJOzJ4fs2sruxYh4Tl1NZ5fi2-3oWfXtoeCIAq2hgjw,26136
41
+ sky/benchmark/benchmark_utils.py,sha256=eb-i6zYoo-Zkod-T9qtCu1FcYLw--Yyos1SyibUPZNE,26194
42
42
  sky/clouds/__init__.py,sha256=WuNIJEnZmBO72tU5awgaaL3rdvFRSkgaYNNeuY68dXo,1356
43
43
  sky/clouds/aws.py,sha256=uwz4aesgA2o6WNDhZlrXafQFbILv4EiUPNP67Cc8WGE,48978
44
44
  sky/clouds/azure.py,sha256=Yp_a1Lzvq4s47eRMeyVheDv9pC0hSPogCiTMYf-a5ZE,28687
@@ -50,18 +50,18 @@ sky/clouds/gcp.py,sha256=CrSsaSXd83tM78foKH9viBfW1cQsjve3aUQbshsqvDg,54033
50
50
  sky/clouds/ibm.py,sha256=M8QdjeSFlwssfoY2aOodxG4q5R3eT9K-4lTPDHYvEYI,21476
51
51
  sky/clouds/kubernetes.py,sha256=aWoXWR-S4puZHzuUHroLKxLdTpkqU7j75dQlXECnsmE,28679
52
52
  sky/clouds/lambda_cloud.py,sha256=2Al3qCSl-I4iTi7pPPNXcbaLyVfCUgTl__vYBunLB6k,12439
53
- sky/clouds/oci.py,sha256=ozVEa-9IkfI-RxyXDs_aLG5G0toLBRdtwUtaU-y7bH4,26382
53
+ sky/clouds/oci.py,sha256=WXtxKwDBgi3He4ayi4qzJ4Y659Bi6xU8hWmYLHwiQYs,27371
54
54
  sky/clouds/paperspace.py,sha256=lmUZPYAblaqiBmGQwCunccMiTF_dVA1o3vqY9Q_Nc28,10921
55
55
  sky/clouds/runpod.py,sha256=lstUC6f4JDhtcH9NfwkbpCJMmfmvMigoanhPXPbTYds,11540
56
56
  sky/clouds/scp.py,sha256=2KLTuNSMdBzK8CLwSesv7efOuiLidIMoyNG4AOt5Sqw,15870
57
57
  sky/clouds/vsphere.py,sha256=7eZFYIDtY5sX_ATr8h7kwwkY9t8Z-EYMJ9HCjoRBoxI,12309
58
58
  sky/clouds/service_catalog/__init__.py,sha256=e0K-c64jQV9d6zly5OnIXMsYaZXs_Ko9osAbDaRlOOw,14743
59
- sky/clouds/service_catalog/aws_catalog.py,sha256=OURG9JeSGQ_zNO-E2KwDgUJeQuJEvMa7arzhf4Kza6M,12549
59
+ sky/clouds/service_catalog/aws_catalog.py,sha256=Ab8VAmSiuV37k6LLNBtjTYoe_UDMJRgXe1Vk3wiUO_U,12605
60
60
  sky/clouds/service_catalog/azure_catalog.py,sha256=VJi3yfhZy9Sc6UfcLAc8xIoTlUlUr090TODkCZyyHFw,7311
61
- sky/clouds/service_catalog/common.py,sha256=LED9Yzh1nsurvjCtqXGcsbUI8N-YFx05kazBgLF-HIQ,27256
61
+ sky/clouds/service_catalog/common.py,sha256=PA3llB0zZh4v0DO_gDDCKGhRIBx16CAp2WJZNxhjNOA,27266
62
62
  sky/clouds/service_catalog/config.py,sha256=ylzqewdEBjDg4awvFek6ldYmFrnvD2bVGLZuLPvEVYA,1793
63
63
  sky/clouds/service_catalog/constants.py,sha256=ai2yOlsVqBnEpbxaEHXt61COsHBLwOfw6GZXntEPj7k,411
64
- sky/clouds/service_catalog/cudo_catalog.py,sha256=WPLIQ9NVvuKAS48KYujV6dQsyeppIcUCVXpapy13bbI,4335
64
+ sky/clouds/service_catalog/cudo_catalog.py,sha256=QXAOpx5fJ_cGCr5LbB7wpHMfKIla7G-q_mMJnv_ArTA,4652
65
65
  sky/clouds/service_catalog/fluidstack_catalog.py,sha256=c8MMTldG-q97MJ0zJymudQiOVQC_rxS7vqrZgLrgbQA,5038
66
66
  sky/clouds/service_catalog/gcp_catalog.py,sha256=MHWq_-jqm68oNpK1i8AlJIGBkSKT-P6xX7DkpvqvpHU,24323
67
67
  sky/clouds/service_catalog/ibm_catalog.py,sha256=0dzjmXABFECzaAuIa0E6pVINhVK6-G6U52Mj-L45gK8,4472
@@ -91,15 +91,15 @@ sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
91
91
  sky/data/data_transfer.py,sha256=MBmjey9_p2L3IKNKTi8um09SlZe32n4wK3CkVnlTVvo,7346
92
92
  sky/data/data_utils.py,sha256=-P5GsDH_m4slrCz4vHdgiFezIys8ufzvhEKePJwfjFc,28597
93
93
  sky/data/mounting_utils.py,sha256=44YkYIIgArEkyvxCtfmXXumybrU8bmn1TfLXWv_eldI,11480
94
- sky/data/storage.py,sha256=SzO2GefxfoYbKuWO4iRt_9At33s--k4q8htN8xy-vrM,162395
95
- sky/data/storage_utils.py,sha256=LNzowf_t_pXjxa42HE8tFxp-v5G0jg6NZlYidOgAibg,9370
94
+ sky/data/storage.py,sha256=x8YYY4zVBdit_5oAR_MXV-TM9qDefV_ZV4z0irv6ZaU,163102
95
+ sky/data/storage_utils.py,sha256=cM3kxlffYE7PnJySDu8huyUsMX_JYsf9uer8r5OYsjo,9556
96
96
  sky/jobs/__init__.py,sha256=yucibSB_ZimtJMvOhMxn6ZqwBIYNfcwmc6pSXtCqmNQ,1483
97
97
  sky/jobs/constants.py,sha256=YLgcCg_RHSYr_rfsI_4UIdXk78KKKOK29Oem88t5j8I,1350
98
98
  sky/jobs/controller.py,sha256=k28bbicxtML6p1YxSetk-1nhBHPCubpvLWJsh7TtU9c,26701
99
- sky/jobs/core.py,sha256=lRcM6ZGtYoAIygff4x-pneV3e7kyFNdA1ts_XrHb-Bg,16784
99
+ sky/jobs/core.py,sha256=RkBFaKDlovmdzqlOAgQ0xAimZFgo4pXq3qaQkAvGsGk,16908
100
100
  sky/jobs/recovery_strategy.py,sha256=G3iFicEajB-l9FefvcqjqPIazb1X8BJ_AgVmD5bDV2w,25556
101
101
  sky/jobs/state.py,sha256=C6R5Yq7ftBqGPa_71tUjflBMKAaJ1FTTdbgjAwmbJsI,23231
102
- sky/jobs/utils.py,sha256=QOQx31Pr9npiRrW10-Br2fm9YAT_25vspPtVqOHe4ao,36130
102
+ sky/jobs/utils.py,sha256=lYfWkEAPVnYcj2nT6VYdM6PCaWKUH6_AD4TAV_sVCkY,36376
103
103
  sky/jobs/dashboard/dashboard.py,sha256=HFShuaxKir97QTeK2x37h6bsY6ncaFaNEg1USZqJPdc,3050
104
104
  sky/jobs/dashboard/static/favicon.ico,sha256=uYlvgxSM7gjBmXpZ8wydvZUPAbJiiix-rc2Xe5mma9s,15086
105
105
  sky/jobs/dashboard/templates/index.html,sha256=DBKMYEkkJ6sgLYod9ro7drgL8Y_neDsCx_WbwhWDsWM,9837
@@ -110,16 +110,16 @@ sky/provision/docker_utils.py,sha256=Z7vDUs9Yjqks_CsWrACcTgABIZuFi3EJVFwkU0WsdD0
110
110
  sky/provision/instance_setup.py,sha256=n1Px_KOYZl7Rf1WLXrfTTHyqxyA8_5QTN9BNLjQRkgc,22427
111
111
  sky/provision/logging.py,sha256=yZWgejrFBhhRjAtvFu5N5bRXIMK5TuwNjp1vKQqz2pw,2103
112
112
  sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
113
- sky/provision/provisioner.py,sha256=atW6P0XgBL_qxChp0klwgj6j2XE7Q9_EevPrFSJcoJc,25240
113
+ sky/provision/provisioner.py,sha256=7BatzBobHGCLJf2u5hCt4VveS9tOPc5zL4wGHR6OcqE,24888
114
114
  sky/provision/aws/__init__.py,sha256=mxq8PeWJqUtalDozTNpbtENErRZ1ktEs8uf2aG9UUgU,731
115
- sky/provision/aws/config.py,sha256=GfI6l5-ewhm2SS2XBnhVIFZCEueBkLgpvkf16xlSlG0,23017
115
+ sky/provision/aws/config.py,sha256=ApEh63RR_KyCp9nPXX35z6jBREoulJPQ5st8K9Jlclo,23385
116
116
  sky/provision/aws/instance.py,sha256=eCslJ2XfJo_pkQMnKFQqhGnUIRvwKiT12oxBY5-klss,40750
117
117
  sky/provision/aws/utils.py,sha256=m49pS-SHGW7Au3bhDeTPsL8N5iRzbwOXzyEWRCc1Vho,3238
118
118
  sky/provision/azure/__init__.py,sha256=87cgk1_Ws7n9rqaDDPv-HpfrkVeSQMdFQnhnXwyx9g4,548
119
119
  sky/provision/azure/azure-config-template.json,sha256=dwTO-DG70UtBifN59NzsJwPZHZ4uCs7_oLooHgXG_N8,4349
120
120
  sky/provision/azure/azure-vm-template.json,sha256=k0A4xclQ-xQbAdcjo516sZqMDsU-n8_jeRuPxtGKBFI,10901
121
- sky/provision/azure/config.py,sha256=Fx_N_F9912q2gUHt0FhAxVDwlTbd9cLxrP5rii0KJOM,6772
122
- sky/provision/azure/instance.py,sha256=-95c__W4d0mgKweUPhT3tPLAdNtdruroHrfIvNTFQtY,32962
121
+ sky/provision/azure/config.py,sha256=qNUNcX1HboosuZASEVgJ_K-g7CNNWExodWXFIsoq5V8,7288
122
+ sky/provision/azure/instance.py,sha256=3xHRkWcElAgaOuOzcBdwfnLni8zD8KwNgYmj3A7gljA,33244
123
123
  sky/provision/cudo/__init__.py,sha256=KAEl26MVPsk7IoP9Gg-MOJJRIV6-X9B0fbyHdyJWdLo,741
124
124
  sky/provision/cudo/config.py,sha256=RYOVkV0MoUqVBJRZiKhBZhjFygeyFs7eUdVMdPg1vds,327
125
125
  sky/provision/cudo/cudo_machine_type.py,sha256=_VNXWPELmlFXbtdcnPvkuLuyE9CZ923BUCdiac-ClDY,696
@@ -138,7 +138,7 @@ sky/provision/gcp/instance_utils.py,sha256=veRBr6Oziv0KaUdC4acuWeaOremNV0gMYCCHa
138
138
  sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
139
139
  sky/provision/kubernetes/__init__.py,sha256=y6yVfii81WYG3ROxv4hiIj-ydinS5-xGxLvXnARVQoI,719
140
140
  sky/provision/kubernetes/config.py,sha256=WEKcFXXhe89bLGAvoMiBvTDxdxkpTIA6ezrj2vmzldc,29072
141
- sky/provision/kubernetes/instance.py,sha256=MdgyGcMUbhsSRdaTRV3IgHmiAj5goCDVhzDZ2PDVs_Y,38323
141
+ sky/provision/kubernetes/instance.py,sha256=Qth9AWc8OBGB7WeGJ4ERlopNA8y2wg1AvS5XPJEuXXQ,38421
142
142
  sky/provision/kubernetes/network.py,sha256=EpNjRQ131CXepqbdkoRKFu4szVrm0oKEpv1l8EgOkjU,12364
143
143
  sky/provision/kubernetes/network_utils.py,sha256=t1FS3K400fetH7cBuRgQJZl5_jEeMshsvsYmnMUcq8k,11399
144
144
  sky/provision/kubernetes/utils.py,sha256=oJgCrbR8IyTw_uMoM9oxYYYNN_tZ1yzppWNTDM-XqaM,84522
@@ -172,7 +172,7 @@ sky/serve/__init__.py,sha256=Qg_XPOtQsUxiN-Q3njHZRfzoMcQ_KKU1QthkiTbESDw,1661
172
172
  sky/serve/autoscalers.py,sha256=khY1oZ22PRaUQNsLCoNKH178X_NiJw0LSLOKr7_LNgY,30275
173
173
  sky/serve/constants.py,sha256=OansIC7a0Pwat-Y5SF43T9phad_EvyjKO3peZgKFEHk,4367
174
174
  sky/serve/controller.py,sha256=gfE_gB7wxE1VxvnYqw_-KcMGc6X2kufl-NLR7sWdzdY,8172
175
- sky/serve/core.py,sha256=cW2SNMPMbGtOcqASHnL__B12BCIErUilGtFw3olQbjk,28947
175
+ sky/serve/core.py,sha256=yebcgmafGwKppXA1vyJdnbWdOg5BSlh87pKL9gkzHPE,29066
176
176
  sky/serve/load_balancer.py,sha256=aUfDsgUT_fYrchCwJCeunMPXmAkwJAY58BEu-IN2FaA,11571
177
177
  sky/serve/load_balancing_policies.py,sha256=ExdwH_pxPYpJ6CkoTQCOPSa4lzwbq1LFFMKzmIu8ryk,2331
178
178
  sky/serve/replica_managers.py,sha256=dO962WZ_6YWRDpyNemY7SzC7fZHlNfoL4kUS3MaKwDo,57405
@@ -189,8 +189,8 @@ sky/skylet/autostop_lib.py,sha256=JPDHmByuhoNYXSUHl-OnyeJUkOFWn7gDM1FrS7Kr3E8,44
189
189
  sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
190
190
  sky/skylet/constants.py,sha256=txAK0602kGtaD42JUYECq5u4rLIZFhOIWz-fLUV1KgA,14652
191
191
  sky/skylet/events.py,sha256=A09E7LmmwzcGrSG0n8K7d3EZ1ZJr1mmmzoGyhnArYJA,12303
192
- sky/skylet/job_lib.py,sha256=1XTXLStPiHk8X2SHe6x4PNQ01Rj6Cwagr5lLWjzpj6E,35198
193
- sky/skylet/log_lib.py,sha256=5akG6avIW5y9rO5pfgOCEtprPgasEo4vAj7I8Bbhxm4,19340
192
+ sky/skylet/job_lib.py,sha256=csXhJ6lvAxjzSy2PzZvr0sPJyEoVkCvPi2Zjq9JZkHY,35884
193
+ sky/skylet/log_lib.py,sha256=7rdmEr5Wy9CIGLkWls5-FVeqTL1O2GPy44uDaEAqMS0,19312
194
194
  sky/skylet/log_lib.pyi,sha256=AHMkW2DGK2erFovb3ToZWxRiYaATlzkxKb5J9pkgF2Y,4295
195
195
  sky/skylet/skylet.py,sha256=U9plr5hmhD9-Nyy0LMCymlE8DWtRXTFXQvfbFsS746Y,1153
196
196
  sky/skylet/subprocess_daemon.py,sha256=IJwGAzOdERrhWJS7VYKAUByNsLyIkKkB0w5nk06okG8,2818
@@ -201,7 +201,7 @@ sky/skylet/providers/ibm/node_provider.py,sha256=olNtCoCxjXTT-C_youwdQ9UF1DPgO8O
201
201
  sky/skylet/providers/ibm/utils.py,sha256=63vhKqLLOhAZdibSp8VWWONeyCER9F6U2VLrSpzlizk,1292
202
202
  sky/skylet/providers/ibm/vpc_provider.py,sha256=GiOGlWYqqeBETfAeKqVj2-9shsMSP7z1WnO8UP5JTNo,34630
203
203
  sky/skylet/providers/lambda_cloud/__init__.py,sha256=DNxB-NL97FU7ptGcXTnIZZRt6ZLtNVtp3nayJNaxjhY,112
204
- sky/skylet/providers/lambda_cloud/node_provider.py,sha256=1zZFYl-09FDLjFr5gTus8LEgcDVUI9PFqi4S1tt7-84,13971
204
+ sky/skylet/providers/lambda_cloud/node_provider.py,sha256=77AoTaXuSW5cr4Z2cEAbAsHx1e4l8c0fc1ABbdLduKE,14042
205
205
  sky/skylet/providers/oci/__init__.py,sha256=LRMTj6OhQoxiFJw4uNxG8cn6PllP8A-lGJL3Cs5DJok,91
206
206
  sky/skylet/providers/oci/node_provider.py,sha256=YPqiRag_cysvYMIMDGbMn6lOumvHad6FLJB5DGPr00Q,20492
207
207
  sky/skylet/providers/oci/query_helper.py,sha256=dUsvPGzWPNF5O2NjQvuC8tkilT4H11gMj6R7Qel2fDc,17202
@@ -244,21 +244,21 @@ sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
244
  sky/utils/accelerator_registry.py,sha256=BO4iYH5bV80Xyp4EPfO0n1D3LL0FvESCy7xm59Je3_o,3798
245
245
  sky/utils/admin_policy_utils.py,sha256=zFCu1OFIrZRfQNY0JFRO1502WFfdqZhwAU_QgM4fO9U,5943
246
246
  sky/utils/cluster_yaml_utils.py,sha256=1wRRYqI1kI-eFs1pMW4r_FFjHJ0zamq6v2RRI-Gtx5E,849
247
- sky/utils/command_runner.py,sha256=n1B2h_25G_xIz7ICClczR_fkVgy0-MTHc9907Uy_Wvc,34582
247
+ sky/utils/command_runner.py,sha256=ZIu4aur4yxtjHu60Na9o90Iu-g48_yeWXo-NNfmzs-w,34634
248
248
  sky/utils/command_runner.pyi,sha256=mJOzCgcYZAfHwnY_6Wf1YwlTEJGb9ihzc2f0rE0Kw98,7751
249
- sky/utils/common_utils.py,sha256=WqvsdsGRsznKOxkXKRztcX__FoiiCEAKzBU97W3BqG4,24643
250
- sky/utils/controller_utils.py,sha256=32pVORm2cd42tg0srxGvmYV0kYTl67IFsw2EdXbdoR8,38042
249
+ sky/utils/common_utils.py,sha256=MwFhIcvCEMBo7kbENUjN3qRNO5SoMV0fzAORc65c5x0,24525
250
+ sky/utils/controller_utils.py,sha256=V05hiLJIjqqXssYzs_Gchk4-tijgpMgLJsRW8ymhS-E,40625
251
251
  sky/utils/dag_utils.py,sha256=gjGZiJj4_GYsraXX67e6ElvbmOByJcyjSfvVgYZiXvs,5588
252
252
  sky/utils/db_utils.py,sha256=AOvMmBEN9cF4I7CoXihPCtus4mU2VDGjBQSVMMgzKlA,2786
253
- sky/utils/env_options.py,sha256=1VXyd3bhiUgGfCpmmTqM9PagRo1ILBH4-pzIxmIeE6E,861
253
+ sky/utils/env_options.py,sha256=3oAaUPxowL6vI2XmxXrH56V7Myj9IJWsL-MXFmRFVdI,1294
254
254
  sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM,1384
255
- sky/utils/log_utils.py,sha256=yVu3etgKhiVYX8UG-JFPWZujxWBT4kwxZ5oAPIdjtGs,12054
256
- sky/utils/resources_utils.py,sha256=snByBxgx3Hnjfch2uysdAA3D-OAwrnuzTDHug36s5H4,6515
257
- sky/utils/rich_utils.py,sha256=5ZVhzlFx-nhqMXwv00eO9xC4rz7ibDlfD2lmGhZrJEY,1581
255
+ sky/utils/log_utils.py,sha256=ptv2sbsiJSgk4NvdccrMsUR-MvOKnbu4BQiRSishgk0,12472
256
+ sky/utils/resources_utils.py,sha256=sJuPextjJKHhvDGAaOPEzeEkteryF2fGNgNgBLqnLic,7419
257
+ sky/utils/rich_utils.py,sha256=hmnI1X5dKvRIQzB7EyNb34FT97qFNve-0QHqM5r0mVk,3066
258
258
  sky/utils/schemas.py,sha256=QT0Fxri2o0SiWkky1DlZhA1dzQRQoB5OdVaej0wJvhc,28787
259
259
  sky/utils/subprocess_utils.py,sha256=3R54Elc2n8DQeO6Y8MCDJ6N6v27HDGpbNMIfCquqXYQ,6552
260
260
  sky/utils/timeline.py,sha256=ao_nm0y52ZQILfL7Y92c3pSEFRyPm_ElORC3DrI5BwQ,3936
261
- sky/utils/ux_utils.py,sha256=318TRunQCyJpJXonfiJ1SVotNA-6K4F2XgMEYjvWvsk,3264
261
+ sky/utils/ux_utils.py,sha256=0Fy20UbM2rQ_aVIx_B2-oiLXGmzC1myn-0pnmb56pcA,5227
262
262
  sky/utils/validator.py,sha256=cAFERCoC7jH0DFKepcU4x9SYmdrYL1iVmW9tXA18hvo,701
263
263
  sky/utils/cli_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
264
  sky/utils/cli_utils/status_utils.py,sha256=zIaiGWtEACdczubiSBMTupueZStPt1VqgRrhQilLEaI,17954
@@ -273,9 +273,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=KPqp23B-zQ2SZK03jdHeF9fLTog
273
273
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
274
274
  sky/utils/kubernetes/rsync_helper.sh,sha256=aRMa_0JRHtXFOPtEg4rFAwR1t57wvvAoGZhn3H3BtGk,1059
275
275
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
276
- skypilot_nightly-1.0.0.dev20241012.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
- skypilot_nightly-1.0.0.dev20241012.dist-info/METADATA,sha256=fce-5TsxPsr-kg39AVm7aIaEGf-tSusSNfYarjlaXuw,18945
278
- skypilot_nightly-1.0.0.dev20241012.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
- skypilot_nightly-1.0.0.dev20241012.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
- skypilot_nightly-1.0.0.dev20241012.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
- skypilot_nightly-1.0.0.dev20241012.dist-info/RECORD,,
276
+ skypilot_nightly-1.0.0.dev20241014.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
+ skypilot_nightly-1.0.0.dev20241014.dist-info/METADATA,sha256=oTglaVnp9O-PgRAk74UFb1rMIKKjm9z896VnhSIV83g,18945
278
+ skypilot_nightly-1.0.0.dev20241014.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
+ skypilot_nightly-1.0.0.dev20241014.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
+ skypilot_nightly-1.0.0.dev20241014.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
+ skypilot_nightly-1.0.0.dev20241014.dist-info/RECORD,,