skypilot-nightly 1.0.0.dev20241007__py3-none-any.whl → 1.0.0.dev20241009__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 = 'd5b6d89c83ea1ee7258f68314da4c6f8add83e04'
8
+ _SKYPILOT_COMMIT_SHA = '3f898abe10c1aa2a05da0e00f0c6a9a947b53bbc'
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.dev20241007'
38
+ __version__ = '1.0.0.dev20241009'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -280,18 +280,22 @@ def path_size_megabytes(path: str) -> int:
280
280
  If successful: the size of 'path' in megabytes, rounded down. Otherwise,
281
281
  -1.
282
282
  """
283
- resolved_path = pathlib.Path(path).expanduser().resolve()
284
283
  git_exclude_filter = ''
285
- if (resolved_path / command_runner.GIT_EXCLUDE).exists():
286
- # Ensure file exists; otherwise, rsync will error out.
287
- #
288
- # We shlex.quote() because the path may contain spaces:
289
- # 'my dir/.git/info/exclude'
290
- # Without quoting rsync fails.
291
- git_exclude_filter = command_runner.RSYNC_EXCLUDE_OPTION.format(
292
- shlex.quote(str(resolved_path / command_runner.GIT_EXCLUDE)))
284
+ resolved_path = pathlib.Path(path).expanduser().resolve()
285
+ if (resolved_path / constants.SKY_IGNORE_FILE).exists():
286
+ rsync_filter = command_runner.RSYNC_FILTER_SKYIGNORE
287
+ else:
288
+ rsync_filter = command_runner.RSYNC_FILTER_GITIGNORE
289
+ if (resolved_path / command_runner.GIT_EXCLUDE).exists():
290
+ # Ensure file exists; otherwise, rsync will error out.
291
+ #
292
+ # We shlex.quote() because the path may contain spaces:
293
+ # 'my dir/.git/info/exclude'
294
+ # Without quoting rsync fails.
295
+ git_exclude_filter = command_runner.RSYNC_EXCLUDE_OPTION.format(
296
+ shlex.quote(str(resolved_path / command_runner.GIT_EXCLUDE)))
293
297
  rsync_command = (f'rsync {command_runner.RSYNC_DISPLAY_OPTION} '
294
- f'{command_runner.RSYNC_FILTER_OPTION} '
298
+ f'{rsync_filter} '
295
299
  f'{git_exclude_filter} --dry-run {path!r}')
296
300
  rsync_output = ''
297
301
  try:
@@ -3056,7 +3056,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3056
3056
  logger.warning(
3057
3057
  f'{fore.YELLOW}The size of workdir {workdir!r} '
3058
3058
  f'is {dir_size} MB. Try to keep workdir small or use '
3059
- '.gitignore to exclude large files, as large sizes will slow '
3059
+ '.skyignore to exclude large files, as large sizes will slow '
3060
3060
  f'down rsync.{style.RESET_ALL}')
3061
3061
 
3062
3062
  log_path = os.path.join(self.log_dir, 'workdir_sync.log')
@@ -4470,7 +4470,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4470
4470
  logger.warning(
4471
4471
  f'{fore.YELLOW}The size of file mount src {src!r} '
4472
4472
  f'is {src_size} MB. Try to keep src small or use '
4473
- '.gitignore to exclude large files, as large sizes '
4473
+ '.skyignore to exclude large files, as large sizes '
4474
4474
  f'will slow down rsync. {style.RESET_ALL}')
4475
4475
  if os.path.islink(full_src):
4476
4476
  logger.warning(
sky/data/storage.py CHANGED
@@ -1298,8 +1298,7 @@ class S3Store(AbstractStore):
1298
1298
 
1299
1299
  def get_dir_sync_command(src_dir_path, dest_dir_name):
1300
1300
  # we exclude .git directory from the sync
1301
- excluded_list = storage_utils.get_excluded_files_from_gitignore(
1302
- src_dir_path)
1301
+ excluded_list = storage_utils.get_excluded_files(src_dir_path)
1303
1302
  excluded_list.append('.git/*')
1304
1303
  excludes = ' '.join([
1305
1304
  f'--exclude {shlex.quote(file_name)}'
@@ -1764,8 +1763,7 @@ class GcsStore(AbstractStore):
1764
1763
  return sync_command
1765
1764
 
1766
1765
  def get_dir_sync_command(src_dir_path, dest_dir_name):
1767
- excluded_list = storage_utils.get_excluded_files_from_gitignore(
1768
- src_dir_path)
1766
+ excluded_list = storage_utils.get_excluded_files(src_dir_path)
1769
1767
  # we exclude .git directory from the sync
1770
1768
  excluded_list.append(r'^\.git/.*$')
1771
1769
  excludes = '|'.join(excluded_list)
@@ -2490,8 +2488,7 @@ class AzureBlobStore(AbstractStore):
2490
2488
 
2491
2489
  def get_dir_sync_command(src_dir_path, dest_dir_name) -> str:
2492
2490
  # we exclude .git directory from the sync
2493
- excluded_list = storage_utils.get_excluded_files_from_gitignore(
2494
- src_dir_path)
2491
+ excluded_list = storage_utils.get_excluded_files(src_dir_path)
2495
2492
  excluded_list.append('.git/')
2496
2493
  excludes_list = ';'.join(
2497
2494
  [file_name.rstrip('*') for file_name in excluded_list])
@@ -2895,8 +2892,7 @@ class R2Store(AbstractStore):
2895
2892
 
2896
2893
  def get_dir_sync_command(src_dir_path, dest_dir_name):
2897
2894
  # we exclude .git directory from the sync
2898
- excluded_list = storage_utils.get_excluded_files_from_gitignore(
2899
- src_dir_path)
2895
+ excluded_list = storage_utils.get_excluded_files(src_dir_path)
2900
2896
  excluded_list.append('.git/*')
2901
2897
  excludes = ' '.join([
2902
2898
  f'--exclude {shlex.quote(file_name)}'
sky/data/storage_utils.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """Utility functions for the storage module."""
2
+ import glob
2
3
  import os
3
4
  import shlex
4
5
  import subprocess
@@ -8,6 +9,8 @@ import colorama
8
9
 
9
10
  from sky import exceptions
10
11
  from sky import sky_logging
12
+ from sky.skylet import constants
13
+ from sky.utils import common_utils
11
14
  from sky.utils import log_utils
12
15
  from sky.utils.cli_utils import status_utils
13
16
 
@@ -63,6 +66,42 @@ def format_storage_table(storages: List[Dict[str, Any]],
63
66
  return 'No existing storage.'
64
67
 
65
68
 
69
+ def get_excluded_files_from_skyignore(src_dir_path: str) -> List[str]:
70
+ """List files and patterns ignored by the .skyignore file
71
+ in the given source directory.
72
+ """
73
+ excluded_list: List[str] = []
74
+ expand_src_dir_path = os.path.expanduser(src_dir_path)
75
+ skyignore_path = os.path.join(expand_src_dir_path,
76
+ constants.SKY_IGNORE_FILE)
77
+
78
+ try:
79
+ with open(skyignore_path, 'r', encoding='utf-8') as f:
80
+ for line in f:
81
+ line = line.strip()
82
+ if line and not line.startswith('#'):
83
+ # Make parsing consistent with rsync.
84
+ # Rsync uses '/' as current directory.
85
+ if line.startswith('/'):
86
+ line = '.' + line
87
+ else:
88
+ line = '**/' + line
89
+ # Find all files matching the pattern.
90
+ matching_files = glob.glob(os.path.join(
91
+ expand_src_dir_path, line),
92
+ recursive=True)
93
+ # Process filenames to comply with cloud rsync format.
94
+ for i in range(len(matching_files)):
95
+ matching_files[i] = os.path.relpath(
96
+ matching_files[i], expand_src_dir_path)
97
+ excluded_list.extend(matching_files)
98
+ except IOError as e:
99
+ logger.warning(f'Error reading {skyignore_path}: '
100
+ f'{common_utils.format_exception(e, use_bracket=True)}')
101
+
102
+ return excluded_list
103
+
104
+
66
105
  def get_excluded_files_from_gitignore(src_dir_path: str) -> List[str]:
67
106
  """ Lists files and patterns ignored by git in the source directory
