skypilot-nightly 1.0.0.dev20250915__py3-none-any.whl → 1.0.0.dev20250916__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (40) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/cloud_vm_ray_backend.py +4 -4
  3. sky/client/sdk.py +6 -0
  4. sky/dashboard/out/404.html +1 -1
  5. sky/dashboard/out/_next/static/chunks/5339.4a881570243431a5.js +51 -0
  6. sky/dashboard/out/_next/static/chunks/{6990-11c8e9b982e8ffec.js → 6990-f6818c84ed8f1c86.js} +1 -1
  7. sky/dashboard/out/_next/static/chunks/{webpack-d1e29b3aa66bf4cf.js → webpack-05f82d90d6fd7f82.js} +1 -1
  8. sky/dashboard/out/_next/static/{dG6B0i0HO4jIoKb4ZFYJ_ → y8s7LlyyfhMzpzCkxuD2r}/_buildManifest.js +1 -1
  9. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  10. sky/dashboard/out/clusters/[cluster].html +1 -1
  11. sky/dashboard/out/clusters.html +1 -1
  12. sky/dashboard/out/config.html +1 -1
  13. sky/dashboard/out/index.html +1 -1
  14. sky/dashboard/out/infra/[context].html +1 -1
  15. sky/dashboard/out/infra.html +1 -1
  16. sky/dashboard/out/jobs/[job].html +1 -1
  17. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  18. sky/dashboard/out/jobs.html +1 -1
  19. sky/dashboard/out/users.html +1 -1
  20. sky/dashboard/out/volumes.html +1 -1
  21. sky/dashboard/out/workspace/new.html +1 -1
  22. sky/dashboard/out/workspaces/[name].html +1 -1
  23. sky/dashboard/out/workspaces.html +1 -1
  24. sky/provision/docker_utils.py +44 -1
  25. sky/provision/instance_setup.py +15 -1
  26. sky/provision/lambda_cloud/instance.py +12 -11
  27. sky/server/common.py +13 -0
  28. sky/server/constants.py +3 -0
  29. sky/server/requests/executor.py +20 -6
  30. sky/server/server.py +10 -5
  31. sky/skypilot_config.py +10 -3
  32. {skypilot_nightly-1.0.0.dev20250915.dist-info → skypilot_nightly-1.0.0.dev20250916.dist-info}/METADATA +31 -31
  33. {skypilot_nightly-1.0.0.dev20250915.dist-info → skypilot_nightly-1.0.0.dev20250916.dist-info}/RECORD +39 -39
  34. sky/dashboard/out/_next/static/chunks/5339.c033b29835da0f35.js +0 -51
  35. /sky/dashboard/out/_next/static/chunks/pages/{workspaces-7598c33a746cdc91.js → workspaces-7528cc0ef8c522c5.js} +0 -0
  36. /sky/dashboard/out/_next/static/{dG6B0i0HO4jIoKb4ZFYJ_ → y8s7LlyyfhMzpzCkxuD2r}/_ssgManifest.js +0 -0
  37. {skypilot_nightly-1.0.0.dev20250915.dist-info → skypilot_nightly-1.0.0.dev20250916.dist-info}/WHEEL +0 -0
  38. {skypilot_nightly-1.0.0.dev20250915.dist-info → skypilot_nightly-1.0.0.dev20250916.dist-info}/entry_points.txt +0 -0
  39. {skypilot_nightly-1.0.0.dev20250915.dist-info → skypilot_nightly-1.0.0.dev20250916.dist-info}/licenses/LICENSE +0 -0
  40. {skypilot_nightly-1.0.0.dev20250915.dist-info → skypilot_nightly-1.0.0.dev20250916.dist-info}/top_level.txt +0 -0
@@ -32,6 +32,30 @@ DOCKER_SOCKET_NOT_READY_STR = ('Is the docker daemon running?')
32
32
 
33
33
  _DOCKER_SOCKET_WAIT_TIMEOUT_SECONDS = 30
34
34
 
35
+ # Install AWS CLI v2 (not v1 from pip) as it's required for ECR authentication
36
+ # AWS CLI v2 is installed as a standalone binary, not a Python package. See:
37
+ # https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
38
+ INSTALL_AWS_CLI_CMD = (
39
+ 'which aws || ((command -v unzip >/dev/null 2>&1 || '
40
+ '(sudo apt-get update && sudo apt-get install -y unzip)) && '
41
+ 'curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" '
42
+ '-o "/tmp/awscliv2.zip" && '
43
+ 'unzip -q /tmp/awscliv2.zip -d /tmp && sudo /tmp/aws/install '
44
+ '&& rm -rf /tmp/awscliv2.zip /tmp/aws)')
45
+
46
+
47
+ def _extract_region_from_ecr_server(server: str) -> str:
48
+ """Extract AWS region from ECR server URL.
49
+
50
+ ECR server format: <account-id>.dkr.ecr.<region>.amazonaws.com
51
+ Returns the region part from the URL.
52
+ """
53
+ # Split: ['<account-id>', 'dkr', 'ecr', '<region>', 'amazonaws', 'com']
54
+ parts = server.split('.')
55
+ if len(parts) >= 6 and parts[1] == 'dkr' and parts[2] == 'ecr':
56
+ return parts[3]
57
+ raise ValueError(f'Invalid ECR server format: {server}')
58
+
35
59
 
36
60
  @dataclasses.dataclass
37
61
  class DockerLoginConfig:
@@ -236,9 +260,9 @@ class DockerInitializer:
236
260
 
