skypilot-nightly 1.0.0.dev20250112__py3-none-any.whl → 1.0.0.dev20250114__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sky/__init__.py CHANGED
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = 'fd1ac0e6fbde830ac6be9e42f523a0e460fd84e8'
8
+ _SKYPILOT_COMMIT_SHA = '35f0cf4cf8fee06aadcac639740d25c7493b5534'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20250112'
38
+ __version__ = '1.0.0.dev20250114'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
sky/adaptors/common.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Lazy import for modules to avoid import error when not used."""
2
2
  import functools
3
3
  import importlib
4
+ import threading
4
5
  from typing import Any, Callable, Optional, Tuple
5
6
 
6
7
 
@@ -24,17 +25,22 @@ class LazyImport:
24
25
  self._module = None
25
26
  self._import_error_message = import_error_message
26
27
  self._set_loggers = set_loggers
28
+ self._lock = threading.RLock()
27
29
 
28
30
  def load_module(self):
29
- if self._module is None:
30
- try:
31
- self._module = importlib.import_module(self._module_name)
32
- if self._set_loggers is not None:
33
- self._set_loggers()
34
- except ImportError as e:
35
- if self._import_error_message is not None:
36
- raise ImportError(self._import_error_message) from e
37
- raise
31
+ # Avoid extra imports when multiple threads try to import the same
32
+ # module. The overhead is minor since import can only run in serial
33
+ # due to GIL even in multi-threaded environments.
34
+ with self._lock:
35
+ if self._module is None:
36
+ try:
37
+ self._module = importlib.import_module(self._module_name)
38
+ if self._set_loggers is not None:
39
+ self._set_loggers()
40
+ except ImportError as e:
41
+ if self._import_error_message is not None:
42
+ raise ImportError(self._import_error_message) from e
43
+ raise
38
44
  return self._module
39
45
 
40
46
  def __getattr__(self, name: str) -> Any:
@@ -3327,7 +3327,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3327
3327
  # even if some of them raise exceptions. We should replace it with
3328
3328
  # multi-process.
3329
3329
  rich_utils.stop_safe_status()
3330
- subprocess_utils.run_in_parallel(_setup_node, range(num_nodes))
3330
+ subprocess_utils.run_in_parallel(_setup_node, list(range(num_nodes)))
3331
3331
 
3332
3332
  if detach_setup:
3333
3333
  # Only set this when setup needs to be run outside the self._setup()
@@ -10,6 +10,7 @@ from sky.clouds.service_catalog.constants import CATALOG_DIR
10
10
  from sky.clouds.service_catalog.constants import CATALOG_SCHEMA_VERSION
11
11
  from sky.clouds.service_catalog.constants import HOSTED_CATALOG_DIR_URL
12
12
  from sky.utils import resources_utils
13
+ from sky.utils import subprocess_utils
13
14
 
14
15
  if typing.TYPE_CHECKING:
15
16
  from sky.clouds import cloud
@@ -31,8 +32,7 @@ def _map_clouds_catalog(clouds: CloudFilter, method_name: str, *args, **kwargs):
31
32
  if single:
32
33
  clouds = [clouds] # type: ignore
33
34
 
34
- results = []
35
- for cloud in clouds:
35
+ def _execute_catalog_method(cloud: str):
36
36
  try:
37
37
  cloud_module = importlib.import_module(
38
38
  f'sky.clouds.service_catalog.{cloud.lower()}_catalog')
@@ -46,7 +46,11 @@ def _map_clouds_catalog(clouds: CloudFilter, method_name: str, *args, **kwargs):
46
46
  raise AttributeError(
47
47
  f'Module "{cloud}_catalog" does not '
48
48
  f'implement the "{method_name}" method') from None
49
- results.append(method(*args, **kwargs))
49
+ return method(*args, **kwargs)
50
+
51
+ results = subprocess_utils.run_in_parallel(_execute_catalog_method,
52
+ args=list(clouds),
53
+ num_threads=len(clouds))
50
54
  if single:
51
55
  return results[0]
52
56
  return results
@@ -122,15 +122,21 @@ def get_az_mount_cmd(container_name: str,
122
122
  cache_path = _BLOBFUSE_CACHE_DIR.format(
123
123
  storage_account_name=storage_account_name,
124
124
  container_name=container_name)
125
+ # The line below ensures the cache directory is new before mounting to
126
+ # avoid "config error in file_cache [temp directory not empty]" error, which
127
+ # can occur after stopping and starting the same cluster on Azure.
128
+ # This helps ensure a clean state for blobfuse2 operations.
129
+ remote_boot_time_cmd = 'date +%s -d "$(uptime -s)"'
125
130
  if _bucket_sub_path is None:
126
131
  bucket_sub_path_arg = ''
127
132
  else:
128
133
  bucket_sub_path_arg = f'--subdirectory={_bucket_sub_path}/ '
134
+ # TODO(zpoint): clear old cache that has been created in the previous boot.
129
135
  mount_cmd = (f'AZURE_STORAGE_ACCOUNT={storage_account_name} '
130
136
  f'{key_env_var} '
131
137
  f'blobfuse2 {mount_path} --allow-other --no-symlinks '
132
138
  '-o umask=022 -o default_permissions '
133
- f'--tmp-path {cache_path} '
139
+ f'--tmp-path {cache_path}_$({remote_boot_time_cmd}) '
134
140
  f'{bucket_sub_path_arg}'
135
141
  f'--container-name {container_name}')
136
142
  return mount_cmd
sky/optimizer.py CHANGED
@@ -1293,9 +1293,12 @@ def _fill_in_launchable_resources(
1293
1293
  if resources.cloud is not None else enabled_clouds)
1294
1294
  # If clouds provide hints, store them for later printing.
1295
1295
  hints: Dict[clouds.Cloud, str] = {}
1296
- for cloud in clouds_list:
1297
- feasible_resources = cloud.get_feasible_launchable_resources(
1298
- resources, num_nodes=task.num_nodes)
1296
+
1297
+ feasible_list = subprocess_utils.run_in_parallel(
1298
+ lambda cloud, r=resources, n=task.num_nodes:
1299
+ (cloud, cloud.get_feasible_launchable_resources(r, n)),
1300
+ clouds_list)
1301
+ for cloud, feasible_resources in feasible_list:
1299
1302
  if feasible_resources.hint is not None:
1300
1303
  hints[cloud] = feasible_resources.hint
1301
1304
  if feasible_resources.resources_list:
@@ -343,7 +343,7 @@ def _create_instances(compute_client: 'azure_compute.ComputeManagementClient',
343
343
  _create_vm(compute_client, vm_name, node_tags, provider_config,
344
344
  node_config, network_interface.id)
345
345
 
346
- subprocess_utils.run_in_parallel(create_single_instance, range(count))
346
+ subprocess_utils.run_in_parallel(create_single_instance, list(range(count)))
347
347
 
348
348
  # Update disk performance tier
349
349
  performance_tier = node_config.get('disk_performance_tier', None)
@@ -804,7 +804,8 @@ def _create_pods(region: str, cluster_name_on_cloud: str,
804
804
 
805
805
  # Create pods in parallel
806
806
  pods = subprocess_utils.run_in_parallel(_create_pod_thread,
807
- range(to_start_count), _NUM_THREADS)
807
+ list(range(to_start_count)),
808
+ _NUM_THREADS)
808
809
 
809
810
  # Process created pods
810
811
  for pod in pods:
sky/usage/usage_lib.py CHANGED
@@ -3,7 +3,6 @@
3
3
  import contextlib
4
4
  import datetime
5
5
  import enum
6
- import inspect
7
6
  import json
8
7
  import os
9
8
  import time
@@ -12,19 +11,28 @@ import typing
12
11
  from typing import Any, Callable, Dict, List, Optional, Union
13
12
 
14
13
  import click
15
- import requests
16
14
 
17
15
  import sky
18
16
  from sky import sky_logging
17
+ from sky.adaptors import common as adaptors_common
19
18
  from sky.usage import constants
20
19
  from sky.utils import common_utils
21
20
  from sky.utils import env_options
22
21
  from sky.utils import ux_utils
23
22
 
24
23
  if typing.TYPE_CHECKING:
24
+ import inspect
25
+
26
+ import requests
27
+
25
28
  from sky import resources as resources_lib
26
29
  from sky import status_lib
27
30
  from sky import task as task_lib
31
+ else:
32
+ # requests and inspect cost ~100ms to load, which can be postponed to
33
+ # collection phase or skipped if user specifies no collection
34
+ requests = adaptors_common.LazyImport('requests')
35
+ inspect = adaptors_common.LazyImport('inspect')
28
36
 
29
37
  logger = sky_logging.init_logger(__name__)
30
38
 
@@ -3,6 +3,7 @@ import typing
3
3
  from typing import Optional
4
4
 
5
5
  from sky.clouds import service_catalog
6
+ from sky.utils import rich_utils
6
7
  from sky.utils import ux_utils
7
8
 
8
9
  if typing.TYPE_CHECKING:
@@ -88,14 +89,17 @@ def canonicalize_accelerator_name(accelerator: str,
88
89
  if accelerator.lower() in mapping:
89
90
  return mapping[accelerator.lower()]
90
91
 
91
- # _ACCELERATORS may not be comprehensive.
92
- # Users may manually add new accelerators to the catalogs, or download new
93
- # catalogs (that have new accelerators) without upgrading SkyPilot.
94
- # To cover such cases, we should search the accelerator name
95
- # in the service catalog.
96
- searched = service_catalog.list_accelerators(name_filter=accelerator,
97
- case_sensitive=False,
98
- clouds=cloud_str)
92
+ # Listing accelerators can be time-consuming since canonicalizing usually
93
+ # involves catalog reading with cache not warmed up.
94
+ with rich_utils.safe_status('Listing accelerators...'):
95
+ # _ACCELERATORS may not be comprehensive.
96
+ # Users may manually add new accelerators to the catalogs, or download
97
+ # new catalogs (that have new accelerators) without upgrading SkyPilot.
98
+ # To cover such cases, we should search the accelerator name
99
+ # in the service catalog.
100
+ searched = service_catalog.list_accelerators(name_filter=accelerator,
101
+ case_sensitive=False,
102
+ clouds=cloud_str)
99
103
  names = list(searched.keys())
100
104
 
101
105
  # Exact match.
sky/utils/log_utils.py CHANGED
@@ -5,6 +5,8 @@ import types
5
5
  from typing import Callable, Iterator, List, Optional, TextIO, Type
6
6
 
7
7
  import colorama
8
+ # slow due to https://github.com/python-pendulum/pendulum/issues/808
9
+ # FIXME(aylei): bump pendulum if it get fixed
8
10
  import pendulum
9
11
  import prettytable
10
12
 
@@ -5,7 +5,7 @@ import random
5
5
  import resource
6
6
  import subprocess
7
7
  import time
8
- from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union
8
+ from typing import Any, Callable, Dict, List, Optional, Tuple, Union
9
9
 
10
10
  import colorama
11
11
  import psutil
@@ -97,7 +97,7 @@ def get_parallel_threads(cloud_str: Optional[str] = None) -> int:
97
97
 
98
98
 
99
99
  def run_in_parallel(func: Callable,
100
- args: Iterable[Any],
100
+ args: List[Any],
101
101
  num_threads: Optional[int] = None) -> List[Any]:
102
102
  """Run a function in parallel on a list of arguments.
