skypilot-nightly 1.0.0.dev20250615__py3-none-any.whl → 1.0.0.dev20250617__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 (62) hide show
  1. sky/__init__.py +2 -4
  2. sky/backends/cloud_vm_ray_backend.py +43 -60
  3. sky/cli.py +55 -637
  4. sky/client/cli.py +55 -637
  5. sky/clouds/kubernetes.py +3 -0
  6. sky/clouds/scp.py +7 -26
  7. sky/clouds/utils/scp_utils.py +177 -124
  8. sky/dashboard/out/404.html +1 -1
  9. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-36bc0962129f72df.js +6 -0
  10. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-cf490d1fa38f3740.js +16 -0
  11. sky/dashboard/out/_next/static/{R07f8gwfXT1U0zRznq4Lg → vA3PPpkBwpRTRNBHFYAw_}/_buildManifest.js +1 -1
  12. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  13. sky/dashboard/out/clusters/[cluster].html +1 -1
  14. sky/dashboard/out/clusters.html +1 -1
  15. sky/dashboard/out/config.html +1 -1
  16. sky/dashboard/out/index.html +1 -1
  17. sky/dashboard/out/infra/[context].html +1 -1
  18. sky/dashboard/out/infra.html +1 -1
  19. sky/dashboard/out/jobs/[job].html +1 -1
  20. sky/dashboard/out/jobs.html +1 -1
  21. sky/dashboard/out/users.html +1 -1
  22. sky/dashboard/out/workspace/new.html +1 -1
  23. sky/dashboard/out/workspaces/[name].html +1 -1
  24. sky/dashboard/out/workspaces.html +1 -1
  25. sky/jobs/controller.py +98 -31
  26. sky/jobs/scheduler.py +37 -29
  27. sky/jobs/server/core.py +36 -3
  28. sky/jobs/state.py +69 -9
  29. sky/jobs/utils.py +11 -0
  30. sky/provision/__init__.py +1 -0
  31. sky/provision/scp/__init__.py +15 -0
  32. sky/provision/scp/config.py +93 -0
  33. sky/provision/scp/instance.py +528 -0
  34. sky/resources.py +164 -29
  35. sky/skylet/constants.py +39 -0
  36. sky/skylet/job_lib.py +8 -0
  37. sky/task.py +171 -21
  38. sky/templates/kubernetes-ray.yml.j2 +51 -4
  39. sky/templates/scp-ray.yml.j2 +3 -50
  40. sky/users/permission.py +19 -36
  41. sky/utils/command_runner.py +1 -1
  42. sky/utils/common_utils.py +16 -14
  43. sky/utils/context.py +1 -1
  44. sky/utils/controller_utils.py +12 -3
  45. sky/utils/dag_utils.py +17 -4
  46. sky/utils/kubernetes/deploy_remote_cluster.py +17 -8
  47. sky/utils/schemas.py +43 -5
  48. {skypilot_nightly-1.0.0.dev20250615.dist-info → skypilot_nightly-1.0.0.dev20250617.dist-info}/METADATA +1 -1
  49. {skypilot_nightly-1.0.0.dev20250615.dist-info → skypilot_nightly-1.0.0.dev20250617.dist-info}/RECORD +54 -57
  50. sky/benchmark/__init__.py +0 -0
  51. sky/benchmark/benchmark_state.py +0 -295
  52. sky/benchmark/benchmark_utils.py +0 -641
  53. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-59950b2f83b66e48.js +0 -6
  54. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-b3dbf38b51cb29be.js +0 -16
  55. sky/skylet/providers/scp/__init__.py +0 -2
  56. sky/skylet/providers/scp/config.py +0 -149
  57. sky/skylet/providers/scp/node_provider.py +0 -578
  58. /sky/dashboard/out/_next/static/{R07f8gwfXT1U0zRznq4Lg → vA3PPpkBwpRTRNBHFYAw_}/_ssgManifest.js +0 -0
  59. {skypilot_nightly-1.0.0.dev20250615.dist-info → skypilot_nightly-1.0.0.dev20250617.dist-info}/WHEEL +0 -0
  60. {skypilot_nightly-1.0.0.dev20250615.dist-info → skypilot_nightly-1.0.0.dev20250617.dist-info}/entry_points.txt +0 -0
  61. {skypilot_nightly-1.0.0.dev20250615.dist-info → skypilot_nightly-1.0.0.dev20250617.dist-info}/licenses/LICENSE +0 -0
  62. {skypilot_nightly-1.0.0.dev20250615.dist-info → skypilot_nightly-1.0.0.dev20250617.dist-info}/top_level.txt +0 -0
sky/utils/common_utils.py CHANGED
@@ -343,30 +343,31 @@ def get_pretty_entrypoint_cmd() -> str:
343
343
  # things like 'examples/app.py'.
344
344
  argv[0] = basename
345
345
 
346
- # Redact sensitive environment variable values
347
- argv = _redact_env_values(argv)
346
+ # Redact sensitive values from secrets arguments
347
+ argv = _redact_secrets_values(argv)
348
348
 
349
349
  return ' '.join(argv)
350
350
 
351
351
 
352
- def _redact_env_values(argv: List[str]) -> List[str]:
353
- """Redact sensitive values from --env arguments.
352
+ def _redact_secrets_values(argv: List[str]) -> List[str]:
353
+ """Redact sensitive values from --secret arguments.
354
354
 
355
355
  Args:
356
356
  argv: Command line arguments
357
357
 
358
358
  Returns:
359
- Modified argv with redacted --env values, or original argv if any error
359
+ Modified argv with redacted --secret values, or original argv if any
360
+ error
360
361
 
361
362
  Examples:
362
- ['sky', 'launch', '--env', 'HF_TOKEN=secret'] ->
363
- ['sky', 'launch', '--env', 'HF_TOKEN=<redacted>']
363
+ ['sky', 'launch', '--secret', 'HF_TOKEN=secret'] ->
364
+ ['sky', 'launch', '--secret', 'HF_TOKEN=<redacted>']
364
365
 
365
- ['sky', 'launch', '--env=HF_TOKEN=secret'] ->
366
- ['sky', 'launch', '--env=HF_TOKEN=<redacted>']
366
+ ['sky', 'launch', '--secret=HF_TOKEN=secret'] ->
367
+ ['sky', 'launch', '--secret=HF_TOKEN=<redacted>']
367
368
 