237
261
  # SkyPilot: Docker login if user specified a private docker registry.
238
262
  if 'docker_login_config' in self.docker_config:
239
- # TODO(tian): Maybe support a command to get the login password?
240
263
  docker_login_config = DockerLoginConfig(
241
264
  **self.docker_config['docker_login_config'])
265
+
242
266
  if docker_login_config.password:
243
267
  # Password is allowed to be empty, in that case, we will not run
244
268
  # the login command, and assume that the image pulling is
@@ -249,6 +273,25 @@ class DockerInitializer:
249
273
  f'--password {shlex.quote(docker_login_config.password)} '
250
274
  f'{shlex.quote(docker_login_config.server)}',
251
275
  wait_for_docker_daemon=True)
276
+ elif (docker_login_config.server.endswith('.amazonaws.com') and
277
+ '.dkr.ecr.' in docker_login_config.server):
278
+ # AWS ECR: Use aws ecr get-login-password for authentication
279
+ # ECR format: <account-id>.dkr.ecr.<region>.amazonaws.com
280
+ # This command uses the IAM credentials from the EC2 instance
281
+ # Ref: https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html # pylint: disable=line-too-long
282
+ region = _extract_region_from_ecr_server(
283
+ docker_login_config.server)
284
+
285
+ # AWS CLI is not pre-installed on AWS instances, unlike gcloud
286
+ # on GCP instances, so we need to install it first
287
+ self._run(INSTALL_AWS_CLI_CMD, wait_for_docker_daemon=False)
288
+
289
+ self._run(
290
+ f'aws ecr get-login-password --region {region} | '
291
+ f'{self.docker_cmd} login --username AWS '
292
+ f'--password-stdin '
293
+ f'{shlex.quote(docker_login_config.server)}',
294
+ wait_for_docker_daemon=True)
252
295
  elif docker_login_config.server.endswith('-docker.pkg.dev'):
253
296
  # Docker image server is on GCR, we need to do additional setup
254
297
  # to pull the image.