68
107
 
@@ -78,7 +117,8 @@ def get_excluded_files_from_gitignore(src_dir_path: str) -> List[str]:
78
117
  expand_src_dir_path = os.path.expanduser(src_dir_path)
79
118
 
80
119
  git_exclude_path = os.path.join(expand_src_dir_path, '.git/info/exclude')
81
- gitignore_path = os.path.join(expand_src_dir_path, '.gitignore')
120
+ gitignore_path = os.path.join(expand_src_dir_path,
121
+ constants.GIT_IGNORE_FILE)
82
122
 
83
123
  git_exclude_exists = os.path.isfile(git_exclude_path)
84
124
  gitignore_exists = os.path.isfile(gitignore_path)
@@ -162,3 +202,19 @@ def get_excluded_files_from_gitignore(src_dir_path: str) -> List[str]:
162
202
  to_be_excluded += '*'
163
203
  excluded_list.append(to_be_excluded)
164
204
  return excluded_list
205
+
206
+
207
+ def get_excluded_files(src_dir_path: str) -> List[str]:
208
+ # TODO: this could return a huge list of files,
209
+ # should think of ways to optimize.
210
+ """ List files and directories to be excluded."""
211
+ expand_src_dir_path = os.path.expanduser(src_dir_path)
212
+ skyignore_path = os.path.join(expand_src_dir_path,
213
+ constants.SKY_IGNORE_FILE)
214
+ if os.path.exists(skyignore_path):
215
+ logger.info(f'Exclude files to sync to cluster based on '
216
+ f'{constants.SKY_IGNORE_FILE}.')
217
+ return get_excluded_files_from_skyignore(src_dir_path)
218
+ logger.info(f'Exclude files to sync to cluster based on '
219
+ f'{constants.GIT_IGNORE_FILE}.')
220
+ return get_excluded_files_from_gitignore(src_dir_path)
sky/skylet/constants.py CHANGED
@@ -7,6 +7,8 @@ import sky
7
7
 