368
- ['sky', 'launch', '--env', 'HF_TOKEN'] ->
369
- ['sky', 'launch', '--env', 'HF_TOKEN'] (no change)
369
+ ['sky', 'launch', '--secret', 'HF_TOKEN'] ->
370
+ ['sky', 'launch', '--secret', 'HF_TOKEN'] (no change)
370
371
  """
371
372
  try:
372
373
  if not argv:
@@ -384,7 +385,7 @@ def _redact_env_values(argv: List[str]) -> List[str]:
384
385
  i += 1
385
386
  continue
386
387
 
387
- if arg == '--env' and i + 1 < len(argv):
388
+ if arg == '--secret' and i + 1 < len(argv):
388
389
  result.append(arg)
389
390
  next_arg = argv[i + 1]
390
391
  # Ensure next_arg is a string and handle redaction safely
@@ -395,9 +396,10 @@ def _redact_env_values(argv: List[str]) -> List[str]:
395
396
  else:
396
397
  result.append(next_arg)
397
398
  i += 2
398
- elif arg.startswith('--env='):
399
+ elif arg.startswith('--secret='):
399
400
  # Redact only if there's a value after the key
400
- redacted = re.sub(r'^(--env=[^=]+)=.*', r'\1=<redacted>', arg)
401
+ redacted = re.sub(r'^(--secret=[^=]+)=.*', r'\1=<redacted>',
402
+ arg)
401
403
  result.append(redacted)
402
404
  i += 1
403
405
  else:
sky/utils/context.py CHANGED
@@ -262,7 +262,7 @@ F = TypeVar('F', bound=Callable[..., Any])
262
262
 
263
263
 
264
264
  def contextual(func: F) -> F:
265
- """Decorator to intiailize a context before executing the function.
265
+ """Decorator to initialize a context before executing the function.
266
266
 
267
267
  If a context is already initialized, this decorator will reset the context,
268
268
  i.e. all contextual variables set previously will be cleared.
@@ -254,6 +254,13 @@ def _get_cloud_dependencies_installation_commands(
254
254
  sky_check.get_cached_enabled_clouds_or_refresh(
255
255
  sky_cloud.CloudCapability.STORAGE))
256
256
  enabled_clouds = enabled_compute_clouds.union(enabled_storage_clouds)
257
+ enabled_k8s_and_ssh = [
258
+ repr(cloud)
259
+ for cloud in enabled_clouds
260
+ if isinstance(cloud, clouds.Kubernetes)
261
+ ]
262
+ k8s_and_ssh_label = ' and '.join(sorted(enabled_k8s_and_ssh))
263
+ k8s_dependencies_installed = False
257
264
 
258
265
  for cloud in enabled_clouds:
259
266
  cloud_python_dependencies: List[str] = copy.deepcopy(
@@ -295,10 +302,11 @@ def _get_cloud_dependencies_installation_commands(
295
302
  '--endpoint api.nebius.cloud '
296
303
  '--service-account-file $HOME/.nebius/credentials.json '
297
304
  '&> /dev/null || echo "Unable to create Nebius profile."')
298
- elif isinstance(cloud, clouds.Kubernetes):
305
+ elif (isinstance(cloud, clouds.Kubernetes) and
306
+ not k8s_dependencies_installed):
299
307
  step_prefix = prefix_str.replace('<step>', str(len(commands) + 1))
300
308
  commands.append(
301
- f'echo -en "\\r{step_prefix}Kubernetes{empty_str}" && '
309
+ f'echo -en "\\r{step_prefix}{k8s_and_ssh_label}{empty_str}" && '
302
310
  # Install k8s + skypilot dependencies
303
311
  'sudo bash -c "if '
304
312
  '! command -v curl &> /dev/null || '
@@ -321,6 +329,7 @@ def _get_cloud_dependencies_installation_commands(
321
329
  'kubectl /usr/local/bin/kubectl)) && '
322
330
  f'echo -e \'#!/bin/bash\\nexport PATH="{kubernetes_constants.SKY_K8S_EXEC_AUTH_PATH}"\\nexec "$@"\' | sudo tee /usr/local/bin/{kubernetes_constants.SKY_K8S_EXEC_AUTH_WRAPPER} > /dev/null && ' # pylint: disable=line-too-long
323
331
  f'sudo chmod +x /usr/local/bin/{kubernetes_constants.SKY_K8S_EXEC_AUTH_WRAPPER}') # pylint: disable=line-too-long
332
+ k8s_dependencies_installed = True
324
333
  elif isinstance(cloud, clouds.Cudo):
325
334
  step_prefix = prefix_str.replace('<step>', str(len(commands) + 1))
326
335
  commands.append(
@@ -422,7 +431,7 @@ def download_and_stream_latest_job_log(
422
431
  return None
423
432
 
424
433
  log_dir = list(log_dirs.values())[0]
425
- log_file = os.path.join(log_dir, 'run.log')
434
+ log_file = os.path.expanduser(os.path.join(log_dir, 'run.log'))
426
435
 
427
436
  # Print the logs to the console.
428
437
  # TODO(zhwu): refactor this into log_utils, along with the refactoring for
sky/utils/dag_utils.py CHANGED
@@ -66,7 +66,9 @@ def convert_entrypoint_to_dag(entrypoint: Any) -> 'dag_lib.Dag':
66
66
 
67
67
  def _load_chain_dag(
68
68
  configs: List[Dict[str, Any]],
69
- env_overrides: Optional[List[Tuple[str, str]]] = None) -> dag_lib.Dag:
69
+ env_overrides: Optional[List[Tuple[str, str]]] = None,
70
+ secrets_overrides: Optional[List[Tuple[str,
71
+ str]]] = None) -> dag_lib.Dag:
70
72
  """Loads a chain DAG from a list of YAML configs."""
71
73
  dag_name = None
72
74
  if set(configs[0].keys()) == {'name'}:
@@ -84,7 +86,8 @@ def _load_chain_dag(
84
86
  for task_config in configs:
85
87
  if task_config is None:
86
88
  continue
87
- task = task_lib.Task.from_yaml_config(task_config, env_overrides)
89
+ task = task_lib.Task.from_yaml_config(task_config, env_overrides,
90
+ secrets_overrides)
88
91
  if current_task is not None:
89
92
  current_task >> task # pylint: disable=pointless-statement
90
93
  current_task = task
@@ -95,6 +98,7 @@ def _load_chain_dag(
95
98
  def load_chain_dag_from_yaml(
96
99
  path: str,
97
100
  env_overrides: Optional[List[Tuple[str, str]]] = None,
101
+ secret_overrides: Optional[List[Tuple[str, str]]] = None,
98
102
  ) -> dag_lib.Dag:
99
103
  """Loads a chain DAG from a YAML file.
100
104
 