103
103
 
@@ -113,6 +113,11 @@ def run_in_parallel(func: Callable,
113
113
  A list of the return values of the function func, in the same order as the
114
114
  arguments.
115
115
  """
116
+ if len(args) == 0:
117
+ return []
118
+ # Short-circuit for single element
119
+ if len(args) == 1:
120
+ return [func(args[0])]
116
121
  # Reference: https://stackoverflow.com/questions/25790279/python-multiprocessing-early-termination # pylint: disable=line-too-long
117
122
  processes = num_threads if num_threads is not None else get_parallel_threads(
118
123
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250112
3
+ Version: 1.0.0.dev20250114
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=J0Zqv2lKK-p70GUO38hk9qV0c4dKEtoAUwS-Ky1X6l0,5944
1
+ sky/__init__.py,sha256=8Saq3iWLIsCns9jB3ywi08wxlNICyDj6uFxY4ej12OA,5944
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=LXUDABKP1FJCS256xTTDJa40WXwHKF5x49S-4hZbD1M,21501
4
4
  sky/check.py,sha256=s8deMVL-k9y8gd519K7NWZc3DqWsEySwiAr0uH3Vvcc,9459
@@ -9,7 +9,7 @@ sky/dag.py,sha256=f3sJlkH4bE6Uuz3ozNtsMhcBpRx7KmC9Sa4seDKt4hU,3104
9
9
  sky/exceptions.py,sha256=rUi_au7QBNn3_wvwa8Y_MSHN3QDRpVLry8Mfa56LyGk,9197
10
10
  sky/execution.py,sha256=dpbk1kGRkGHT0FCJKGvjqeV3qIGEN2K20NDZbVrcAvI,28483
11
11
  sky/global_user_state.py,sha256=m2LJsXkh8eAvvz0ADnSP6idfYWZTA_Xi3uxwR3DrJxo,30241
12
- sky/optimizer.py,sha256=vzoLxhs535FnRlQB0D_DIidF42mXdPXT3BcALYWzf6M,59732
12
+ sky/optimizer.py,sha256=d5BPAEZVrS3a2oBclSwo8MWkHQKQ3u4tcyawOANN0_0,59836
13
13
  sky/resources.py,sha256=zgUHgqCZGxvAABTe3JYukl4HrzQZi67D7ULFzAMk9YY,70325
14
14
  sky/sky_logging.py,sha256=7Zk9mL1TDxFkGsy3INMBKYlqsbognVGSMzAsHZdZlhw,5891
15
15
  sky/skypilot_config.py,sha256=FN93hSG-heQCHBnemlIK2TwrJngKbpx4vMXNUzPIzV8,9087
@@ -19,7 +19,7 @@ sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  sky/adaptors/aws.py,sha256=jz3E8YyeGscgLZvFE6A1SkxpH6o_inZ-0NiXdRnxSGA,6863
20
20
  sky/adaptors/azure.py,sha256=yjM8nAPW-mlSXfmA8OmJNnSIrZ9lQx2-GxiI-TIVrwE,21910
21
21
  sky/adaptors/cloudflare.py,sha256=5NUvRGZ1gNf6xwL4CfsjekQTAsTsQQCH7l3tQIhkFxQ,7587
22
- sky/adaptors/common.py,sha256=VhgAFPx-GmhXoob8B1YvqGC2BXs2HwtqoA8oFMaqkbc,2551
22
+ sky/adaptors/common.py,sha256=nJmuBYFokCH0vX2oFqdAJYS-84FnUSTmIPKjAi4gqzo,2877
23
23
  sky/adaptors/cudo.py,sha256=WGvIQrlzJkGDe02Ve7pygA56tHwUc4kwS3XHW8kMFAA,239
24
24
  sky/adaptors/do.py,sha256=dJ0BYbkQoUWVu6_9Pxq3fOu6PngjZyyCQzgjnODXLCA,777
25
25
  sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
@@ -32,7 +32,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
32
32
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
33
33
  sky/backends/backend.py,sha256=iBs5gnMaaUoH2OIQ3xhAjWdrJWqj8T61Za9TGsBFpvQ,7515
34
34
  sky/backends/backend_utils.py,sha256=Eeew8YV0VYSYxozqzadNMZrjhEMjlE3yuzTRP7YSl50,137348
35
- sky/backends/cloud_vm_ray_backend.py,sha256=OZGMcazLq9bWEmWHk0Fkdj_SLjxp8GYuu2sL__D-rls,247424
35
+ sky/backends/cloud_vm_ray_backend.py,sha256=ANDYIisCZ-IKWHIdQ2-XoJzxaASaOZxVxdTBI4f2Yo0,247430
36
36
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
37
37
  sky/backends/local_docker_backend.py,sha256=nSYCjms3HOPjPNOrcCqsUKm1WV3AAovRFjEQ7hcEXW4,17021
38
38
  sky/backends/wheel_utils.py,sha256=5BUzBqfYz7p1ME6_0PXGmcsAkLVb8NrFt317p7a4X8s,8278
@@ -57,7 +57,7 @@ sky/clouds/paperspace.py,sha256=F0Sj1RcqRb5fPjrr8qbdeY-JdfAHcRPc902pZOi4erw,1088
57
57
  sky/clouds/runpod.py,sha256=Wtaarp27_LTu5_E2agC7tTr2vhN1D4sblr2vZTT4vBI,11580
58
58
  sky/clouds/scp.py,sha256=JHyMqkAAqr9lJq79IVjj3rU1g-ZCCGLZTJEzIhYsw7c,15845
59
59
  sky/clouds/vsphere.py,sha256=rrNf6_uHy4ukjHwaN35XVh2-Xj9k43-QGQkiEXyHYJk,12273
60
- sky/clouds/service_catalog/__init__.py,sha256=p4V0GGeumT8yt01emqDM7Au45H5jvPfGNqdI6L2W3uM,14750
60
+ sky/clouds/service_catalog/__init__.py,sha256=OJJw9tUyTjSQXbx3RYtn8VWLcXr9c3LjOOibXS7HZT4,14994
61
61
  sky/clouds/service_catalog/aws_catalog.py,sha256=j33lNC5GXWK6CiGWZORCnumGlRODmCAT2_lfWp0YtBc,13106
62
62
  sky/clouds/service_catalog/azure_catalog.py,sha256=5Q51x_WEKvQ2YSgJvZHRH3URlbwIstYuwpjaWW_wJlw,8149
63
63
  sky/clouds/service_catalog/common.py,sha256=RInaXJ1_g5vQktJyEhmnvvCC5iI-QBcbgwyZ4AOhFpg,27668
@@ -93,7 +93,7 @@ sky/clouds/utils/scp_utils.py,sha256=r4lhRLtNgoz5nmkfN2ctAXYugF_-Et8TYH6ZlbbFfo8
93
93
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
94
94
  sky/data/data_transfer.py,sha256=wixC4_3_JaeJFdGKOp-O5ulcsMugDSgrCR0SnPpugGc,8946
95
95
  sky/data/data_utils.py,sha256=HjcgMDuWRR_fNQ9gjuROi9GgPVvTGApiJwxGtdb2_UU,28860
96
- sky/data/mounting_utils.py,sha256=FfOYpu4Rvj8WT4NNLAZPP8nj5k9MQQCXlEgmoid_lus,14455
96
+ sky/data/mounting_utils.py,sha256=tJHBPEDP1Wg_r3oSGBwFhMDLnPCMPSFRz26O0QkDd0Y,14908
97
97
  sky/data/storage.py,sha256=07ccD5YaQ9j6R_zPkvNk7qXnW3awDkCn9V-Sx-KXGvo,201715
98
98
  sky/data/storage_utils.py,sha256=cM3kxlffYE7PnJySDu8huyUsMX_JYsf9uer8r5OYsjo,9556
99
99
  sky/jobs/__init__.py,sha256=ObZcz3lL1ip8JcmR6gbfZ4RMMfXJJdsnuU2zLQUb8jY,1546
@@ -121,7 +121,7 @@ sky/provision/aws/utils.py,sha256=m49pS-SHGW7Au3bhDeTPsL8N5iRzbwOXzyEWRCc1Vho,32
121
121
  sky/provision/azure/__init__.py,sha256=87cgk1_Ws7n9rqaDDPv-HpfrkVeSQMdFQnhnXwyx9g4,548
122
122
  sky/provision/azure/azure-config-template.json,sha256=jrjAgOtpe0e6FSg3vsVqHKQqJe0w-HeWOFT1HuwzS2c,4712
123
123
  sky/provision/azure/config.py,sha256=V5-0Zelt4Xo0vcqnD6PpsnaCS7vc3xosDelILDAKSW4,8885
124
- sky/provision/azure/instance.py,sha256=FHP-9262pEttjnptktozK1c_nCAbS4vno4Cs8XS1IkU,49062
124
+ sky/provision/azure/instance.py,sha256=USV4TgxdqpXYfdLO91GaAdq4CcmuxVMa11A9Ojen3iw,49068
125
125
  sky/provision/cudo/__init__.py,sha256=KAEl26MVPsk7IoP9Gg-MOJJRIV6-X9B0fbyHdyJWdLo,741
126
126
  sky/provision/cudo/config.py,sha256=RYOVkV0MoUqVBJRZiKhBZhjFygeyFs7eUdVMdPg1vds,327
127
127
  sky/provision/cudo/cudo_machine_type.py,sha256=_VNXWPELmlFXbtdcnPvkuLuyE9CZ923BUCdiac-ClDY,696
@@ -145,7 +145,7 @@ sky/provision/gcp/instance_utils.py,sha256=veRBr6Oziv0KaUdC4acuWeaOremNV0gMYCCHa
145
145
  sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
146
146
  sky/provision/kubernetes/__init__.py,sha256=y6yVfii81WYG3ROxv4hiIj-ydinS5-xGxLvXnARVQoI,719
147
147
  sky/provision/kubernetes/config.py,sha256=bXwOGdSAnXCkDreew0KsSUqSv3ZrptNeevqat76LLts,29012
148
- sky/provision/kubernetes/instance.py,sha256=2pju1RDzH5vOXbOTgPzCToGdCjmqIouhA0wRUFytLnc,50257
148
+ sky/provision/kubernetes/instance.py,sha256=OpX2S2O4ubI7J-1yuJmhbYGxQUcYDzZRGihsjA9LlYs,50307
149
149
  sky/provision/kubernetes/network.py,sha256=EpNjRQ131CXepqbdkoRKFu4szVrm0oKEpv1l8EgOkjU,12364
150
150
  sky/provision/kubernetes/network_utils.py,sha256=52BZY_5ynCH6IXlivKObYyAHDgQCJyAJIjmM7J4MpFo,11393
151
151
  sky/provision/kubernetes/utils.py,sha256=BklPlHXKNTNKamdAygnQ_sOIROq1bN3xbIPxwNRqMV0,104774
@@ -253,9 +253,9 @@ sky/templates/sky-serve-controller.yaml.j2,sha256=V1IiYhArv_D_7JzC3sVN4nKlSCCCL1
253
253
  sky/templates/vsphere-ray.yml.j2,sha256=cOQ-qdpxGA2FHajMMhTJI-SmlYzdPterX4Gsiq-nkb0,3587
254
254
  sky/usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
255
  sky/usage/constants.py,sha256=8xpg9vhDU9A3eObtpkNFjwa42oCazqGEv4yw_vJSO7U,590
256
- sky/usage/usage_lib.py,sha256=mxsbwUMEQjesUOIv4Yne-Ze7rVxSQYr3_wBXruifGRA,17898
256
+ sky/usage/usage_lib.py,sha256=rjsekywo8IB_lJwRKBaWfQZ_znUJ-mIu1b9iWkCog88,18211
257
257
  sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
- sky/utils/accelerator_registry.py,sha256=JsgvkzT9cp9b5j-L6ENAWtL0P-423Q7SQlO01XYy4b8,3792
258
+ sky/utils/accelerator_registry.py,sha256=cpPS9_MahQPt0ev4qPT-qyGpe12YD78UNj_gAvt720Q,4052
259
259
  sky/utils/admin_policy_utils.py,sha256=_Vt_jTTYCXmMdryj0vrrumFPewa93qHnzUqBDXjAhRU,5981
260
260
  sky/utils/cluster_yaml_utils.py,sha256=1wRRYqI1kI-eFs1pMW4r_FFjHJ0zamq6v2RRI-Gtx5E,849
261
261
  sky/utils/command_runner.py,sha256=ewDjFxcCOv0OeG2aUOIfVWmTls65up9DvSnAXURvGfM,36696
@@ -267,11 +267,11 @@ sky/utils/dag_utils.py,sha256=R1yhJssvzDg13p6PJIC8OkYFBiR64eIx5xQeRpAG9n4,6099
267
267
  sky/utils/db_utils.py,sha256=AOvMmBEN9cF4I7CoXihPCtus4mU2VDGjBQSVMMgzKlA,2786
268
268
  sky/utils/env_options.py,sha256=E5iwRFBUY2Iq6e0y0c1Mv5OSQ4MRNdk0-p38xUyVerc,1366
269
269
  sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM,1384
270
- sky/utils/log_utils.py,sha256=oZYF45uC7GFjAqO-Je-aiX6zhtq91TP-KKaIbQNF-jY,14024
270
+ sky/utils/log_utils.py,sha256=xEbUZfDiIiZkyWoLHXwIcqVMCBDEENsLCiogEXMDLt0,14139
271
271
  sky/utils/resources_utils.py,sha256=Xqi7gxPYw2y5wl5okUI5zx5LEij0hJF_V3Zi8q7TXYg,7890
272
272
  sky/utils/rich_utils.py,sha256=hmnI1X5dKvRIQzB7EyNb34FT97qFNve-0QHqM5r0mVk,3066
273
273
  sky/utils/schemas.py,sha256=KcU6wSmLQ-2HhfE6m4RHN9D3mqMAc8X1j5vOb-bUki0,30064
274
- sky/utils/subprocess_utils.py,sha256=iLOda3vfkD-sIUPlfkDGZs9HnJWLlLRvHVgca9DZH8s,10410
274
+ sky/utils/subprocess_utils.py,sha256=ClFU9kb6rBp2Ou7P0c4eX_Lda5-pZZxtZT8jE3H74r8,10530
275
275
  sky/utils/timeline.py,sha256=ebHxKJK2HX0utGArrUgSezTPkcwav3VETa_AQS34t-E,3925
276
276
  sky/utils/ux_utils.py,sha256=CqyIFGDuSE8fQasPkna_loZMwtboC9KedR09WEQ7qz0,6502
277
277
  sky/utils/validator.py,sha256=cAFERCoC7jH0DFKepcU4x9SYmdrYL1iVmW9tXA18hvo,701
@@ -288,9 +288,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7Z
288
288
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
289
289
  sky/utils/kubernetes/rsync_helper.sh,sha256=h4YwrPFf9727CACnMJvF3EyK_0OeOYKKt4su_daKekw,1256
290
290
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
291
- skypilot_nightly-1.0.0.dev20250112.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
292
- skypilot_nightly-1.0.0.dev20250112.dist-info/METADATA,sha256=oMrjorElR4V3YEyVLBhm_ckcviJJRDrRdMNl1SQzlE0,20632
293
- skypilot_nightly-1.0.0.dev20250112.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
294
- skypilot_nightly-1.0.0.dev20250112.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
295
- skypilot_nightly-1.0.0.dev20250112.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
296
- skypilot_nightly-1.0.0.dev20250112.dist-info/RECORD,,
291
+ skypilot_nightly-1.0.0.dev20250114.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
292
+ skypilot_nightly-1.0.0.dev20250114.dist-info/METADATA,sha256=NRUZuDh7YqD-D3dPuCRRLGK19a88kgP5BQr-UOkJHcQ,20632
293
+ skypilot_nightly-1.0.0.dev20250114.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
294
+ skypilot_nightly-1.0.0.dev20250114.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
295
+ skypilot_nightly-1.0.0.dev20250114.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
296
+ skypilot_nightly-1.0.0.dev20250114.dist-info/RECORD,,