8
8
  SKY_LOGS_DIRECTORY = '~/sky_logs'
9
9
  SKY_REMOTE_WORKDIR = '~/sky_workdir'
10
+ SKY_IGNORE_FILE = '.skyignore'
11
+ GIT_IGNORE_FILE = '.gitignore'
10
12
 
11
13
  # Default Ray port is 6379. Default Ray dashboard port is 8265.
12
14
  # Default Ray tempdir is /tmp/ray.
@@ -16,8 +16,6 @@ from sky.utils import timeline
16
16
 
17
17
  logger = sky_logging.init_logger(__name__)
18
18
 
19
- # The git exclude file to support.
20
- GIT_EXCLUDE = '.git/info/exclude'
21
19
  # Rsync options
22
20
  # TODO(zhwu): This will print a per-file progress bar (with -P),
23
21
  # shooting a lot of messages to the output. --info=progress2 is used
@@ -30,7 +28,10 @@ RSYNC_DISPLAY_OPTION = '-Pavz'
30
28
  # Note that "-" is mandatory for rsync and means all patterns in the ignore
31
29
  # files are treated as *exclude* patterns. Non-exclude patterns, e.g., "!
32
30
  # do_not_exclude" doesn't work, even though git allows it.
33
- RSYNC_FILTER_OPTION = '--filter=\'dir-merge,- .gitignore\''
31
+ RSYNC_FILTER_SKYIGNORE = f'--filter=\'dir-merge,- {constants.SKY_IGNORE_FILE}\''
32
+ RSYNC_FILTER_GITIGNORE = f'--filter=\'dir-merge,- {constants.GIT_IGNORE_FILE}\''
33
+ # The git exclude file to support.
34
+ GIT_EXCLUDE = '.git/info/exclude'
34
35
  RSYNC_EXCLUDE_OPTION = '--exclude-from={}'
35
36
 
36
37
  _HASH_MAX_LENGTH = 10
@@ -237,21 +238,23 @@ class CommandRunner:
237
238
  rsync_command += ['rsync', RSYNC_DISPLAY_OPTION]
238
239
 
239
240
  # --filter