@@ -105,17 +109,22 @@ def load_chain_dag_from_yaml(
105
109
  the task's 'envs' section. If it is a chain dag, the envs will be updated
106
110
  for all tasks in the chain.
107
111
 
112
+ 'secrets_overrides' is a list of (key, value) pairs that will be used to
113
+ update the task's 'secrets' section. If it is a chain dag, the secrets will
114
+ be updated for all tasks in the chain.
115
+
108
116
  Returns:
109
117
  A chain Dag with 1 or more tasks (an empty entrypoint would create a
110
118
  trivial task).
111
119
  """
112
120
  configs = common_utils.read_yaml_all(path)
113
- return _load_chain_dag(configs, env_overrides)
121
+ return _load_chain_dag(configs, env_overrides, secret_overrides)
114
122
 
115
123
 
116
124
  def load_chain_dag_from_yaml_str(
117
125
  yaml_str: str,
118
126
  env_overrides: Optional[List[Tuple[str, str]]] = None,
127
+ secrets_overrides: Optional[List[Tuple[str, str]]] = None,
119
128
  ) -> dag_lib.Dag:
120
129
  """Loads a chain DAG from a YAML string.
121
130
 
@@ -126,12 +135,16 @@ def load_chain_dag_from_yaml_str(
126
135
  the task's 'envs' section. If it is a chain dag, the envs will be updated
127
136
  for all tasks in the chain.
128
137
 
138
+ 'secrets_overrides' is a list of (key, value) pairs that will be used to
139
+ update the task's 'secrets' section. If it is a chain dag, the secrets will
140
+ be updated for all tasks in the chain.
141
+
129
142
  Returns:
130
143
  A chain Dag with 1 or more tasks (an empty entrypoint would create a
131
144
  trivial task).
132
145
  """
133
146
  configs = common_utils.read_yaml_all_str(yaml_str)
134
- return _load_chain_dag(configs, env_overrides)
147
+ return _load_chain_dag(configs, env_overrides, secrets_overrides)
135
148
 
136
149
 
137
150
  def dump_chain_dag_to_yaml_str(dag: dag_lib.Dag) -> str:
@@ -207,9 +207,16 @@ def prepare_hosts_info(cluster_name: str,
207
207
 
208
208
  # Get cluster-level defaults
209
209
  cluster_user = cluster_config.get('user', '')
210
- cluster_identity_file = cluster_config.get('identity_file', '')
210
+ cluster_identity_file = os.path.expanduser(
211
+ cluster_config.get('identity_file', ''))
211
212
  cluster_password = cluster_config.get('password', '')
212
213
 
214
+ # Check if cluster identity file exists
215
+ if cluster_identity_file and not os.path.isfile(cluster_identity_file):
216
+ with ux_utils.print_exception_no_traceback():
217
+ raise ValueError(
218
+ f'SSH Identity File Missing: {cluster_identity_file}')
219
+
213
220
  hosts_info = []
214
221
  for host in cluster_config['hosts']:
215
222
  # Host can be a string (IP or SSH config hostname) or a dict
@@ -239,10 +246,16 @@ def prepare_hosts_info(cluster_name: str,
239
246
  # Use host-specific values or fall back to cluster defaults
240
247
  host_user = '' if is_ssh_config_host else host.get(
241
248
  'user', cluster_user)
242
- host_identity_file = '' if is_ssh_config_host else host.get(
243
- 'identity_file', cluster_identity_file)
249
+ host_identity_file = os.path.expanduser(
250
+ '' if is_ssh_config_host else host.
251
+ get('identity_file', cluster_identity_file))
244
252
  host_password = host.get('password', cluster_password)
245
253
 
254
+ if host_identity_file and not os.path.isfile(host_identity_file):
255
+ with ux_utils.print_exception_no_traceback():
256
+ raise ValueError(
257
+ f'SSH Identity File Missing: {host_identity_file}')
258
+
246
259
  hosts_info.append({
247
260
  'ip': host['ip'],
248
261
  'user': host_user,
@@ -836,10 +849,6 @@ def deploy_cluster(head_node,
836
849
 
837
850
  Returns: List of unsuccessful worker nodes.
838
851
  """
839
- # Ensure SSH key is expanded for paths with ~ (home directory)
840
- if ssh_key:
841
- ssh_key = os.path.expanduser(ssh_key)
842
-
843
852
  history_yaml_file = os.path.join(NODE_POOLS_INFO_DIR,
844
853
  f'{context_name}-history.yaml')
845
854
  cert_file_path = os.path.join(NODE_POOLS_INFO_DIR,
@@ -1091,7 +1100,7 @@ def deploy_cluster(head_node,
1091
1100
  f'Skipping...{NC}')
1092
1101
  return node, True, False
1093
1102
  worker_user = worker_hosts[i]['user']
1094
- worker_key = os.path.expanduser(worker_hosts[i]['identity_file'])
1103
+ worker_key = worker_hosts[i]['identity_file']
1095
1104
  worker_password = worker_hosts[i]['password']
1096
1105
  worker_askpass = create_askpass_script(worker_password)
1097
1106
  worker_config = worker_use_ssh_config[i]
sky/utils/schemas.py CHANGED
@@ -43,14 +43,20 @@ _AUTOSTOP_SCHEMA = {
43
43
  {
44
44
  # Shorthand to set idle_minutes by directly specifying, e.g.
45
45
  # autostop: 5
46
- 'type': 'integer',
47
- 'minimum': 0,
46
+ 'anyOf': [{
47
+ 'type': 'string',
48
+ 'pattern': constants.TIME_PATTERN,
49
+ 'minimum': 0,
50
+ }, {
51
+ 'type': 'integer',
52
+ }]
48
53
  },
49
54
  {
50
55
  'type': 'object',
51
56
  'required': [],
52
57
  'additionalProperties': False,
53
58
  'properties': {
59
+ # TODO(luca): update field to use time units as well.
54
60
  'idle_minutes': {
55
61
  'type': 'integer',
56
62
  'minimum': 0,
@@ -190,7 +196,12 @@ def _get_single_resources_schema():
190
196
  'type': 'object',
191
197
  'properties': {
192
198
  'disk_size': {
193
- 'type': 'integer',
199
+ 'anyOf': [{
200
+ 'type': 'string',
201
+ 'pattern': constants.MEMORY_SIZE_PATTERN,
202
+ }, {
203
+ 'type': 'integer',
204
+ }],
194
205
  },
195
206
  'disk_tier': {
196
207
  'type': 'string',
@@ -214,7 +225,12 @@ def _get_single_resources_schema():
214
225
  },
215
226
  },
216
227
  'disk_size': {
217
- 'type': 'integer',
228
+ 'anyOf': [{
229
+ 'type': 'string',
230
+ 'pattern': constants.MEMORY_SIZE_PATTERN,
231
+ }, {
232
+ 'type': 'integer',
233
+ }],
218
234
  },
219
235
  'disk_tier': {
220
236
  'type': 'string',
@@ -273,6 +289,11 @@ def _get_single_resources_schema():
273
289
  }]
274
290
  },
275
291
  'autostop': _AUTOSTOP_SCHEMA,
292
+ 'priority': {
293
+ 'type': 'integer',
294
+ 'minimum': 0,
295
+ 'maximum': 1000,
296
+ },
276
297
  # The following fields are for internal use only. Should not be
277
298
  # specified in the task config.
278
299
  '_docker_login_config': {
@@ -365,6 +386,7 @@ def get_resources_schema():
365
386
  def get_storage_schema():
366
387
  # pylint: disable=import-outside-toplevel
367
388
  from sky.data import storage
389
+
368
390
  return {
369
391
  '$schema': 'https://json-schema.org/draft/2020-12/schema',
370
392
  'type': 'object',
@@ -404,7 +426,12 @@ def get_storage_schema():
404
426
  'type': 'object',
405
427
  'properties': {
406
428
  'disk_size': {
407
- 'type': 'integer',
429
+ 'anyOf': [{
430
+ 'type': 'string',
431
+ 'pattern': constants.MEMORY_SIZE_PATTERN,
432
+ }, {
433
+ 'type': 'integer',
434
+ }],
408
435
  },
409
436
  'disk_tier': {
410
437
  'type': 'string',
@@ -674,6 +701,17 @@ def get_task_schema():
674
701
  },
675
702
  'additionalProperties': False,
676
703
  },
704
+ 'secrets': {
705
+ 'type': 'object',
706
+ 'required': [],
707
+ 'patternProperties': {
708
+ # Checks secret keys are valid env var names.
709
+ '^[a-zA-Z_][a-zA-Z0-9_]*$': {
710
+ 'type': ['string', 'null']
711
+ }
712
+ },
713
+ 'additionalProperties': False,
714
+ },
677
715
  # inputs and outputs are experimental
678
716
  'inputs': {
679
717
  'type': 'object',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250615
3
+ Version: 1.0.0.dev20250617
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,8 +1,8 @@
1
- sky/__init__.py,sha256=OD3yo5SjMhBcBb_7a__bX2A0GPpAkPwUvKlFT8GgwX4,6462
1
+ sky/__init__.py,sha256=FCJd-K_iY_GxwvKw50qaSVpJtcc9omZeGnZVGOtLcfw,6419
2
2
  sky/admin_policy.py,sha256=ICP2Q3O93uVgUWc3sSvQDnRXgvFCA6APRX33hU3P3OI,8502
3
3
  sky/authentication.py,sha256=jIX30mcTDVHKdJJa5Tje4qSgX8pL1xE1IJWRK_aHnHw,25465
4
4
  sky/check.py,sha256=qN0SGRxSGMOKaxubRlCQayZUMIjviTInEKhNMYZQ4cw,30246
5
- sky/cli.py,sha256=743L1QQbFzKC9UOwD5vzryGzRw22s0D_57jU_G-0yU4,245272
5
+ sky/cli.py,sha256=IRCWUU8k4dUgCL9rALMQVXlE60kiKff2UWIo777h2d8,222913
6
6
  sky/cloud_stores.py,sha256=Ln5GBpel-sEs7rVx7bBrMkfLwA_bctI05Rox2uoz7Lo,26388
7
7
  sky/core.py,sha256=1A2vRsNScNduqZITNJXzwgQ2d49YGa1O6WG5x_Wkg1Q,52185
8
8
  sky/dag.py,sha256=8x-VMtjvSi0lYBemCMPLYq5ONljhoABjWzMKjmmdjSo,3369
@@ -11,10 +11,10 @@ sky/execution.py,sha256=LIRTPuRJFyvNkx1ZlIyUhbcy7k4YUnU-MEx6lnH1pg0,32990
11
11
  sky/global_user_state.py,sha256=yvPFa5v01ZfNf14pdzHbwQ3qF7w8wqS43gzLYrTLFN4,53284
12
12
  sky/models.py,sha256=VGMzCHRwjJRQBm6Y054vL6Yvfkrcm79b5dPpdXS3Syk,2183
13
13
  sky/optimizer.py,sha256=2JZl6exFMuOAzpWefvfY9CZPWnvjDLLvR92A2qpvtRs,61418
14
- sky/resources.py,sha256=Qgg_kHfCtEA20nZNZd-3Pn8146vbvSTTq1NlAd5_J7c,97176
14
+ sky/resources.py,sha256=2K05vgUAU0UDMGdcLLbs-bn7pw8MD4tLKLGDtGOCNiE,101959
15
15
  sky/sky_logging.py,sha256=cMurxhFExKEFX1frcMR71Ti_s9Obg9WY30veVxsZB6o,7285
16
16
  sky/skypilot_config.py,sha256=YB2CpsOy7jFXd0cr9NKARWuq0-k85inEszV8OvPjnJA,34032
17
- sky/task.py,sha256=kpXFxGl-B4oCcwkpj6Q4Kw-UzI52ukFH9EWf2CRwo2A,59239
17
+ sky/task.py,sha256=Up3lqvaf1w6rRnlW4Rc4dy6WQUxIC3fnsE79qyv3bRM,65570
18
18
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
20
20
  sky/adaptors/azure.py,sha256=7l5jobSTsTUcTo3ptrgOpRgngHY92U64eQBPxvDe1HA,21986
@@ -35,14 +35,11 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
35
35
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
36
36
  sky/backends/backend.py,sha256=o47WUnB_h2nd_SkV0q0NTJ4vCwk23-KH5DgAm_JpKgE,7739
37
37
  sky/backends/backend_utils.py,sha256=XrTmbaac4bIWMKPdOpod1nH8o_WVXkpBDodC90s7LRQ,140763
38
- sky/backends/cloud_vm_ray_backend.py,sha256=kcN7ZDynB_Z6k07N6hencTL42BnaJQjVP0jpyD-znMo,257332
38
+ sky/backends/cloud_vm_ray_backend.py,sha256=uRtvyUCjlOkf7xsdHcJgpXhGe5q8eHH54myjXraahgw,256841
39
39
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
40
40
  sky/backends/local_docker_backend.py,sha256=r80BGJZmAH8F49v6Y_pG3_pHmW5LQEQRusLkKoYoe9Q,17047
41
41
  sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
42
42
  sky/backends/monkey_patches/monkey_patch_ray_up.py,sha256=76-y2fCaE3JINj8lEwHT1eirYzCbpD8O1ySsysuGu8o,3450
43
- sky/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- sky/benchmark/benchmark_state.py,sha256=kt7pqRS42sfZONjcSvx7xVgFqpmxH6i2DJiXyRvMG4g,9678
45
- sky/benchmark/benchmark_utils.py,sha256=7rf-iHt6RXZ_pnBBWOMwcdodHQW69x27xNyx0yVog1U,26385
46
43
  sky/catalog/__init__.py,sha256=BkIr4FdTpuIuynl5ijTraecm38viZjRgY3jIexlDbgk,14602
47
44
  sky/catalog/aws_catalog.py,sha256=VnFLKmr4nBuc5NXske7thEByJz_wOg9w5vuN6FtLMuo,13473
48
45
  sky/catalog/azure_catalog.py,sha256=r_ZBacLF7U8EPGlrMF-zVSwAGjjmh9K1e1MZ3-UPfXo,8126
@@ -77,7 +74,7 @@ sky/catalog/data_fetchers/fetch_lambda_cloud.py,sha256=MUzogyLruLQmIt-To6TsfnGPg
77
74
  sky/catalog/data_fetchers/fetch_vast.py,sha256=xoVDSsQVgMLzyibCFN7yDgyH1Y96gk5G53to1ZAGRyg,5017
78
75
  sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg35RUIwp7UX8KI,21438
79
76
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
80
- sky/client/cli.py,sha256=743L1QQbFzKC9UOwD5vzryGzRw22s0D_57jU_G-0yU4,245272
77
+ sky/client/cli.py,sha256=IRCWUU8k4dUgCL9rALMQVXlE60kiKff2UWIo777h2d8,222913
81
78
  sky/client/common.py,sha256=E_5cjxd8fWRB7fU1yfIbiyQf-IyVhpD5KkB7Fl3cQEI,15215
82
79
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
83
80
  sky/client/sdk.py,sha256=ctXeEOYA76Ue8OxsPHS_0gajF1OVXoGbed0iCQ0-vtQ,83737
@@ -91,13 +88,13 @@ sky/clouds/fluidstack.py,sha256=ya9eUT9jCaTsRozIjyq1M_c0EQDJWeNQJrscBAzKZv0,1293
91
88
  sky/clouds/gcp.py,sha256=IduBMFgl8JWS1aoFevAmuT50v-1F025Kxq_GP0HBjIo,67667
92
89
  sky/clouds/hyperbolic.py,sha256=SnFM8XvORJOEHlkB4dFNsqsLcrI_gbBXszMudUqvKF8,11393
93
90
  sky/clouds/ibm.py,sha256=FPU8j20LSBxr7gilD4F2liMG40eQyxp2ZDqNh-pmKYU,22262
94
- sky/clouds/kubernetes.py,sha256=TesNQ79Rcnt4BsG7nNq1owJeQzRC2ecjnA8ppCgCSJ4,43981
91
+ sky/clouds/kubernetes.py,sha256=bhGxWx7r1kqeZCC0zxFWFWc3IDny4v_cgduF_8uMfdM,44164
95
92
  sky/clouds/lambda_cloud.py,sha256=ZBpIA3wO8aNV-Ox1TpxE91J4K6Tcfp8pFXLh192lE3c,12993
96
93
  sky/clouds/nebius.py,sha256=sgQnDY6Tjaur5VgjqWi00LB5sixo4xqxIUD15DZeiEM,20521
97
94
  sky/clouds/oci.py,sha256=lMUO5SjgFZK1rs2KOoBG-hePRLiHEcbNWP44weugav8,27875
98
95
  sky/clouds/paperspace.py,sha256=ir-nBlluANVH95LgbYCDJUzatLgfqgtWwZz81nk8E4w,11315
99
96
  sky/clouds/runpod.py,sha256=aE5i3N7Q2N1Y2Miamc22EfA3iIVQzvKwvTYb33E5wwU,12708
100
- sky/clouds/scp.py,sha256=uMgG7mcfKScbd2Hq1GH46E1qxv0lY1o0gzQdQfaIYI0,16355
97
+ sky/clouds/scp.py,sha256=-mg4IRabyo8piliwlXjDfOmEdvF511jqzB0rVn3MVZc,15556
101
98
  sky/clouds/ssh.py,sha256=8zapahEhAPkeAxU1UB0L0LYR7Yyp8OT1HCYclXYzx_4,8460
102
99
  sky/clouds/vast.py,sha256=0qfa_keCxr_pXSQT15zYabWGb7Jg8cVRM3jnF5bRdPM,11652
103
100
  sky/clouds/vsphere.py,sha256=2X5d0pOdwU_GBz1DH6zI1-HqIdUii5NEcFgqv3n3jio,12640
@@ -106,19 +103,17 @@ sky/clouds/utils/aws_utils.py,sha256=W5BRC-2F_VY4BymRA1kS6-MufsI3V8cfY_hv--4gJBU
106
103
  sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4t8,3555
107
104
  sky/clouds/utils/gcp_utils.py,sha256=rh4a91euYFflq6V7bLpY9XnAwnwyNczRueOShpD-E8U,7204
108
105
  sky/clouds/utils/oci_utils.py,sha256=0YxhgZdeIHQUI1AZ86YuswsZg5HdVCIVfSTRJsSHYI0,6396
109
- sky/clouds/utils/scp_utils.py,sha256=MqawUhhFHHxVnn29nOI4gJ_nF665ich4Po7bsy1afsA,15948
110
- sky/dashboard/out/404.html,sha256=r30ZcjSbKXHSKcRm2Y_IzSSGffEYWWX9dHrwYjZViQI,1423
111
- sky/dashboard/out/clusters.html,sha256=yllrcM_b_BQJJ9XLrun2qXLxzv3k0FQo72KOXJkU1EM,1418
112
- sky/dashboard/out/config.html,sha256=aYb9GvOFZ7BqbDSIflyM4HLcOwj7Ul68PDzQeLXrJPs,1414
106
+ sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
107
+ sky/dashboard/out/404.html,sha256=_-ZfPlq9ecyL30yhXlX7CtoENUBINiVSjbER9LrQwMM,1423
108
+ sky/dashboard/out/clusters.html,sha256=vAj9OOksS0eLGKK4LoMe6lIc1mn-TAsoISfmAPhxjxY,1418
109
+ sky/dashboard/out/config.html,sha256=mgNjcnfqF_WH5qwDBoxqnL1YC7gkXYEax0J9fo7o1GQ,1414
113
110
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
114
- sky/dashboard/out/index.html,sha256=np6vuZJ8F38BseyVyEvy8KXHDVtaFFlwRTPctKipCZg,1407
115
- sky/dashboard/out/infra.html,sha256=dUNhqL68NO31B4DA5cMi1uPxXKu9VwG5S45MmS6sQLo,1412
116
- sky/dashboard/out/jobs.html,sha256=DjmdsOqZ91oXoHVgtU0pfrY4m6ahOlyKi-aRvrgny3c,1410
111
+ sky/dashboard/out/index.html,sha256=2twoHEAVGaKgeYvmu3V32I0e-5iDnRRHEXniRK2zL2Q,1407
112
+ sky/dashboard/out/infra.html,sha256=aNXh-a7pY5ApTAIxaq6gWuK_OswytjFDS8fG_G3CmIo,1412
113
+ sky/dashboard/out/jobs.html,sha256=FaS2sdiMFB7kO7DV724O8wV6IK4qraorXvQKM2NrV-U,1410
117
114
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
118
- sky/dashboard/out/users.html,sha256=oGvoVABkNw2FOLEK0q0EJvScCpAVUMyWDZZ5V4cq9mA,1412
119
- sky/dashboard/out/workspaces.html,sha256=DSUHT6ViTE6CjXZBsfN5JbfwoCN4WypMJLNm8ezCm4Y,1422
120
- sky/dashboard/out/_next/static/R07f8gwfXT1U0zRznq4Lg/_buildManifest.js,sha256=DnZS2SIeAyhX1iuELp1tHXvASakXlB59rfwi8LLYHts,2046
121
- sky/dashboard/out/_next/static/R07f8gwfXT1U0zRznq4Lg/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
115
+ sky/dashboard/out/users.html,sha256=hWqdBxUAWA4oMZaQaAB2HYvgMXH8Ou5MthwjeAWUBEo,1412
116
+ sky/dashboard/out/workspaces.html,sha256=pMB8Hhnfe4M23fn8m8xtyxvfpE--FB3DqrjphegsQMo,1422
122
117
  sky/dashboard/out/_next/static/chunks/211.692afc57e812ae1a.js,sha256=TbpmhT-AzGXhDbjA6mJG_D5dLgq_st-hMr0nbCpRsEY,3778
123
118
  sky/dashboard/out/_next/static/chunks/350.9e123a4551f68b0d.js,sha256=Sj1tcifLEZKm43SFf3zYfT0VC-kcGSb18EV3kV_KTTs,266
124
119
  sky/dashboard/out/_next/static/chunks/37-824c707421f6f003.js,sha256=Ay5k-ZywFL9h9u60GL2Czr83d6ubOF1nKActNsb89SY,16898
@@ -158,20 +153,22 @@ sky/dashboard/out/_next/static/chunks/pages/infra-780860bcc1103945.js,sha256=-xW
158
153
  sky/dashboard/out/_next/static/chunks/pages/jobs-336ab80e270ce2ce.js,sha256=g1JeIhS8auu_JKn7S1SK_NUeLwFtMfCAwf3uM-sPnEk,826
159
154
  sky/dashboard/out/_next/static/chunks/pages/users-c69ffcab9d6e5269.js,sha256=owmX5ljpgA3ZLtCI8rQxwptEVg_g2aCd1XumeDnHjSU,789
160
155
  sky/dashboard/out/_next/static/chunks/pages/workspaces-82e6601baa5dd280.js,sha256=rzWEDAkPbSJ03tBe-Pye0Og5xG04ZO8jIywAOXgt5OY,840
161
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-59950b2f83b66e48.js,sha256=cFIlNkMPSGMCJs1z5a1022jiBe91vAhzqP2YwdV5ipc,8610
156
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-36bc0962129f72df.js,sha256=uTL7gDVRcVfLmad01ZSQxuIOrdpefCh96_jQyxrbKQQ,9633
162
157
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-89216c616dbaa9c5.js,sha256=fiB_T4HmQtNIb3JZBmAU3JVgMnVv-eUQfjH1jG6u4js,18879
163
158
  sky/dashboard/out/_next/static/chunks/pages/infra/[context]-d2910be98e9227cb.js,sha256=1bbisChdeBCmvQFUqybIkepTsHZN2pFb-fBmw6rReFU,798
164
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-b3dbf38b51cb29be.js,sha256=GfowjegxmPpgGTlmdD5uY8cmmH_h_O3sGmO_eKlrwc0,23554
159
+ sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-cf490d1fa38f3740.js,sha256=M9xFwX3xaioTLKhe2aJpZ2AnU7bX-wc-yUL83L2qjCA,24095
165
160
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-31aa8bdcb7592635.js,sha256=Rp48cs4oSH9b8voWWgYMePJdmKx9Qt0KpjcOWOeBp5o,758
166
161
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-c8c2191328532b7d.js,sha256=Fy7YhuXjR14ZLOKUEYVtJnaoDDLX5AM_etnoZf65V3k,4385
167
162
  sky/dashboard/out/_next/static/css/8e97adcaacc15293.css,sha256=iN3pnCjYIfcYUO0HiHNfDGxdb7aG9e2BYk7KVgnKw4w,41498
168
- sky/dashboard/out/clusters/[cluster].html,sha256=zdD60ze3xAZnQRdA0tSqb1j4o8F6RPi34NsjKmUhmYU,2659
169
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=DJaPKbRpszEDlwFmeYt-YeEPakDT_Kq9QuWkBGXKhiw,1980
170
- sky/dashboard/out/infra/[context].html,sha256=F2Hs_pupxcpGIWTqlUPMlAXq_EoN_9U9IKO677BnWuo,1436
171
- sky/dashboard/out/jobs/[job].html,sha256=5KYCKT2SsS1qXN8sRQp4ew0kF-7UX5_9-vgKLI63vE8,2122
163
+ sky/dashboard/out/_next/static/vA3PPpkBwpRTRNBHFYAw_/_buildManifest.js,sha256=kWDgDE-RvgrvIHVuoTfGHXQEICCTpBXlI6q5quUIuH8,2046
164
+ sky/dashboard/out/_next/static/vA3PPpkBwpRTRNBHFYAw_/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
165
+ sky/dashboard/out/clusters/[cluster].html,sha256=C-kJPGKMVWyRk2Ig6kNGnGOLEgc4IhfNfXk4HYGqEFw,2659
166
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=mkNc90KAjj5j88UD-x1BMdZii0Cm6lt9fMbpqreMGfE,1980
167
+ sky/dashboard/out/infra/[context].html,sha256=YuCIWaFxQ5ujoCNTRU_HWHbJNOM1yW4Rx6mklMjlIVQ,1436
168
+ sky/dashboard/out/jobs/[job].html,sha256=5HTHrZjlQ7Z91qCm6RdIcu1zw7ewwZY145Yb5dLxGOg,2122
172
169
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
173
- sky/dashboard/out/workspace/new.html,sha256=zLU7YhKNmOXLC8V15_7kebf1PFuSK8c8FuSei2gHpDE,1428
174
- sky/dashboard/out/workspaces/[name].html,sha256=NkCM7qKwZreseDOkN89n0zZksgeBAe1qR2Y2S0LUpB8,2658
170
+ sky/dashboard/out/workspace/new.html,sha256=yhUjTfb6lG7RnEbCuR1VGAaM3Bx7J7pGjFKClKsAEK0,1428
171
+ sky/dashboard/out/workspaces/[name].html,sha256=3zdX8HKxwEpcBXc-GGBI5FejMYSzSz8uy6_PKecuStI,2658
175
172
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
176
173
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
177
174
  sky/data/data_utils.py,sha256=CNYPM963qby5ddW0DZNbhiWXkqgB9MHh_jrC5DoBctM,33437
@@ -180,17 +177,17 @@ sky/data/storage.py,sha256=OzbHt8tJ8de_43-Wjj347htugGsumfSxkh8FYAKQyq8,236662
180
177
  sky/data/storage_utils.py,sha256=z9Sp4ZUntGeteZ21WmGzh796LC-_1aF-Ol6ttewSm8k,13915
181
178
  sky/jobs/__init__.py,sha256=qoI53-xXE0-SOkrLWigvhgFXjk7dWE0OTqGPYIk-kmM,1458
182
179
  sky/jobs/constants.py,sha256=4r_a85PdRSc3d4YzPnrxDQuhxt6b8Oc5fhAaV7W-jwg,3329
183
- sky/jobs/controller.py,sha256=1MHXM4fmPdVuOPeqsOpNxyTFUPlJWC9JGmFytaG35aY,31211
180
+ sky/jobs/controller.py,sha256=5WBIN_vrxtNrzpRxT67PyXt495N2dtCLATAIFSziFH4,35107
184
181
  sky/jobs/recovery_strategy.py,sha256=a9A4W-6U3KU-pjkWiFpIdgTHC8W26-jYrmi4vzU9iOg,28818
185
- sky/jobs/scheduler.py,sha256=80lZNPlsEZSxEE4JG3g8TxZq68M6-u3HMUHiCRJz8BI,14169
186
- sky/jobs/state.py,sha256=1-VCzAqqrB2nlhIMSRjJC_tHA8gAyE8v5pv6W4cAi4U,52695
187
- sky/jobs/utils.py,sha256=KM57CrD1RcQWxrTJAooGBzwRGmlHmUPZPk4ChGzCRYY,65155
182
+ sky/jobs/scheduler.py,sha256=aE6Ew0KcMivce_958qia2W6MpeJwpKo8uAtvbsSN6o8,14258
183
+ sky/jobs/state.py,sha256=lmxrNLz7Ny9Nb0wboB39_wRu30FVXKml9x5rYd0A0lE,55235
184
+ sky/jobs/utils.py,sha256=cU96vqgpr8xFqO-efDrcE5OYn14Yy9G5MHfV53aug3c,65796
188
185
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
186
  sky/jobs/client/sdk.py,sha256=cVylGbRVBVigNENbxb5bw4M5IRz22toOP8GIaih0gMw,11172
190
187
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
191
- sky/jobs/server/core.py,sha256=fwtfN5XXAoXrozoDR1PY_2Oeb4uC9KLllmxQI6_DmcU,26508
188
+ sky/jobs/server/core.py,sha256=o1V3gEU2nRCaKofCCtbka83e5aPXA4wAsuZ2EH_G_fo,28047
192
189
  sky/jobs/server/server.py,sha256=ae8JAs-2ipWqL_GsA3x8T2mY-OJLc3ioWg_CfRzCUIY,4011
193
- sky/provision/__init__.py,sha256=JdZgmFOqFRzRXiZuA9URvZzdEfCcGSBcc5HVeBkkuPY,6524
190
+ sky/provision/__init__.py,sha256=Xt8OR7TJxxSw3rl3HlpaO3oIxz-i_m_ZaEybRbS0e4g,6554
194
191
  sky/provision/common.py,sha256=GyWyjv_M9P_1iI5zoFMI5WGUQue9e0fuKTLr0revtEQ,10198
195
192
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
196
193
  sky/provision/docker_utils.py,sha256=ev_f5ZebMZ4NYe6OxleisBO8EAB6W0FHFJlaqVK3ugE,20939
@@ -265,6 +262,9 @@ sky/provision/runpod/utils.py,sha256=zlilNbzKAYJIq-hlJZkjIbn1Wua8waNddESW5HmShP4
265
262
  sky/provision/runpod/api/__init__.py,sha256=eJwjPeQZ5B7chf4-Bl4YeI2Uo9aLX4M1rr2NmPk89_E,112
266
263
  sky/provision/runpod/api/commands.py,sha256=oh77PS0H0wZudHV8II9ceRuaFQ8FN4NJ4S3-6_PeqPM,4238
267
264
  sky/provision/runpod/api/pods.py,sha256=GMwxgNr9NnHPfyh2Y9b8S_vLhrLY4h7LybFBBQNAyfw,4948
265
+ sky/provision/scp/__init__.py,sha256=n64mYmRMUs-iB868gPQsXdRVO8Jc1pmIFxx4V_zFTuc,731
266
+ sky/provision/scp/config.py,sha256=8v5dyXC7PPyLhnS5p3tK4B6xufEmUmYFZ7LPHKsS1Zw,2916
267
+ sky/provision/scp/instance.py,sha256=1W2qq-ouOwVj4gxnFa2zi7OH5r177Eq40ktd28iEmXk,19099
268
268
  sky/provision/ssh/__init__.py,sha256=jLQEBTOBMBO11ER9PnY1U2aMCJx7_TEFoaoa5nDHX34,917
269
269
  sky/provision/vast/__init__.py,sha256=iuTyc9Ib3x8Rm5kMvciydkUBEs19fititGdPsXRCr4E,487
270
270
  sky/provision/vast/config.py,sha256=Aa57fKITHvNiXkY0ADoiK6YYRNG6ND9vOC7ueETJIr0,319
@@ -332,9 +332,9 @@ sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
332
  sky/skylet/attempt_skylet.py,sha256=GZ6ITjjA0m-da3IxXXfoHR6n4pjp3X3TOXUqVvSrV0k,2136
333
333
  sky/skylet/autostop_lib.py,sha256=kGUnHm-jpF4zl3UJfB-4pnoldWpnVeR96WwYGSw7em0,4630
334
334
  sky/skylet/configs.py,sha256=kV490lonYVVQMDRO2haizlt9fpQmqBIpwBScn14zS78,2132
335
- sky/skylet/constants.py,sha256=iz4y3e0sknKobI3FeqBOdBkkG1jrQULMiINDYRDPiq4,21211
335
+ sky/skylet/constants.py,sha256=fitwO78CVGzHYa0QUyQuCMONvKHqeQHkis5v7CNwjb0,22096
336
336
  sky/skylet/events.py,sha256=pnV3ZiwWhXqTHpU5B5Y9Xwam_7FQDI6IrxgSx7X_NVA,12743
337
- sky/skylet/job_lib.py,sha256=1-lvIEZyuQu_zj2T0b2UE2IPXdgfanqI7evDxIfso90,45715
337
+ sky/skylet/job_lib.py,sha256=4yuivsrLaKBpp10RnNte-KfdSIIt5nVuSV8mvtVdRlw,46125
338
338
  sky/skylet/log_lib.py,sha256=9nLOhevnM668itQyVyPSoQHKfZ2MWm_FwXPxK28X0oM,23201
339
339
  sky/skylet/log_lib.pyi,sha256=6LXFSpyW4lMHAELKllvK73B3538JjSo9lPw30DEuO0o,4542
340
340
  sky/skylet/skylet.py,sha256=mWmqCvxSlfdVU_L8NL6P52jmCt3smd8K0HdyNBfMPeI,1234
@@ -345,9 +345,6 @@ sky/skylet/providers/ibm/__init__.py,sha256=GXo5F9ztvs0qMDI_G9wM5KvzySfYugslJMHH
345
345
  sky/skylet/providers/ibm/node_provider.py,sha256=PoKp-lyIT2eE6BLqljufhZtGlTrJLe8ebk6mMj2KMdU,38265
346
346
  sky/skylet/providers/ibm/utils.py,sha256=63vhKqLLOhAZdibSp8VWWONeyCER9F6U2VLrSpzlizk,1292
347
347
  sky/skylet/providers/ibm/vpc_provider.py,sha256=GiOGlWYqqeBETfAeKqVj2-9shsMSP7z1WnO8UP5JTNo,34630
348
- sky/skylet/providers/scp/__init__.py,sha256=15SiAh1YphXkZsHySaw_CeAmXRdoM4JtNIAt7SLbUvg,91
349
- sky/skylet/providers/scp/config.py,sha256=P0_4Sts5Qfik-yhYiyuRfT_L5eslv37yKe1L_Qfvzdo,5068
350
- sky/skylet/providers/scp/node_provider.py,sha256=kvX3y3G6nixjyHAHKn_prMQzNXsnBsbWwclQEtz-kPA,22402
351
348
  sky/skylet/ray_patches/__init__.py,sha256=IoCzj9zFaHW-n__bLD8dgC2pJMTfZRxRpr8rZGvMyrw,2761
352
349
  sky/skylet/ray_patches/autoscaler.py.patch,sha256=cZK15L29aay-qx6JoGVPNsPIo3UiG0bAHh8fqfFd-44,291
353
350
  sky/skylet/ray_patches/cli.py.patch,sha256=ooEAr3OfA6LN7v4iaNltY6w63TaOFssgw9iKWP49iJc,349
@@ -368,7 +365,7 @@ sky/templates/jobs-controller.yaml.j2,sha256=vtHZdioV_KopcAf1wpzH_J0WXvq2o0oFs8T
368
365
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
369
366
  sky/templates/kubernetes-loadbalancer.yml.j2,sha256=IxrNYM366N01bbkJEbZ_UPYxUP8wyVEbRNFHRsBuLsw,626
370
367
  sky/templates/kubernetes-port-forward-proxy-command.sh,sha256=iw7mypHszg6Ggq9MbyiYMFOkSlXaQZulaxqC5IWYGCc,3381
371
- sky/templates/kubernetes-ray.yml.j2,sha256=F7dzVW539ii9988d61jRpx-OrMH6W1SkhuAxbbmhH50,41275
368
+ sky/templates/kubernetes-ray.yml.j2,sha256=bK8Mhcfu6qD8tYztDw2UUr_VAn-faxJmWZdnNRkCBpc,44794
372
369
  sky/templates/kubernetes-ssh-jump.yml.j2,sha256=k5W5sOIMppU7dDkJMwPlqsUcb92y7L5_TVG3hkgMy8M,2747
373
370
  sky/templates/lambda-ray.yml.j2,sha256=AeFThho5hPQMncrOWQ6DhEWOsAuZtdxf1gjmp_6kPJA,4747
374
371
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
@@ -376,7 +373,7 @@ sky/templates/nebius-ray.yml.j2,sha256=QnkaFzFqgeww8S0PsUia0GhGXv8aS_Lnfa-imBu2s
376
373
  sky/templates/oci-ray.yml.j2,sha256=TvB2at81DuXSG1QV4dxmqjjMdfDTsCU5T4JH01vI5DU,4810
377
374
  sky/templates/paperspace-ray.yml.j2,sha256=GrMfpUKgeZ76FoKsnqggBrOPkwiYqUw297npPMOcMFw,4270
378
375
  sky/templates/runpod-ray.yml.j2,sha256=Ch306rKPPScu8Q6A_IJID31hRa46xnuqu_r0ziWZWG8,4604
379
- sky/templates/scp-ray.yml.j2,sha256=kRILZpcnPGIQB9FF21tsQDeaWJ_bxTyJErvvljT844Q,5850
376
+ sky/templates/scp-ray.yml.j2,sha256=48b_mKtkx_fyEPQUQ_i6YMmylrtGbvIIUkQsuvgTU3I,3481
380
377
  sky/templates/sky-serve-controller.yaml.j2,sha256=W4i1-OGRU2WDvauLC4EDXcYrNxj7mzRFSvSqzAKfehc,2020
381
378
  sky/templates/skypilot-server-kubernetes-proxy.sh,sha256=n5swq5LauF9dnhDWMYqFFHkXeJ44Zjmg1RVbF60jNbE,1079
382
379
  sky/templates/vast-ray.yml.j2,sha256=Kjq8AtfL86VllOB8vDSnZeKsyv4QJV-80diXO2xuB6g,3020
@@ -387,7 +384,7 @@ sky/usage/constants.py,sha256=mFrTgrFIfFf4kpcl-M1VDU7_moD5_mJazUJTUDrybms,1102
387
384
  sky/usage/usage_lib.py,sha256=PEjQH7do7lrcGMaIqW6bFQvNIFo-ipoF7L0xlt3vmDg,21427
388
385
  sky/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
386
  sky/users/model.conf,sha256=nPAaMai2fc-nlnEDTfW5Lyw6vgCcOS32BSms4aFOHoY,259
390
- sky/users/permission.py,sha256=xSJqO0qLBWQWqC7yKydj2u-vOPRP1823sUQOmRFv184,13014
387
+ sky/users/permission.py,sha256=ZJaQE1yFMX7-dxsyDJnZl6pbmGw0UGvDTtjMwgP5HvQ,12466
391
388
  sky/users/rbac.py,sha256=7JYzyeY9HoXAiCmYxWXz_hiBrmJ2G1JUEaMEfqxHj8Y,3472
392
389
  sky/users/server.py,sha256=aDAymKbfhz0sOpx4nayTJRKEgPZzxJllk4P0mPlgqJk,2417
393
390
  sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -396,16 +393,16 @@ sky/utils/admin_policy_utils.py,sha256=rCzygcM7gC3b_hpw9h4SbFQZR3ofwt1CdD1dFPSaJ
396
393
  sky/utils/annotations.py,sha256=-rfacB30Sl0xkFriejGvxma3oKctGfXXLZkQPHG33eo,1626
397
394
  sky/utils/atomic.py,sha256=vrw-7XCnckF0xCx-ttamao7evPdGtVsnjaTtgMlBXIE,1280
398
395
  sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14432
399
- sky/utils/command_runner.py,sha256=6VknLKttMwPAHGJt_ccyr3l6lXZGVoX6C3-ZtQ7WtR0,39613
396
+ sky/utils/command_runner.py,sha256=r3N-I359rtU2TYCB2ILQqHeWfjChfEK0VOj3sqhN1gk,39613
400
397
  sky/utils/command_runner.pyi,sha256=SDwvKvwaK4_-l2S3bwKSHZX8tGKU5SkbKuYRDn03o7o,7810
401
398
  sky/utils/common.py,sha256=nTg-mjNu0diZjs2UvyiMc84Tu1ZonRLRAmfqFIP1TtY,2242
402
- sky/utils/common_utils.py,sha256=NPB80J34jBe3uP51w-lg4TOUG3N_g1Y1C7q1TjS0Iq8,35407
399
+ sky/utils/common_utils.py,sha256=SgY-vp0C9_-5y4Klbp938E2Q-FayMR7TnjfsJj7pPfk,35492
403
400
  sky/utils/config_utils.py,sha256=v8yZcr8OvEfXmBDYcdOj3U-AH1XERY76zGJMNdqzvqc,10339
404
- sky/utils/context.py,sha256=KKvB6TNLgwE5Ol9NS4ez7vyISoNfL82fAPepnk127CE,9843
401
+ sky/utils/context.py,sha256=C7FF-SGmkTRLjGQsMGNAK0KWazOVWXk7mh6IUESVuU8,9843
405
402
  sky/utils/context_utils.py,sha256=cby-QPmnGObjIE4K7eZ_dkWZdUo7YJUmnJr5oKf_v54,6712
406
403
  sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
407
- sky/utils/controller_utils.py,sha256=DabTg70Vcnpqnbf6U3vBnzozhl0PYXDWctVzg8FSm_U,54851
408
- sky/utils/dag_utils.py,sha256=FjxMaAT6ia4ndVg-ogXgiekLGD1GiPCAdK_c-cjIeuY,7607
404
+ sky/utils/controller_utils.py,sha256=OFogctvmjfssGUHrdV_Ep1vqm6Cms8SrjD3bqLntzuo,55220
405
+ sky/utils/dag_utils.py,sha256=539bdesvxuh3i4NLthR46wKCWOz0kLAVedcm8D02n5Y,8354
409
406
  sky/utils/db_utils.py,sha256=MlJN4dVUEcMkLMn5rYi1F-WnD9ap2oOoF9lDiqlL0h4,5243
410
407
  sky/utils/env_options.py,sha256=aaD6GoYK0LaZIqjOEZ-R7eccQuiRriW3EuLWtOI5En8,1578
411
408
  sky/utils/infra_utils.py,sha256=WkkB4Hj6CX-3eV029fPYqydNVyFZ8ZwRAVA_GCLJ9QU,6981
@@ -416,7 +413,7 @@ sky/utils/registry.py,sha256=I08nS0rvCF-xR5GEZoHEVgN1jcOeglz77h7xPpBCIjU,4179
416
413
  sky/utils/resources_utils.py,sha256=C_iDlFz1CGgkNusiy5OdKpiLHZKWpzILiISgMyLOAq0,12578
417
414
  sky/utils/rich_console_utils.py,sha256=wPvAlshaFHuMZSjiDnaK3OSBppZLBjAn-lj7AvxNBQk,553
418
415
  sky/utils/rich_utils.py,sha256=EmtLN6U49SKiANTGmqgZXICXEnDLJW9EPpw6O4-FVUE,14432
419
- sky/utils/schemas.py,sha256=xy9kHT6oB53JUe4WAshfNKxMcfW7nxfLlPyJZrB8i-4,43852
416
+ sky/utils/schemas.py,sha256=0Du39Pv07R55xbBGpgsoxG8RrBdSb0ACvVrtSeuGnXw,45230
420
417
  sky/utils/status_lib.py,sha256=zn_MSuRYQdNKF8pnFOGQ54X_s_R7dyqWS6Q3a9zENw8,1512
421
418
  sky/utils/subprocess_utils.py,sha256=3euz4h7B-tHulmjhQUkY9oWUA0Np5hlL8kHdTHHZOs0,16060
422
419
  sky/utils/timeline.py,sha256=ob6s3bc7nwAuSI76yLKBrSR5bzOHnOhbozz1avwoet4,4070
@@ -431,7 +428,7 @@ sky/utils/kubernetes/cleanup-tunnel.sh,sha256=rXMXuMfyB9bzKjLvXdMCjimDVvdjGPMXuq
431
428
  sky/utils/kubernetes/config_map_utils.py,sha256=ucdQGp1XHliZxoCFWU8EMJ2NKfUEs7t-ygw-J61It_w,4760
432
429
  sky/utils/kubernetes/create_cluster.sh,sha256=VpFLLLzodeldN9-JKqcjs2LkKksMGlg14Q7qGZ49LQE,7816
433
430
  sky/utils/kubernetes/delete_cluster.sh,sha256=BSccHF43GyepDNf-FZcenzHzpXXATkVD92vgn1lWPgk,927
434
- sky/utils/kubernetes/deploy_remote_cluster.py,sha256=aUGT4yqZTd5DCMummdstQOne38ofPNX7J1rTMuMqrRw,61109
431
+ sky/utils/kubernetes/deploy_remote_cluster.py,sha256=LSYCbFmtCuvnymEmT7FxMaqQeFXxz56dO8bw3WjtW2A,61556
435
432
  sky/utils/kubernetes/exec_kubeconfig_converter.py,sha256=fCWX13qvbqvoHghwjWjZdmzfOrcmSiTaQnP6owJ05A8,2256
436
433
  sky/utils/kubernetes/generate_kind_config.py,sha256=_TNLnifA_r7-CRq083IP1xjelYqiLjzQX9ohuqYpDH8,3187
437
434
  sky/utils/kubernetes/generate_kubeconfig.sh,sha256=Xm_C-CIZIb4QeJSIoVEOdnOCcZ3BhDJdHNoNOxVuBrE,10476
@@ -446,9 +443,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
446
443
  sky/workspaces/core.py,sha256=2kKUP-V5Qo1n-xfayA4M1OE_ina6_4bxkTF3dv3yBEU,20704
447
444
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
448
445
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
449
- skypilot_nightly-1.0.0.dev20250615.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
450
- skypilot_nightly-1.0.0.dev20250615.dist-info/METADATA,sha256=-QFG9r8VCRTkXO6eCUjm6lnNERiFizovG70XrHAngMk,18461
451
- skypilot_nightly-1.0.0.dev20250615.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
452
- skypilot_nightly-1.0.0.dev20250615.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
453
- skypilot_nightly-1.0.0.dev20250615.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
454
- skypilot_nightly-1.0.0.dev20250615.dist-info/RECORD,,
446
+ skypilot_nightly-1.0.0.dev20250617.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
447
+ skypilot_nightly-1.0.0.dev20250617.dist-info/METADATA,sha256=X_IXg26bZ0BVnbKKkbXdqkNh59ATIrYZSJWz20v17oA,18461
448
+ skypilot_nightly-1.0.0.dev20250617.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
449
+ skypilot_nightly-1.0.0.dev20250617.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
450
+ skypilot_nightly-1.0.0.dev20250617.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
451
+ skypilot_nightly-1.0.0.dev20250617.dist-info/RECORD,,
sky/benchmark/__init__.py DELETED
File without changes