@@ -136,6 +136,20 @@ def _hint_worker_log_path(cluster_name: str, cluster_info: common.ClusterInfo,
136
136
  logger.info(f'Logs of worker nodes can be found at: {worker_log_path}')
137
137
 
138
138
 
139
+ class SSHThreadPoolExecutor(futures.ThreadPoolExecutor):
140
+ """ThreadPoolExecutor that kills children processes on exit."""
141
+
142
+ def __exit__(self, exc_type, exc_val, exc_tb):
143
+ # ssh command runner eventually calls
144
+ # log_lib.run_with_log, which will spawn
145
+ # subprocesses. If we are exiting the context
146
+ # we need to kill the children processes
147
+ # to avoid leakage.
148
+ subprocess_utils.kill_children_processes()
149
+ self.shutdown()
150
+ return False
151
+
152
+
139
153
  def _parallel_ssh_with_cache(func,
140
154
  cluster_name: str,
141
155
  stage_name: str,
@@ -148,7 +162,7 @@ def _parallel_ssh_with_cache(func,
148
162
  # as 32 is too large for some machines.
149
163
  max_workers = subprocess_utils.get_parallel_threads(
150
164
  cluster_info.provider_name)
151
- with futures.ThreadPoolExecutor(max_workers=max_workers) as pool:
165
+ with SSHThreadPoolExecutor(max_workers=max_workers) as pool:
152
166
  results = []
153
167
  runners = provision.get_command_runners(cluster_info.provider_name,
154
168
  cluster_info, **ssh_credentials)
@@ -106,34 +106,35 @@ def run_instances(region: str, cluster_name_on_cloud: str,
106
106
  created_instance_ids = []
107
107
  remote_ssh_key_name = config.authentication_config['remote_key_name']
108
108
 
109
- def launch_nodes(node_type: str, quantity: int) -> List[str]:
109
+ def launch_node(node_type: str) -> str:
110
110
  try:
111
111
  instance_ids = lambda_client.create_instances(
112
112
  instance_type=config.node_config['InstanceType'],
113
113
  region=region,
114
114
  name=f'{cluster_name_on_cloud}-{node_type}',
115
- quantity=quantity,
115
+ # Quantity cannot actually be greater than 1; see:
116
+ # https://github.com/skypilot-org/skypilot/issues/7084
117
+ quantity=1,
116
118
  ssh_key_name=remote_ssh_key_name,
117
119
  )
118
- logger.info(f'Launched {len(instance_ids)} {node_type} node(s), '
119
- f'instance_ids: {instance_ids}')
120
- return instance_ids
120
+ logger.info(f'Launched {node_type} node, '
121
+ f'instance_id: {instance_ids[0]}')
122
+ return instance_ids[0]
121
123
  except Exception as e:
122
124
  logger.warning(f'run_instances error: {e}')
123
125
  raise
124
126
 
125
127
  if head_instance_id is None:
126
- instance_ids = launch_nodes('head', 1)
127
- assert len(instance_ids) == 1
128
- created_instance_ids.append(instance_ids[0])
129
- head_instance_id = instance_ids[0]
128
+ head_instance_id = launch_node('head')
129
+ created_instance_ids.append(head_instance_id)
130
130
 
131
131
  assert head_instance_id is not None, 'head_instance_id should not be None'
132
132
 
133
133
  worker_node_count = to_start_count - 1
134
134
  if worker_node_count > 0:
135
- instance_ids = launch_nodes('worker', worker_node_count)
136
- created_instance_ids.extend(instance_ids)
135
+ for _ in range(worker_node_count):
136
+ worker_instance_id = launch_node('worker')
137
+ created_instance_ids.append(worker_instance_id)
137
138
 
138
139
  while True:
139
140
  instances = _filter_instances(cluster_name_on_cloud, ['active'])
sky/server/common.py CHANGED
@@ -515,6 +515,19 @@ def get_request_id(response: 'requests.Response') -> RequestId[T]:
515
515
  return RequestId[T](request_id)
516
516
 
517
517
 
518
+ def get_stream_request_id(
519
+ response: 'requests.Response') -> Optional[RequestId[T]]:
520
+ """This is same as the above function, but just for `sdk.stream_and_get.
521
+ We do this because `/api/stream` may choose the latest request id, and
522
+ we need to keep track of that information. Request id in this case can
523
+ be None."""
524
+ handle_request_error(response)
525
+ request_id = response.headers.get(server_constants.STREAM_REQUEST_HEADER)
526
+ if request_id is not None:
527
+ return RequestId[T](request_id)
528
+ return None
529
+
530
+
518
531
  def _start_api_server(deploy: bool = False,
519
532
  host: str = '127.0.0.1',
520
533
  foreground: bool = False,
sky/server/constants.py CHANGED
@@ -61,3 +61,6 @@ DASHBOARD_DIR = os.path.join(os.path.dirname(__file__), '..', 'dashboard',
61
61
 
62
62
  # The interval (seconds) for the event to be restarted in the background.
63
63
  DAEMON_RESTART_INTERVAL_SECONDS = 20
64
+
65
+ # Cookie header for stream request id.
66
+ STREAM_REQUEST_HEADER = 'X-SkyPilot-Stream-Request-ID'
@@ -282,8 +282,8 @@ def _get_queue(schedule_type: api_requests.ScheduleType) -> RequestQueue:
282
282
 
283
283
  @contextlib.contextmanager
284
284
  def override_request_env_and_config(
285
- request_body: payloads.RequestBody,
286
- request_id: str) -> Generator[None, None, None]:
285
+ request_body: payloads.RequestBody, request_id: str,
286
+ request_name: str) -> Generator[None, None, None]:
287
287
  """Override the environment and SkyPilot config for a request."""
288
288
  original_env = os.environ.copy()
289
289
  try:
@@ -319,9 +319,22 @@ def override_request_env_and_config(
319
319
  with skypilot_config.override_skypilot_config(
320
320
  request_body.override_skypilot_config,
321
321
  request_body.override_skypilot_config_path):
322
- # Rejecting requests to workspaces that the user does not have
323
- # permission to access.
324
- workspaces_core.reject_request_for_unauthorized_workspace(user)
322
+ # Skip permission check for sky.workspaces.get request
323
+ # as it is used to determine which workspaces the user
324
+ # has access to.
325
+ if request_name != 'sky.workspaces.get':
326
+ try:
327
+ # Reject requests that the user does not have permission
328
+ # to access.
329
+ workspaces_core.reject_request_for_unauthorized_workspace(
330
+ user)
331
+ except exceptions.PermissionDeniedError as e:
332
+ logger.debug(
333
+ f'{request_id} permission denied to workspace: '
334
+ f'{skypilot_config.get_active_workspace()}: {e}')
335
+ raise e
336
+ logger.debug(
337
+ f'{request_id} permission granted to {request_name} request')
325
338
  yield
326
339
  finally:
327
340
  # We need to call the save_timeline() since atexit will not be
@@ -402,7 +415,8 @@ def _request_execution_wrapper(request_id: str,
402
415
  # captured in the log file.
403
416
  try:
404
417
  with sky_logging.add_debug_log_handler(request_id), \
405
- override_request_env_and_config(request_body, request_id), \
418
+ override_request_env_and_config(
419
+ request_body, request_id, request_name), \
406
420
  tempstore.tempdir():
407
421
  if sky_logging.logging_enabled(logger, sky_logging.DEBUG):
408
422
  config = skypilot_config.to_dict()
sky/server/server.py CHANGED
@@ -1571,6 +1571,15 @@ async def stream(
1571
1571
  detail=f'Log path {log_path!r} does not exist')
1572
1572
 
1573
1573
  log_path_to_stream = resolved_log_path
1574
+
1575
+ headers = {
1576
+ 'Cache-Control': 'no-cache, no-transform',
1577
+ 'X-Accel-Buffering': 'no',
1578
+ 'Transfer-Encoding': 'chunked'
1579
+ }
1580
+ if request_id is not None:
1581
+ headers[server_constants.STREAM_REQUEST_HEADER] = request_id
1582
+
1574
1583
  return fastapi.responses.StreamingResponse(
1575
1584
  content=stream_utils.log_streamer(request_id,
1576
1585
  log_path_to_stream,
@@ -1578,11 +1587,7 @@ async def stream(
1578
1587
  tail=tail,
1579
1588
  follow=follow),
1580
1589
  media_type='text/plain',
1581
- headers={
1582
- 'Cache-Control': 'no-cache, no-transform',
1583
- 'X-Accel-Buffering': 'no',
1584
- 'Transfer-Encoding': 'chunked'
1585
- },
1590
+ headers=headers,
1586
1591
  )
1587
1592
 
1588
1593
 
sky/skypilot_config.py CHANGED
@@ -415,10 +415,17 @@ def local_active_workspace_ctx(workspace: str) -> Iterator[None]:
415
415
  def get_active_workspace(force_user_workspace: bool = False) -> str:
416
416
  context_workspace = getattr(_active_workspace_context, 'workspace', None)
417
417
  if not force_user_workspace and context_workspace is not None:
418
- logger.debug(f'Get context workspace: {context_workspace}')
418
+ logger.debug(f'Got context workspace: {context_workspace}')
419
419
  return context_workspace
420
- return get_nested(keys=('active_workspace',),
421
- default_value=constants.SKYPILOT_DEFAULT_WORKSPACE)
420
+ active_workspace = get_nested(keys=('active_workspace',),
421
+ default_value=None)
422
+ if active_workspace is None:
423
+ logger.debug(f'No active workspace found, using default workspace: '
424
+ f'{constants.SKYPILOT_DEFAULT_WORKSPACE}')
425
+ active_workspace = constants.SKYPILOT_DEFAULT_WORKSPACE
426
+ else:
427
+ logger.debug(f'Got active workspace: {active_workspace}')
428
+ return active_workspace
422
429
 
423
430
 
424
431
  def set_nested(keys: Tuple[str, ...], value: Any) -> Dict[str, Any]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250915
3
+ Version: 1.0.0.dev20250916
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -151,49 +151,49 @@ Requires-Dist: grpcio>=1.63.0; extra == "server"
151
151
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
152
152
  Requires-Dist: aiosqlite; extra == "server"
153
153
  Provides-Extra: all
154
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
155
- Requires-Dist: python-dateutil; extra == "all"
156
- Requires-Dist: botocore>=1.29.10; extra == "all"
157
- Requires-Dist: awscli>=1.27.10; extra == "all"
158
- Requires-Dist: ibm-cos-sdk; extra == "all"
159
- Requires-Dist: anyio; extra == "all"
154
+ Requires-Dist: boto3>=1.26.1; extra == "all"
155
+ Requires-Dist: colorama<0.4.5; extra == "all"
160
156
  Requires-Dist: msgraph-sdk; extra == "all"
161
- Requires-Dist: aiohttp; extra == "all"
162
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
163
157
  Requires-Dist: pyjwt; extra == "all"
158
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
164
159
  Requires-Dist: passlib; extra == "all"
165
160
  Requires-Dist: ecsapi>=0.2.0; extra == "all"
166
161
  Requires-Dist: azure-common; extra == "all"
167
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
168
- Requires-Dist: azure-core>=1.31.0; extra == "all"
169
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
170
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
171
- Requires-Dist: boto3>=1.26.1; extra == "all"
162
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
163
+ Requires-Dist: ibm-vpc; extra == "all"
164
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
172
165
  Requires-Dist: azure-core>=1.24.0; extra == "all"
166
+ Requires-Dist: ibm-cos-sdk; extra == "all"
167
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
168
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
169
+ Requires-Dist: nebius>=0.2.47; extra == "all"
170
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
171
+ Requires-Dist: msrestazure; extra == "all"
173
172
  Requires-Dist: oci; extra == "all"
174
- Requires-Dist: docker; extra == "all"
175
- Requires-Dist: sqlalchemy_adapter; extra == "all"
173
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
174
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
176
175
  Requires-Dist: google-cloud-storage; extra == "all"
177
- Requires-Dist: nebius>=0.2.47; extra == "all"
178
176
  Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
179
- Requires-Dist: casbin; extra == "all"
177
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
178
+ Requires-Dist: awscli>=1.27.10; extra == "all"
179
+ Requires-Dist: aiosqlite; extra == "all"
180
180
  Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
181
- Requires-Dist: grpcio>=1.63.0; extra == "all"
182
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
181
+ Requires-Dist: websockets; extra == "all"
182
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
183
+ Requires-Dist: python-dateutil; extra == "all"
184
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
185
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
183
186
  Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
184
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
185
- Requires-Dist: ibm-vpc; extra == "all"
186
- Requires-Dist: colorama<0.4.5; extra == "all"
187
+ Requires-Dist: docker; extra == "all"
188
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
189
+ Requires-Dist: aiohttp; extra == "all"
190
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
191
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
187
192
  Requires-Dist: pydo>=0.3.0; extra == "all"
188
- Requires-Dist: msrestazure; extra == "all"
189
- Requires-Dist: aiosqlite; extra == "all"
190
193
  Requires-Dist: runpod>=1.6.1; extra == "all"
191
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
192
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
193
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
194
- Requires-Dist: websockets; extra == "all"
195
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
196
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
194
+ Requires-Dist: botocore>=1.29.10; extra == "all"
195
+ Requires-Dist: anyio; extra == "all"
196
+ Requires-Dist: casbin; extra == "all"
197
197
  Dynamic: author
198
198
  Dynamic: classifier
199
199
  Dynamic: description
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=GF0YsyG4OiXLqkq861OYsa3OZMUfbc7NM3c3JqFylmI,6652
1
+ sky/__init__.py,sha256=zcfx4CVEslgr9P9d5zGjeLBw1aTa1V0GKol9VcGylxE,6652
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=IWIKJusYqRj0TqmwAS_WOIbrOAAFNWmQ52BdhUewIko,27198
4
4
  sky/check.py,sha256=Z7D6txaOAEL7fyEQ8q-Zxk1aWaHpEcl412Rj2mThbQ0,31025
@@ -14,7 +14,7 @@ sky/optimizer.py,sha256=iR57bL_8BeG6bh1sH3J6n6i65EBFjmyftezYM4nnDZA,64150
14
14
  sky/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  sky/resources.py,sha256=TY-JVOOBexmLEbUj_8tYU8O_F9jKDpFkexcGUjl0XJk,107313
16
16
  sky/sky_logging.py,sha256=BQtgSnt-4TLeMLLoxhk9jE7JCnXGko1cTim9ouuefAY,9755
17
- sky/skypilot_config.py,sha256=UEDR6hOOs-B95rfIvkTk0kq0XvuLRA2nzs3OczHPK6k,37260
17
+ sky/skypilot_config.py,sha256=h0lCf0NC3ml19S4_Oc52w7QLEyzFgejFQAoLbVOydO4,37594
18
18
  sky/task.py,sha256=654W75Q8xwsqc4e_8lCowKplJQUNDf_Cde_cvU3JkcQ,78524
19
19
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
@@ -37,7 +37,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
37
37
  sky/backends/__init__.py,sha256=tpa9gAygQopsiBUUuy3wVmr4E05FoPTFHIWqEo4i-u0,627
38
38
  sky/backends/backend.py,sha256=6ltCouZhaXJqv2Zh9nP_YCdHf10_oIRNzAA-XDiMmI8,7969
39
39
  sky/backends/backend_utils.py,sha256=4rSX8SylY2l1iJehZ8gLG9lPW4u96dBudb_Y8ZdDwPI,171280
40
- sky/backends/cloud_vm_ray_backend.py,sha256=xkXMcMzKz5OumhW9fr5Enh49-syGJPm4Wu7351Z6xhI,298105
40
+ sky/backends/cloud_vm_ray_backend.py,sha256=_upAJdM5_OBuWTBFYCwMZMdEd-OTDzyPIEgzoYtOc-4,298116
41
41
  sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
42
42
  sky/backends/local_docker_backend.py,sha256=r84uhXCk7NK9hGW840KPKnrADd7mCerMwncxOzckHg4,17126
43
43
  sky/backends/wheel_utils.py,sha256=DE71Muq5qLRhGpCVg1Rb6YOI7S_BzT8Hak27Pz8L4yw,12486
@@ -81,7 +81,7 @@ sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg
81
81
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
82
82
  sky/client/common.py,sha256=aYkFeiWgiyJTXm25z_o3ISrvMA-SthbggmKG6qPtwj8,16740
83
83
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
84
- sky/client/sdk.py,sha256=BJ9ffWUF2TOuYWTAcYDc_R7vk02ylSSM_-kZMk0wnGc,106882
84
+ sky/client/sdk.py,sha256=9nc94ICr5OLSZYL8w0TIAEZn-uCLCu5GBrnehHiNzIU,107177
85
85
  sky/client/sdk_async.py,sha256=WjYmVJvEaolGPtx-huhN-501Up6XeBZ9rrN2FiRDmtQ,31016
86
86
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
87
87
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -115,17 +115,17 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
115
115
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
116
116
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
117
117
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
118
- sky/dashboard/out/404.html,sha256=eJOlt2iTJW_93FnTvhK_uBLqkoPeq1B9-Q7oyb_2k6w,1423
119
- sky/dashboard/out/clusters.html,sha256=qlJIt8upJRj3orYana12DAbNtkT1IhKTy2plccNHEDE,1418
120
- sky/dashboard/out/config.html,sha256=nK7mHmLabjW87RyWtGBkZdu2eF3diDww82pPnQdF3J8,1414
118
+ sky/dashboard/out/404.html,sha256=ONWARc_FITAYm57KFq74Ws7fh9nvzSvjZNQu39SoPBk,1423
119
+ sky/dashboard/out/clusters.html,sha256=gQoYyVfNOp5Z63fwBCs4fmbLuk1-PovzT2V8Ol0GoaY,1418
120
+ sky/dashboard/out/config.html,sha256=DP84wUKCUapnawxka0Pakr_rm8tJG0NaNq7pDb1gits,1414
121
121
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
122
- sky/dashboard/out/index.html,sha256=MhW0pgtLpCfhRZfj8wzbSlQ-6gbixKA9s5ISMtguILc,1407
123
- sky/dashboard/out/infra.html,sha256=X-Iuils9wZekKksnpTKf-NAfv_AvPw30eUUWdGVZYQE,1412
124
- sky/dashboard/out/jobs.html,sha256=maeOBMv0lhybkwyO42JwtLAjxyrPZYrQF8PsnkMJJPM,1410
122
+ sky/dashboard/out/index.html,sha256=hJxjNBSXQg7pl3uX2WCyLM24Gs7QvijnKo14oR3nX0Y,1407
123
+ sky/dashboard/out/infra.html,sha256=AI6cxnX0Q1d7pm5vYFw5AWg3jGKEMyRHiNva8K5JGkg,1412
124
+ sky/dashboard/out/jobs.html,sha256=Z2ntFZzBxz7EWmePlIEkNU14Jd1B61L7AKcTAW5lD0I,1410
125
125
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
126
- sky/dashboard/out/users.html,sha256=uzIGySTQh9SU9tQcYt8UvO28No1vB7aehtyAvlwck1c,1412
127
- sky/dashboard/out/volumes.html,sha256=mrw7SGLacMcNVo8n-Le511yM_tCGatxf90OU3TgECOw,1416
128
- sky/dashboard/out/workspaces.html,sha256=TyZ-7M2l7goZ1e3to9M5Aa4lUVVATNy5YqA0YfnTpmA,1422
126
+ sky/dashboard/out/users.html,sha256=Ng8_G3u_LrljRK_F30L6R3aRapVy7zxOfgTvXidI2E4,1412
127
+ sky/dashboard/out/volumes.html,sha256=OFR85MzBToHvPYbT3V5pIx13IsZlBSc42LnxwBYvEGU,1416
128
+ sky/dashboard/out/workspaces.html,sha256=68Ycz8hFCLdjWVgcqc2XIaBDHYWGUPnDMhxZsAyLrMU,1422
129
129
  sky/dashboard/out/_next/static/chunks/1121-408ed10b2f9fce17.js,sha256=WRuwuuT4OiOBZc-c8VIS-vO9wtyRdKvGN51obQLfxwA,8596
130
130
  sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js,sha256=kdYh_Ek9hdib5emC7Iezojh3qASBnOIUHH5zX_ScR0U,17355
131
131
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
@@ -139,7 +139,7 @@ sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js,sha256=0tYP8uuog_
139
139
  sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js,sha256=tapRUwwIf-YKMV73OTSX78ZWKDKCZdcBx-JC-0wgEF4,31405
140
140
  sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js,sha256=cfO5u2g0pHjyBqEtXvxjqyzqSSCXL6l1vYdMFd90WGg,8571
141
141
  sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js,sha256=Og54dlTz1nWvsEyE9mmzeKjfJcNkloX5MbQN7ujfrt0,15962
142
- sky/dashboard/out/_next/static/chunks/5339.c033b29835da0f35.js,sha256=vTlVnb0-kOetm_BDn_Itgzzavpw3k1VEJjkJMR3yL2U,20190
142
+ sky/dashboard/out/_next/static/chunks/5339.4a881570243431a5.js,sha256=fHDCctokRXQ3IFfDR6vNwKEPkIrvAqQHdbhd_luMVlw,21750
143
143
  sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js,sha256=UMLEyZH3SWcAdDnaOYztbUYUzCCP2t0KiwP2vT_swDQ,65504
144
144
  sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js,sha256=5gyzVH8d5jnrVqCh9y0HEFcRmg4zguJ9_fe9olGFW2U,29162
145
145
  sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js,sha256=OLvQvfyMwh1ltTzUqJda3AF23BSCllkw9J7MVmkTyKI,15165
@@ -148,7 +148,7 @@ sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js,sha256=wUdmzEiSknP
148
148
  sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js,sha256=coh7shL8L5Vp2MsibBTx-xxNq_BI-zp0jAl7f6eVmUQ,9659
149
149
  sky/dashboard/out/_next/static/chunks/6856-e0754534b3015377.js,sha256=4ilK3U335-JanfURieNfqBRhRMklxZmXaGnAduDtZhU,18269
150
150
  sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js,sha256=iIEGQp3dsChOsDxd7QH_ShGczWhvigMfIT35CSsZjjY,11873
151
- sky/dashboard/out/_next/static/chunks/6990-11c8e9b982e8ffec.js,sha256=2b7ZOZ-Ga4OWj60kq4QvQ5DIAcPenfik8YJ_N54Evhk,16142
151
+ sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js,sha256=S_U1sK3gxmP1Lw9QkbrfWmjpdc1qeR2olYlNx04klOQ,16152
152
152
  sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js,sha256=5x42A-PEZANeHAcNDbcnJ21uQF48yTrP3XeW5L4RH1g,495
153
153
  sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js,sha256=Dnmr9e-yZQbnkjwzqIZU3aK-3u1Tqr8STF-ODYWLkaw,13304
154
154
  sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js,sha256=R6UUmK1P1PfVx9zOU0jlBsVSk5ZchuPwWObAeVkkhU0,785694
@@ -161,7 +161,7 @@ sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_Qbam
161
161
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
162
162
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
163
163
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
164
- sky/dashboard/out/_next/static/chunks/webpack-d1e29b3aa66bf4cf.js,sha256=gfroSHMpg0OlZ0gjpqicO5TjgdnTL_NSaGi4hpgJVxI,4742
164
+ sky/dashboard/out/_next/static/chunks/webpack-05f82d90d6fd7f82.js,sha256=9WJjAUTFa8iMESJmR888cm6lLhEUbSdxWekAsAivXPU,4742
165
165
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
166
166
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
167
167
  sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
@@ -171,7 +171,7 @@ sky/dashboard/out/_next/static/chunks/pages/infra-aabba60d57826e0f.js,sha256=2o5
171
171
  sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js,sha256=Jru6ZTgzabGhsPRSXpjWF1xx1rHJ1F_pB8eCogUZcdY,831
172
172
  sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js,sha256=mZuU1XexJy9ix9hAMnH0l2btGQHJPxohZg4K7NY8faA,838
173
173
  sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js,sha256=URJ4PMHh15XCXB6os2a7ymR3mG3MfTNrKyizYEhW2OE,836
174
- sky/dashboard/out/_next/static/chunks/pages/workspaces-7598c33a746cdc91.js,sha256=y_qEXM9YPRja20D8IVLj8mgIEHQPQr2Le733bVrsXJw,863
174
+ sky/dashboard/out/_next/static/chunks/pages/workspaces-7528cc0ef8c522c5.js,sha256=y_qEXM9YPRja20D8IVLj8mgIEHQPQr2Le733bVrsXJw,863
175
175
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-0b4b35dc1dfe046c.js,sha256=w4xXHVeRMtj-YgS247UzTnAQFY2Sn_f3lChW1YoyZZ4,19554
176
176
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-1cbba24bd1bd35f8.js,sha256=20rZ66tPurBar9qA5ijkEN71Ym3Ym4e1GFA5nF5imAc,25799
177
177
  sky/dashboard/out/_next/static/chunks/pages/infra/[context]-6563820e094f68ca.js,sha256=P3fWbG3DX-Q1SusyuaCuJILvs9suIxNsdo1SRAenZpc,847
@@ -180,16 +180,16 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.j
180
180
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
181
181
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js,sha256=cGCpDszMI6ckUHVelwAh9ZVk1erfz_UXSLz9GCqGUAE,1495
182
182
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
183
- sky/dashboard/out/_next/static/dG6B0i0HO4jIoKb4ZFYJ_/_buildManifest.js,sha256=d2-uginUKbH_vg44FI0OhqUIlINkvWSEc2IA2df7m3s,2428
184
- sky/dashboard/out/_next/static/dG6B0i0HO4jIoKb4ZFYJ_/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
185
- sky/dashboard/out/clusters/[cluster].html,sha256=U9SDnJ19GyuJldtAIzY2COYDb5giIGd_6IvE8YYLQpo,2936
186
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=HtP5TMz_i7Uqhyx-Tl7RNHPCdPA_hW3Zg6IH6NWez2Y,2073
187
- sky/dashboard/out/infra/[context].html,sha256=7sTc6RAXqahQycRQ0zqFVYwAqBHoX-2MpwTT-X4lf_I,1436
188
- sky/dashboard/out/jobs/[job].html,sha256=yY5SV44-2_VhA4l9IWPHcN2pAQKy6M5PnRSs9eHUWaI,2304
189
- sky/dashboard/out/jobs/pools/[pool].html,sha256=CRW2uvJmVXA6Q88aldX6VQHd5IbvXFneGv4C8lWVqHo,2142
183
+ sky/dashboard/out/_next/static/y8s7LlyyfhMzpzCkxuD2r/_buildManifest.js,sha256=blmniNEkcB5qxbjYq4_Ehxzb9N21aCl36GL0KOgQnKc,2428
184
+ sky/dashboard/out/_next/static/y8s7LlyyfhMzpzCkxuD2r/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
185
+ sky/dashboard/out/clusters/[cluster].html,sha256=8P6S44CRAGhUe17PfFrOZK6228nx1ikO3sk5P2pStpU,2936
186
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=sevxUDUoEXk-dTaJmX9skZ1vFUvNlBHkBSUp4GEIT88,2073
187
+ sky/dashboard/out/infra/[context].html,sha256=DROyhowydS3rKU7fQj0gS_GfElDUS23cgfTBGozU0G0,1436
188
+ sky/dashboard/out/jobs/[job].html,sha256=heTYVxrOkAedqbHCcmc5YXdj_R31JObIDRSy5GGCq2k,2304
189
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=tf99yfu-Z9AZcM7HyXzC0z1Nol4PZLPsq_UvjaZPAOY,2142
190
190
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
191
- sky/dashboard/out/workspace/new.html,sha256=gVRwL8OJLFh1QFWUKCzA_hbL-KHXm9Ky0_yfmVF8hKY,1428
192
- sky/dashboard/out/workspaces/[name].html,sha256=L7KtSDfX_PzZqVRYz9rezUA6VRwdtDTuXKumUFsFUSQ,2759
191
+ sky/dashboard/out/workspace/new.html,sha256=33D_BTehqYdMw2nBGw3qxSj3xQ-F0eFUq4FqTk2VWo0,1428
192
+ sky/dashboard/out/workspaces/[name].html,sha256=w5Z6r8pOfLMPjSNJOekZqVJKvjN4iXx4rIIDixkkbDo,2759
193
193
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
194
194
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
195
195
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -219,8 +219,8 @@ sky/metrics/utils.py,sha256=Cww3yNG4HyW4DEdLOFUayFgMZ16t2JFSvvhuTTV7Vio,7654
219
219
  sky/provision/__init__.py,sha256=jxo4zlIonAGR-USEVkbAqx4tMOAoszRfVodf7I0DKGE,8897
220
220
  sky/provision/common.py,sha256=LdjM9SL9NDtsARom12tVv_WoUNL3PTlU5RoLfeWGGgM,10807
221
221
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
222
- sky/provision/docker_utils.py,sha256=DpyBNuGv5BrU3Z3LDy6BZbrur4wPFzYJAtQuUK_cEsM,21439
223
- sky/provision/instance_setup.py,sha256=YjANEJoPSamKLav_BjoGiTOkFlGKoR_F1DlGuUFe-U0,26141
222
+ sky/provision/docker_utils.py,sha256=a-17udVet_a92j9RHi9x0qdodmY9_3tdBd45xnBtZO4,23597
223
+ sky/provision/instance_setup.py,sha256=KlXN5yWopO_o5_8ukbbIQ1QXkgQGSc59RxZZEhEbD6Q,26637
224
224
  sky/provision/logging.py,sha256=_sx_TH6nLt0FF3myS5pEZbiMhXyl4s1XwMidu_TTBUw,2091
225
225
  sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
226
226
  sky/provision/provisioner.py,sha256=pJuXKoCspNAJEC-PQcxWXopgJ7G5ielprLb1GJVswqw,33353
@@ -269,7 +269,7 @@ sky/provision/kubernetes/volume.py,sha256=b5mozvUCw9rsGxiUS9LxR-MyELK-EQHYglJkGT
269
269
  sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=S87GNAbDqgTrLuxF-afPAqQ0V-i41El4s_9KBZMuaag,1331
270
270
  sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
271
271
  sky/provision/lambda_cloud/config.py,sha256=jq1iLzp4Up61r4JGxvtpVbJlgXnea3LHYQhCQyyl7ik,272
272
- sky/provision/lambda_cloud/instance.py,sha256=_MKuz4yxbfF5okM3i-CPwbso9UGqKz4-E_VAKjRO-QY,12873
272
+ sky/provision/lambda_cloud/instance.py,sha256=KFgXK8WktXQIutN_QX4G-dsmOHTdce5_pdkQTMRtan0,12927
273
273
  sky/provision/lambda_cloud/lambda_utils.py,sha256=G1dciGF8U3OGYk0-1pc3IDsT8AyA8AceujOkQy4fqho,13284
274
274
  sky/provision/nebius/__init__.py,sha256=30I3181mu0W5g9fNvaWMPoBJZoGZ9RibuTpBH9P2pDg,558
275
275
  sky/provision/nebius/config.py,sha256=LK9kTDp2w6zZrn3vNdcSGgsgS-dL_j63Nh4_u3pqNiA,321
@@ -365,13 +365,13 @@ sky/serve/server/core.py,sha256=QEdBUE0clX8ZSQEO_mb5Gt3ykeWBdVzqtmiRcBjH7UY,1032
365
365
  sky/serve/server/impl.py,sha256=GSsbaphk9213bP-U8LsSeXXGn3AK09uJZboycsFIKJM,42707
366
366
  sky/serve/server/server.py,sha256=zzHQdsFWdSzoAIgPw-SQsxem559psu31X6BG0sSWSxw,4464
367
367
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
368
- sky/server/common.py,sha256=wuZRP0CujxiAoLidVoEkPHcl11YET9gHeZcj6BRoq6Y,39653
368
+ sky/server/common.py,sha256=V3n_-8im0vpnYHr4AJRye_yiYxsu8xedYcs2xMPUPWw,40191
369
369
  sky/server/config.py,sha256=Ivim-8YmFzNJpOub0QrEMfhK88hI3jap2vuEpPg4vNM,11049
370
- sky/server/constants.py,sha256=UW3BZm4sf4l92vVj2ukNn4yb_76fD4rItq7wxXAMIcM,2361
370
+ sky/server/constants.py,sha256=1kIHuD-8T6KMNFpLgt4Urx9qVUvgdzmmlLfc4kmdQCM,2456
371
371
  sky/server/daemons.py,sha256=THVc5GgF4jCqhhanNVH4iBOUPU5TKlCi7VSWeQyqVTU,9131
372
372
  sky/server/metrics.py,sha256=uzEQYruTC_Q6lrSP3AZaic9EBMTZ3H5W5h348FXFaXc,8641
373
373
  sky/server/rest.py,sha256=6Qcn6fjypP3j9UHdKRgvt2-PU1LKz2VU2aVQEA1D6EI,14354
374
- sky/server/server.py,sha256=dtGFeZNV-PTLvbvlWo0qMky608oTED-TkSoSBYqbYuE,83652
374
+ sky/server/server.py,sha256=hnDKrHPf9IB-Z3Pkrze88n0gcr_BLXS2YBFyWSqwiMQ,83760
375
375
  sky/server/state.py,sha256=YbVOMJ1JipQQv17gLIGyiGN7MKfnP83qlUa5MB1z0Yk,747
376
376
  sky/server/stream_utils.py,sha256=RrxRjZR0623A_ITjSMgUmDlXcSkT8NnNjb4f24OLiAE,9613
377
377
  sky/server/uvicorn.py,sha256=lJROnpJqoZr59zGwYa_pUniV7rEwmZn0PV4t-YYY-yo,11832
@@ -383,7 +383,7 @@ sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
383
383
  sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFzlc,7046
384
384
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
385
385
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
386
- sky/server/requests/executor.py,sha256=RbF78Hz9uXGThb8RDjam6J5sl6naumk0dgtne6Fzphs,30369
386
+ sky/server/requests/executor.py,sha256=DULfvQcnUkkIaqQtrRVn3e86PDGdYMUNHiR3_UJEBvY,31067
387
387
  sky/server/requests/payloads.py,sha256=ftoUNiBDRPBOQw8nSRXW6zQv8uI9SICdznarh701Brs,27032
388
388
  sky/server/requests/preconditions.py,sha256=KxTAoYqpJU96Ot36NHtRq3PC3f_BXk_cHI0b2eA8U6A,7323
389
389
  sky/server/requests/process.py,sha256=UpJp5rZizNMFRCNRtudFSjbcJhFarFbtAGDWI9x_ZyE,13197
@@ -550,9 +550,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
550
550
  sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
551
551
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
552
552
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
553
- skypilot_nightly-1.0.0.dev20250915.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
554
- skypilot_nightly-1.0.0.dev20250915.dist-info/METADATA,sha256=DJO00nkKI2-6wdODugIKbTywR4eAhM6eWktdNKwOA6s,20032
555
- skypilot_nightly-1.0.0.dev20250915.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
556
- skypilot_nightly-1.0.0.dev20250915.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
557
- skypilot_nightly-1.0.0.dev20250915.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
558
- skypilot_nightly-1.0.0.dev20250915.dist-info/RECORD,,
553
+ skypilot_nightly-1.0.0.dev20250916.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
554
+ skypilot_nightly-1.0.0.dev20250916.dist-info/METADATA,sha256=f_gKxmxe6QomdlfZ7fDtUYDFEspxHl5xMoxkHG0HDfE,20032
555
+ skypilot_nightly-1.0.0.dev20250916.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
556
+ skypilot_nightly-1.0.0.dev20250916.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
557
+ skypilot_nightly-1.0.0.dev20250916.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
558
+ skypilot_nightly-1.0.0.dev20250916.dist-info/RECORD,,