240
- rsync_command.append(RSYNC_FILTER_OPTION)
241
-
242
- if up:
243
- # Build --exclude-from argument.
244
- # The source is a local path, so we need to resolve it.
245
- resolved_source = pathlib.Path(source).expanduser().resolve()
246
- if (resolved_source / GIT_EXCLUDE).exists():
247
- # Ensure file exists; otherwise, rsync will error out.
248
- #
249
- # We shlex.quote() because the path may contain spaces:
250
- # 'my dir/.git/info/exclude'
251
- # Without quoting rsync fails.
252
- rsync_command.append(
253
- RSYNC_EXCLUDE_OPTION.format(
254
- shlex.quote(str(resolved_source / GIT_EXCLUDE))))
241
+ # The source is a local path, so we need to resolve it.
242
+ resolved_source = pathlib.Path(source).expanduser().resolve()
243
+ if (resolved_source / constants.SKY_IGNORE_FILE).exists():
244
+ rsync_command.append(RSYNC_FILTER_SKYIGNORE)
245
+ else:
246
+ rsync_command.append(RSYNC_FILTER_GITIGNORE)
247
+ if up:
248
+ # Build --exclude-from argument.
249
+ if (resolved_source / GIT_EXCLUDE).exists():
250
+ # Ensure file exists; otherwise, rsync will error out.
251
+ #
252
+ # We shlex.quote() because the path may contain spaces:
253
+ # 'my dir/.git/info/exclude'
254
+ # Without quoting rsync fails.
255
+ rsync_command.append(
256
+ RSYNC_EXCLUDE_OPTION.format(
257
+ shlex.quote(str(resolved_source / GIT_EXCLUDE))))
255
258
 
256
259
  rsync_command.append(f'-e {shlex.quote(rsh_option)}')
257
260
 
@@ -16,7 +16,8 @@ from sky.utils import subprocess_utils as subprocess_utils
16
16
 
17
17
  GIT_EXCLUDE: str
18
18
  RSYNC_DISPLAY_OPTION: str
19
- RSYNC_FILTER_OPTION: str
19
+ RSYNC_FILTER_GITIGNORE: str
20
+ RSYNC_FILTER_SKYIGNORE: str
20
21
  RSYNC_EXCLUDE_OPTION: str
21
22
  ALIAS_SUDO_TO_EMPTY_FOR_ROOT_CMD: str
22
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241007
3
+ Version: 1.0.0.dev20241009
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=qM97VOOUsAX0qlJn1dd3D1SoSS-VZ6VfhyEVw4EvgAc,5854
1
+ sky/__init__.py,sha256=1e_mgENvJTAmIsZ3wbk1WTYw3RkRhJG69lVTJJGScpU,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
@@ -30,8 +30,8 @@ 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
32
  sky/backends/backend.py,sha256=xtxR6boDv1o-uSCjbJhOMkKMnZvBZh3gExx4khFWPTI,5932
33
- sky/backends/backend_utils.py,sha256=9Cjj2badyQbx-53F4EdsDW4yG-dk77DVnwBld2Ys9E8,126623
34
- sky/backends/cloud_vm_ray_backend.py,sha256=NtmHtteEdkI1P2GRdFbNLPsDpCEx5GshPLVn1wRNYhw,233984
33
+ sky/backends/backend_utils.py,sha256=_gp6nL4evexSoXUWdA4rI7mJ2XQt59bYQ0LRAD5QuKI,126826
34
+ sky/backends/cloud_vm_ray_backend.py,sha256=NUT8bp-mifTLGzZFsA9kXqFPue4ZhbX-5pX55evdeXI,233984
35
35
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
36
36
  sky/backends/local_docker_backend.py,sha256=H4GBo0KFUC_EEf-ziv1OUbfAkOI5BrwkYs9fYOxSoNw,16741
37
37
  sky/backends/wheel_utils.py,sha256=3QS4T_Ydvo4DbYhogtyADyNBEf04I6jUCL71M285shQ,7963
@@ -91,8 +91,8 @@ 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=JYeEWQtCXg9h6CjCaAsINV1MXcvFswuUgf3c0GOZQSs,162523
95
- sky/data/storage_utils.py,sha256=-s0iQhV8JVx1J2gWtoBFrN04MGv2oVYxo_Hw43R2BSY,6867
94
+ sky/data/storage.py,sha256=SzO2GefxfoYbKuWO4iRt_9At33s--k4q8htN8xy-vrM,162395
95
+ sky/data/storage_utils.py,sha256=Rwj_Pt2Pl0e16dhHXyxiT500CYv1k7SWE_WE2jKepl0,9358
96
96
  sky/jobs/__init__.py,sha256=9cqFutVlfjQb7t8hzG-ZlQmMlbmfMirn0KNBxIFnJYQ,1398
97
97
  sky/jobs/constants.py,sha256=YLgcCg_RHSYr_rfsI_4UIdXk78KKKOK29Oem88t5j8I,1350
98
98
  sky/jobs/controller.py,sha256=k28bbicxtML6p1YxSetk-1nhBHPCubpvLWJsh7TtU9c,26701
@@ -187,7 +187,7 @@ sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
187
  sky/skylet/attempt_skylet.py,sha256=GZ6ITjjA0m-da3IxXXfoHR6n4pjp3X3TOXUqVvSrV0k,2136
188
188
  sky/skylet/autostop_lib.py,sha256=JPDHmByuhoNYXSUHl-OnyeJUkOFWn7gDM1FrS7Kr3E8,4478
189
189
  sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
190
- sky/skylet/constants.py,sha256=9LJTdl8f60mQ1njhnzcWVuT_Hf02YCpPfjg7pnITgPs,14590
190
+ sky/skylet/constants.py,sha256=txAK0602kGtaD42JUYECq5u4rLIZFhOIWz-fLUV1KgA,14652
191
191
  sky/skylet/events.py,sha256=A09E7LmmwzcGrSG0n8K7d3EZ1ZJr1mmmzoGyhnArYJA,12303
192
192
  sky/skylet/job_lib.py,sha256=1XTXLStPiHk8X2SHe6x4PNQ01Rj6Cwagr5lLWjzpj6E,35198
193
193
  sky/skylet/log_lib.py,sha256=5akG6avIW5y9rO5pfgOCEtprPgasEo4vAj7I8Bbhxm4,19340
@@ -244,8 +244,8 @@ 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=NpBe7VHlzxGxuWJeDbRWwy2p64qefqz8c6Bar7KaRnc,33860
248
- sky/utils/command_runner.pyi,sha256=G6DHTQ9DhjYmGf_hDoyeWdWuktXqkQyJ7U-wAJTcLiw,7720
247
+ sky/utils/command_runner.py,sha256=9h2t1v6SpMv7ahsLyayE-Tm8TxgWEpCUJ9qiTw_VHtc,34142
248
+ sky/utils/command_runner.pyi,sha256=mJOzCgcYZAfHwnY_6Wf1YwlTEJGb9ihzc2f0rE0Kw98,7751
249
249
  sky/utils/common_utils.py,sha256=O6PlZTCNhbuXOzjuV2DKw43niWE_qPfYZNGhnMtZzQg,24028
250
250
  sky/utils/controller_utils.py,sha256=32pVORm2cd42tg0srxGvmYV0kYTl67IFsw2EdXbdoR8,38042
251
251
  sky/utils/dag_utils.py,sha256=gjGZiJj4_GYsraXX67e6ElvbmOByJcyjSfvVgYZiXvs,5588
@@ -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=Ma-N9a271fTfdgP5-8XIQL7KPf8IPUo-uY004PCdUFo,747
275
275
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
276
- skypilot_nightly-1.0.0.dev20241007.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
- skypilot_nightly-1.0.0.dev20241007.dist-info/METADATA,sha256=DB1gJrJOXxSKRlbVrw-6rzua8zYvBLohJnJgwVEuDzk,18945
278
- skypilot_nightly-1.0.0.dev20241007.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
- skypilot_nightly-1.0.0.dev20241007.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
- skypilot_nightly-1.0.0.dev20241007.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
- skypilot_nightly-1.0.0.dev20241007.dist-info/RECORD,,
276
+ skypilot_nightly-1.0.0.dev20241009.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
+ skypilot_nightly-1.0.0.dev20241009.dist-info/METADATA,sha256=p6iGN_z_1fSQInc_YIVKMqbi1dytUeQ7ri04u0agNek,18945
278
+ skypilot_nightly-1.0.0.dev20241009.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
+ skypilot_nightly-1.0.0.dev20241009.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
+ skypilot_nightly-1.0.0.dev20241009.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
+ skypilot_nightly-1.0.0.dev20241009.dist-info/RECORD,,