skypilot-nightly 1.0.0.dev20250702__py3-none-any.whl → 1.0.0.dev20250704__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 (43) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/backend_utils.py +24 -24
  3. sky/catalog/data_fetchers/fetch_cudo.py +37 -37
  4. sky/client/sdk.py +4 -6
  5. sky/clouds/aws.py +1 -1
  6. sky/clouds/cudo.py +1 -1
  7. sky/dashboard/out/404.html +1 -1
  8. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  9. sky/dashboard/out/clusters/[cluster].html +1 -1
  10. sky/dashboard/out/clusters.html +1 -1
  11. sky/dashboard/out/config.html +1 -1
  12. sky/dashboard/out/index.html +1 -1
  13. sky/dashboard/out/infra/[context].html +1 -1
  14. sky/dashboard/out/infra.html +1 -1
  15. sky/dashboard/out/jobs/[job].html +1 -1
  16. sky/dashboard/out/jobs.html +1 -1
  17. sky/dashboard/out/users.html +1 -1
  18. sky/dashboard/out/volumes.html +1 -1
  19. sky/dashboard/out/workspace/new.html +1 -1
  20. sky/dashboard/out/workspaces/[name].html +1 -1
  21. sky/dashboard/out/workspaces.html +1 -1
  22. sky/exceptions.py +5 -0
  23. sky/jobs/client/sdk.py +3 -1
  24. sky/jobs/server/core.py +16 -11
  25. sky/metrics/__init__.py +0 -0
  26. sky/provision/cudo/cudo_utils.py +14 -8
  27. sky/provision/cudo/cudo_wrapper.py +71 -70
  28. sky/server/common.py +59 -94
  29. sky/server/constants.py +25 -4
  30. sky/server/requests/payloads.py +55 -10
  31. sky/server/requests/requests.py +6 -28
  32. sky/server/rest.py +15 -4
  33. sky/server/server.py +51 -7
  34. sky/server/versions.py +270 -0
  35. sky/setup_files/MANIFEST.in +0 -1
  36. {skypilot_nightly-1.0.0.dev20250702.dist-info → skypilot_nightly-1.0.0.dev20250704.dist-info}/METADATA +1 -1
  37. {skypilot_nightly-1.0.0.dev20250702.dist-info → skypilot_nightly-1.0.0.dev20250704.dist-info}/RECORD +43 -41
  38. /sky/dashboard/out/_next/static/{N5IdFnjR1RaPGBAVYeTIr → 6TieQqyqsJiaJC33q0FfI}/_buildManifest.js +0 -0
  39. /sky/dashboard/out/_next/static/{N5IdFnjR1RaPGBAVYeTIr → 6TieQqyqsJiaJC33q0FfI}/_ssgManifest.js +0 -0
  40. {skypilot_nightly-1.0.0.dev20250702.dist-info → skypilot_nightly-1.0.0.dev20250704.dist-info}/WHEEL +0 -0
  41. {skypilot_nightly-1.0.0.dev20250702.dist-info → skypilot_nightly-1.0.0.dev20250704.dist-info}/entry_points.txt +0 -0
  42. {skypilot_nightly-1.0.0.dev20250702.dist-info → skypilot_nightly-1.0.0.dev20250704.dist-info}/licenses/LICENSE +0 -0
  43. {skypilot_nightly-1.0.0.dev20250702.dist-info → skypilot_nightly-1.0.0.dev20250704.dist-info}/top_level.txt +0 -0
sky/server/rest.py CHANGED
@@ -12,6 +12,8 @@ import colorama
12
12
  from sky import exceptions
13
13
  from sky import sky_logging
14
14
  from sky.adaptors import common as adaptors_common
15
+ from sky.server import constants
16
+ from sky.server import versions
15
17
  from sky.utils import common_utils
16
18
  from sky.utils import rich_utils
17
19
  from sky.utils import ux_utils
@@ -28,6 +30,11 @@ F = TypeVar('F', bound=Callable[..., Any])
28
30
 
29
31
  _RETRY_CONTEXT = contextvars.ContextVar('retry_context', default=None)
30
32
 
33
+ _session = requests.Session()
34
+ _session.headers[constants.API_VERSION_HEADER] = str(constants.API_VERSION)
35
+ _session.headers[constants.VERSION_HEADER] = (
36
+ versions.get_local_readable_version())
37
+
31
38
 
32
39
  class RetryContext:
33
40
 
@@ -132,13 +139,17 @@ def handle_server_unavailable(response: 'requests.Response') -> None:
132
139
  def request(method, url, **kwargs) -> 'requests.Response':
133
140
  """Send a request to the API server, retry on server temporarily
134
141
  unavailable."""
135
- response = requests.request(method, url, **kwargs)
136
- handle_server_unavailable(response)
137
- return response
142
+ return request_without_retry(method, url, **kwargs)
138
143
 
139
144
 
140
145
  def request_without_retry(method, url, **kwargs) -> 'requests.Response':
141
146
  """Send a request to the API server without retry."""
142
- response = requests.request(method, url, **kwargs)
147
+ response = _session.request(method, url, **kwargs)
143
148
  handle_server_unavailable(response)
149
+ remote_api_version = response.headers.get(constants.API_VERSION_HEADER)
150
+ remote_version = response.headers.get(constants.VERSION_HEADER)
151
+ if remote_api_version is not None:
152
+ versions.set_remote_api_version(int(remote_api_version))
153
+ if remote_version is not None:
154
+ versions.set_remote_version(remote_version)
144
155
  return response
sky/server/server.py CHANGED
@@ -4,7 +4,6 @@ import argparse
4
4
  import asyncio
5
5
  import base64
6
6
  import contextlib
7
- import dataclasses
8
7
  import datetime
9
8
  import hashlib
10
9
  import json
@@ -14,6 +13,7 @@ import os
14
13
  import pathlib
15
14
  import posixpath
16
15
  import re
16
+ import resource
17
17
  import shutil
18
18
  import sys
19
19
  import threading
@@ -48,6 +48,7 @@ from sky.server import constants as server_constants
48
48
  from sky.server import metrics
49
49
  from sky.server import state
50
50
  from sky.server import stream_utils
51
+ from sky.server import versions
51
52
  from sky.server.requests import executor
52
53
  from sky.server.requests import payloads
53
54
  from sky.server.requests import preconditions
@@ -558,6 +559,35 @@ class GracefulShutdownMiddleware(starlette.middleware.base.BaseHTTPMiddleware):
558
559
  return await call_next(request)
559
560
 
560
561
 
562
+ class APIVersionMiddleware(starlette.middleware.base.BaseHTTPMiddleware):
563
+ """Middleware to add API version to the request."""
564
+
565
+ async def dispatch(self, request: fastapi.Request, call_next):
566
+ version_info = versions.check_compatibility_at_server(request.headers)
567
+ # Bypass version handling for backward compatibility with clients prior
568
+ # to v0.11.0, the client will check the version in the body of
569
+ # /api/health response and hint an upgrade.
570
+ # TODO(aylei): remove this after v0.13.0 is released.
571
+ if version_info is None:
572
+ return await call_next(request)
573
+ if version_info.error is None:
574
+ versions.set_remote_api_version(version_info.api_version)
575
+ versions.set_remote_version(version_info.version)
576
+ response = await call_next(request)
577
+ else:
578
+ response = fastapi.responses.JSONResponse(
579
+ status_code=400,
580
+ content={
581
+ 'error': common.ApiServerStatus.VERSION_MISMATCH.value,
582
+ 'message': version_info.error,
583
+ })
584
+ response.headers[server_constants.API_VERSION_HEADER] = str(
585
+ server_constants.API_VERSION)
586
+ response.headers[server_constants.VERSION_HEADER] = \
587
+ versions.get_local_readable_version()
588
+ return response
589
+
590
+
561
591
  app = fastapi.FastAPI(prefix='/api/v1', debug=True, lifespan=lifespan)
562
592
  # Middleware wraps in the order defined here. E.g., given
563
593
  # app.add_middleware(Middleware1)
@@ -570,6 +600,8 @@ app = fastapi.FastAPI(prefix='/api/v1', debug=True, lifespan=lifespan)
570
600
  # Use environment variable to make the metrics middleware optional.
571
601
  if os.environ.get(constants.ENV_VAR_SERVER_METRICS_ENABLED):
572
602
  app.add_middleware(metrics.PrometheusMiddleware)
603
+ app.add_middleware(APIVersionMiddleware)
604
+ app.add_middleware(RBACMiddleware)
573
605
  app.add_middleware(InternalDashboardPrefixMiddleware)
574
606
  app.add_middleware(GracefulShutdownMiddleware)
575
607
  app.add_middleware(PathCleanMiddleware)
@@ -614,6 +646,16 @@ app.include_router(ssh_node_pools_rest.router,
614
646
  prefix='/ssh_node_pools',
615
647
  tags=['ssh_node_pools'])
616
648
 
649
+ # Increase the limit of files we can open to our hard limit. This fixes bugs
650
+ # where we can not aquire file locks or open enough logs and the API server
651
+ # crashes. On Mac, the hard limit is 9,223,372,036,854,775,807.
652
+ # TODO(luca) figure out what to do if we need to open more than 2^63 files.
653
+ try:
654
+ soft, hard = resource.getrlimit(resource.RLIMIT_NOFILE)
655
+ resource.setrlimit(resource.RLIMIT_NOFILE, (hard, hard))
656
+ except Exception: # pylint: disable=broad-except
657
+ pass # no issue, we will warn the user later if its too low
658
+
617
659
 
618
660
  @app.get('/token')
619
661
  async def token(request: fastapi.Request,
@@ -1324,7 +1366,7 @@ async def local_down(request: fastapi.Request) -> None:
1324
1366
 
1325
1367
  # === API server related APIs ===
1326
1368
  @app.get('/api/get')
1327
- async def api_get(request_id: str) -> requests_lib.RequestPayload:
1369
+ async def api_get(request_id: str) -> payloads.RequestPayload:
1328
1370
  """Gets a request with a given request ID prefix."""
1329
1371
  while True:
1330
1372
  request_task = requests_lib.get_request(request_id)
@@ -1339,9 +1381,8 @@ async def api_get(request_id: str) -> requests_lib.RequestPayload:
1339
1381
  detail=f'Request {request_id!r} should be retried')
1340
1382
  request_error = request_task.get_error()
1341
1383
  if request_error is not None:
1342
- raise fastapi.HTTPException(status_code=500,
1343
- detail=dataclasses.asdict(
1344
- request_task.encode()))
1384
+ raise fastapi.HTTPException(
1385
+ status_code=500, detail=request_task.encode().model_dump())
1345
1386
  return request_task.encode()
1346
1387
  # yield control to allow other coroutines to run, sleep shortly
1347
1388
  # to avoid storming the DB and CPU in the meantime
@@ -1479,7 +1520,7 @@ async def api_status(
1479
1520
  None, description='Request IDs to get status for.'),
1480
1521
  all_status: bool = fastapi.Query(
1481
1522
  False, description='Get finished requests as well.'),
1482
- ) -> List[requests_lib.RequestPayload]:
1523
+ ) -> List[payloads.RequestPayload]:
1483
1524
  """Gets the list of requests."""
1484
1525
  if request_ids is None:
1485
1526
  statuses = None
@@ -1519,7 +1560,10 @@ async def health(request: fastapi.Request) -> Dict[str, Any]:
1519
1560
  logger.info(f'Health endpoint: request.state.auth_user = {user}')
1520
1561
  return {
1521
1562
  'status': common.ApiServerStatus.HEALTHY.value,
1522
- 'api_version': server_constants.API_VERSION,
1563
+ # Kept for backward compatibility, clients before 0.11.0 will read this
1564
+ # field to check compatibility and hint the user to upgrade the CLI.
1565
+ # TODO(aylei): remove this field after 0.13.0
1566
+ 'api_version': str(server_constants.API_VERSION),
1523
1567
  'version': sky.__version__,
1524
1568
  'version_on_disk': common.get_skypilot_version_on_disk(),
1525
1569
  'commit': sky.__commit__,
sky/server/versions.py ADDED
@@ -0,0 +1,270 @@
1
+ """API versioning module."""
2
+
3
+ import contextvars
4
+ import functools
5
+ import re
6
+ from typing import Callable, Literal, Mapping, NamedTuple, Optional, Tuple
7
+
8
+ import colorama
9
+ from packaging import version as version_lib
10
+
11
+ import sky
12
+ from sky import exceptions
13
+ from sky import sky_logging
14
+ from sky.server import constants
15
+ from sky.utils import ux_utils
16
+
17
+ logger = sky_logging.init_logger(__name__)
18
+
19
+ CLIENT_TOO_OLD_ERROR = (
20
+ f'{colorama.Fore.YELLOW}Your SkyPilot client version is too old:'
21
+ '{remote_version}\n'
22
+ f'{colorama.Style.RESET_ALL}'
23
+ 'The server is running on {local_version} and the minimum compatible '
24
+ 'version is {min_version}.\n'
25
+ f'Upgrade your client with:\n{colorama.Fore.YELLOW}'
26
+ '{command}'
27
+ f'{colorama.Style.RESET_ALL}')
28
+ SERVER_TOO_OLD_ERROR = (
29
+ f'{colorama.Fore.YELLOW}Your SkyPilot API server version is too old: '
30
+ '{remote_version}\n'
31
+ f'{colorama.Style.RESET_ALL}'
32
+ 'The client is running on {local_version} and the minimum compatible '
33
+ 'version is {min_version}.\n'
34
+ 'Contact your administrator to upgrade the remote API server or downgrade '
35
+ f'your client with:\n{colorama.Fore.YELLOW}'
36
+ '{command}'
37
+ f'{colorama.Style.RESET_ALL}')
38
+
39
+ # SkyPilot dev version.
40
+ DEV_VERSION = '1.0.0-dev0'
41
+
42
+ _REMOTE_TO_ERROR = {
43
+ 'client': CLIENT_TOO_OLD_ERROR,
44
+ 'server': SERVER_TOO_OLD_ERROR,
45
+ }
46
+
47
+ # Context-local (thread or cooroutine) remote API version, captured during
48
+ # communication with the remote peer.
49
+ _remote_api_version: contextvars.ContextVar[Optional[int]] = \
50
+ contextvars.ContextVar('remote_api_version', default=None)
51
+ _remote_version: contextvars.ContextVar[str] = \
52
+ contextvars.ContextVar('remote_version', default='unknown')
53
+ _reminded_for_minor_version_upgrade = False
54
+
55
+
56
+ def get_remote_api_version() -> Optional[int]:
57
+ return _remote_api_version.get()
58
+
59
+
60
+ def set_remote_api_version(api_version: int) -> None:
61
+ _remote_api_version.set(api_version)
62
+
63
+
64
+ def get_remote_version() -> str:
65
+ return _remote_version.get()
66
+
67
+
68
+ def set_remote_version(version: str) -> None:
69
+ _remote_version.set(version)
70
+
71
+
72
+ class VersionInfo(NamedTuple):
73
+ api_version: int
74
+ version: str
75
+ error: Optional[str] = None
76
+
77
+
78
+ def check_compatibility_at_server(
79
+ client_headers: Mapping[str, str]) -> Optional[VersionInfo]:
80
+ """Check API compatibility between client and server."""
81
+ return _check_version_compatibility(client_headers, 'client')
82
+
83
+
84
+ def check_compatibility_at_client(
85
+ server_headers: Mapping[str, str]) -> Optional[VersionInfo]:
86
+ """Check API compatibility between client and server."""
87
+ return _check_version_compatibility(server_headers, 'server')
88
+
89
+
90
+ def _check_version_compatibility(
91
+ remote_headers: Mapping[str, str],
92
+ remote_type: Literal['client', 'server']) -> Optional[VersionInfo]:
93
+ """Check API compatibility between client and server.
94
+
95
+ This function can be called at both client and server side, where the
96
+ headers should contain the version info of the remote.
97
+
98
+ Args:
99
+ remote_headers: The headers of the request/response sent from the
100
+ remote.
101
+ remote_type: The type of the remote, used to determine the error
102
+ message. Valid options are 'client' and 'server'.
103
+
104
+ Returns:
105
+ The version info of the remote, None if the version info is not found
106
+ in the headers for backward compatibility.
107
+ """
108
+ api_version_str = remote_headers.get(constants.API_VERSION_HEADER)
109
+ version = remote_headers.get(constants.VERSION_HEADER)
110
+ if version is None or api_version_str is None:
111
+ return None
112
+ try:
113
+ api_version = int(api_version_str)
114
+ except ValueError:
115
+ # The future change is expected to not break the compatibility of this
116
+ # header, so we are encountering a bug or a malicious request here,
117
+ # just raise an error.
118
+ raise ValueError(
119
+ f'Header {constants.API_VERSION_HEADER}: '
120
+ f'{api_version_str} is not a valid API version.') from None
121
+
122
+ if api_version < constants.MIN_COMPATIBLE_API_VERSION:
123
+ if remote_type == 'server':
124
+ # Hint the user to downgrade to client to the remote server server.
125
+ server_version, server_commit = parse_readable_version(version)
126
+ command = install_version_command(server_version, server_commit)
127
+ else:
128
+ # Hint the client to upgrade to upgrade the server version
129
+ command = install_version_command(sky.__version__, sky.__commit__)
130
+ return VersionInfo(api_version=api_version,
131
+ version=version,
132
+ error=_REMOTE_TO_ERROR[remote_type].format(
133
+ remote_version=version,
134
+ local_version=get_local_readable_version(),
135
+ min_version=constants.MIN_COMPATIBLE_VERSION,
136
+ command=command,
137
+ ))
138
+
139
+ if remote_type == 'server':
140
+ # Only print the reminder at client-side.
141
+ _remind_minor_version_upgrade(version)
142
+
143
+ return VersionInfo(api_version=api_version, version=version)
144
+
145
+
146
+ def get_local_readable_version() -> str:
147
+ """Get the readable version of the SkyPilot code loaded in current process.
148
+
149
+ For dev version, the version is formatted as: 1.0.0-dev0 (commit: 1234567)
150
+ to make it meaningful for users.
151
+ """
152
+ if sky.__version__ == DEV_VERSION:
153
+ return f'{sky.__version__} (commit: {sky.__commit__})'
154
+ else:
155
+ return sky.__version__
156
+
157
+
158
+ def parse_readable_version(version: str) -> Tuple[str, Optional[str]]:
159
+ """Parse a readable produced by get_local_readable_version.
160
+
161
+ Args:
162
+ version: The version string to parse.
163
+
164
+ Returns:
165
+ A tuple of (version, optional_commit) where:
166
+ - version: The base version string (e.g., "1.0.0-dev0")
167
+ - optional_commit: The commit hash if present, None otherwise
168
+ """
169
+ # Check if this is a dev version with commit info
170
+ # Format: "1.0.0-dev0 (commit: 1234567)"
171
+ commit_pattern = r'^(.+) \(commit: ([a-f0-9]+)\)$'
172
+ match = re.match(commit_pattern, version)
173
+
174
+ if match:
175
+ base_version = match.group(1)
176
+ commit = match.group(2)
177
+ return base_version, commit
178
+ else:
179
+ # Regular version without commit info
180
+ return version, None
181
+
182
+
183
+ def install_version_command(version: str, commit: Optional[str] = None) -> str:
184
+ if version == DEV_VERSION:
185
+ if commit is not None:
186
+ return ('pip install git+https://github.com/skypilot-org/skypilot@'
187
+ f'{commit}')
188
+ elif 'dev' in version:
189
+ return f'pip install -U "skypilot-nightly=={version}"'
190
+ return f'pip install -U "skypilot=={version}"'
191
+
192
+
193
+ def _remind_minor_version_upgrade(remote_version: str) -> None:
194
+ """Remind the user to upgrade the CLI/SDK."""
195
+ # Only print the reminder once per process.
196
+ global _reminded_for_minor_version_upgrade
197
+ if _reminded_for_minor_version_upgrade:
198
+ return
199
+ # Skip for dev versions.
200
+ if 'dev' in sky.__version__ or 'dev' in remote_version:
201
+ return
202
+
203
+ # Remove the commit info if any.
204
+ remote_base_version, _ = parse_readable_version(remote_version)
205
+
206
+ # Parse semver for both local and remote versions
207
+ try:
208
+ local = version_lib.parse(sky.__version__)
209
+ remote = version_lib.parse(remote_base_version)
210
+
211
+ # Check if local version is behind remote version, ignore patch version.
212
+ if (local.major, local.minor) < (remote.major, remote.minor):
213
+ logger.warning(
214
+ f'{colorama.Fore.YELLOW}The SkyPilot API server is running in '
215
+ f'version {remote_version}, which is newer than your client '
216
+ f'version {sky.__version__}. The compatibility for your '
217
+ f'current version might be dropped in the next server upgrade.'
218
+ f'\nConsider upgrading your client with:\n'
219
+ f'{install_version_command(remote_version)}'
220
+ f'{colorama.Style.RESET_ALL}')
221
+ _reminded_for_minor_version_upgrade = True
222
+ except version_lib.InvalidVersion:
223
+ # Skip for non-valid semver (probabely a dev version)
224
+ pass
225
+
226
+
227
+ # TODO(aylei): maybe we can use similiar approach to mark a new argument can
228
+ # only be used in the new server version.
229
+ def minimal_api_version(min_version: int) -> Callable:
230
+ """Decorator to enforce a minimum remote API version for an SDK function.
231
+
232
+ New SDK method must be decorated with this decorator to make sure it raises
233
+ an readable error when the remote server is not upgraded.
234
+
235
+ Args:
236
+ min_version: The minimum remote API version required to call the
237
+ function.
238
+
239
+ Returns:
240
+ A decorator function that checks API version before execution.
241
+
242
+ Raises:
243
+ APINotSupportedError: If the remote API version is below the minimum
244
+ required.
245
+ """
246
+
247
+ def decorator(func: Callable) -> Callable:
248
+
249
+ @functools.wraps(func)
250
+ def wrapper(*args, **kwargs):
251
+ remote_api_version = get_remote_api_version()
252
+ if remote_api_version is None:
253
+ return func(*args, **kwargs)
254
+ if remote_api_version < min_version:
255
+ with ux_utils.print_exception_no_traceback():
256
+ hint = 'Please upgrade the remote server.'
257
+ # The client runs in a released version, do better hint.
258
+ if 'dev' not in sky.__version__:
259
+ hint = (
260
+ f'Upgrade the remote server to {sky.__version__} '
261
+ 'and re-run the command.')
262
+ raise exceptions.APINotSupportedError(
263
+ f'Function {func.__name__} is introduced after the '
264
+ f'remote server version {get_remote_version()!r} is '
265
+ f'released. {hint}')
266
+ return func(*args, **kwargs)
267
+
268
+ return wrapper
269
+
270
+ return decorator
@@ -17,4 +17,3 @@ include sky/utils/kubernetes/*
17
17
  include sky/server/html/*
18
18
  recursive-include sky/dashboard/out *
19
19
  include sky/users/*.conf
20
- include sky/metrics/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250702
3
+ Version: 1.0.0.dev20250704
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=zvfkWi3ntfcQgmKXA4dcrMIKftYVQETwn9-qXK8JQqc,6419
1
+ sky/__init__.py,sha256=8LPF74IsNl_AZzy1od36U0W_b93dBkCKW3e5LZWLLKs,6419
2
2
  sky/admin_policy.py,sha256=FMiizgvVTmD9gFA2OUaveXnuY3lbNU-fCbUYAODBZj4,9427
3
3
  sky/authentication.py,sha256=V7zGSV7bqcAKC_EGOOS0KhJ01ZFLnme0WnjLFO7zavs,25603
4
4
  sky/check.py,sha256=R0pFsTq2v-wr3NFePlX9DmDhsbvWEoFJAXsys3pUmT4,30338
@@ -6,7 +6,7 @@ sky/cli.py,sha256=VXIZryeTtJPYpPTBKymVPmuOCyh8knfWrq-qnkr6R-4,178
6
6
  sky/cloud_stores.py,sha256=Ln5GBpel-sEs7rVx7bBrMkfLwA_bctI05Rox2uoz7Lo,26388
7
7
  sky/core.py,sha256=5UbaZ5xamYTajEq4TyiT81Q_cVzqPnMQRXASSz4OcNg,56272
8
8
  sky/dag.py,sha256=5MFXlP43y9U54zxfYGhVyBiWEInoFFlt_zJ7ASJntXw,3889
9
- sky/exceptions.py,sha256=YRPgpFkBRGE9jmG2r3SWJGS9p9-RPP2TZGjfd2VblSc,19044
9
+ sky/exceptions.py,sha256=Vn7VVhyrTaMBTdVxsro325aKSMM4_KRJOghFX31xIVM,19164
10
10
  sky/execution.py,sha256=BhI4paGKpXMhWJoelHFe7LGFbCnW7hl0rIAmdIay-dk,33223
11
11
  sky/global_user_state.py,sha256=8_oKM5l5aey_IadFC6beiilfsbG10J27sqVxnHxFc7A,73040
12
12
  sky/models.py,sha256=Eor-cT4D71QTimogcnJ5ey1G1PXK-OXN-snEtE8Uu_g,3152
@@ -34,7 +34,7 @@ sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
34
34
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
35
35
  sky/backends/__init__.py,sha256=tpa9gAygQopsiBUUuy3wVmr4E05FoPTFHIWqEo4i-u0,627
36
36
  sky/backends/backend.py,sha256=o47WUnB_h2nd_SkV0q0NTJ4vCwk23-KH5DgAm_JpKgE,7739
37
- sky/backends/backend_utils.py,sha256=HFuEwwO28H-V3ytr18rNFMr1ol9sAroG8VeXTgKi9YQ,145088
37
+ sky/backends/backend_utils.py,sha256=1FlFUQbJfwWBs8kaBP4oCH6K7frcLYTewivh3xqJG5I,145117
38
38
  sky/backends/cloud_vm_ray_backend.py,sha256=ILAOxfN4tZJolbmx7Sl1kTaSnd-sZdNTtvZKFbfzDoM,259464
39
39
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
40
40
  sky/backends/local_docker_backend.py,sha256=r80BGJZmAH8F49v6Y_pG3_pHmW5LQEQRusLkKoYoe9Q,17047
@@ -65,7 +65,7 @@ sky/catalog/data_fetchers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
65
65
  sky/catalog/data_fetchers/analyze.py,sha256=ftnrOceREmjimFWBLwhtF2aqOnOZNl6TmYxqD6eIhHY,2069
66
66
  sky/catalog/data_fetchers/fetch_aws.py,sha256=RTkqG2LE2YxRoK4K4p_hq-vA9tsPr9UoWIiNamGyLyI,23406
67
67
  sky/catalog/data_fetchers/fetch_azure.py,sha256=7YVnoGDGGZI2TK02bj_LOoD4E5J5CFl6eqz2XlR4Vy8,12790
68
- sky/catalog/data_fetchers/fetch_cudo.py,sha256=52P48lvWN0s1ArjeLPeLemPRpxjSRcHincRle0nqdm4,3440
68
+ sky/catalog/data_fetchers/fetch_cudo.py,sha256=hmVt7yTQ50EFPhum3rstKdy9cxv2GoxkpDaSRFP7ITc,3635
69
69
  sky/catalog/data_fetchers/fetch_fluidstack.py,sha256=hsqpQi_YUI-qil3zLCEGatrR7BkWzywr4otRdHrd-4k,7350
70
70
  sky/catalog/data_fetchers/fetch_gcp.py,sha256=y3boC2NBLRErLyY12078AS7QWGx9ItrzmFcO17h_VH8,31925
71
71
  sky/catalog/data_fetchers/fetch_hyperbolic.py,sha256=VLBJXWvrKJH5QbMUiREPEMfO3x37_XsqMAmOo7bCQtc,4537
@@ -76,17 +76,17 @@ sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg
76
76
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
77
77
  sky/client/common.py,sha256=E_5cjxd8fWRB7fU1yfIbiyQf-IyVhpD5KkB7Fl3cQEI,15215
78
78
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
79
- sky/client/sdk.py,sha256=uVzzJpsokxAdhLaK4JyMRia1wj6PI5qYpvBSZfnFwqk,91054
79
+ sky/client/sdk.py,sha256=hZ2SLsHItKJOs-t_suVDMxIrvEixr1ZWzDehkOYycSc,91024
80
80
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
81
81
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  sky/client/cli/command.py,sha256=tuK-39aOz9xresShPe4uvGAjn7OgnyxLovnycJUAzaE,217309
83
83
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
84
84
  sky/client/cli/flags.py,sha256=6IdS_G2lB1C6r8kJMzLVREY_qV50VHiSfWlmppVrWuc,11623
85
85
  sky/clouds/__init__.py,sha256=tC9_Vi6GvVceWUi6uZvm7vXzBa0uH3CjRQ-QCYqdJMw,1624
86
- sky/clouds/aws.py,sha256=SDCYjS_4PsICbhnG9a1hf-ufOd8MBQ4ErK7ZKYjYIJM,55189
86
+ sky/clouds/aws.py,sha256=A7ouOPS4vvh4rLbwMLTyAW5aih9d151Fz7KvHfo7b9I,55192
87
87
  sky/clouds/azure.py,sha256=Tm2kl-p736MGL9z-r7HTADneRKEVg-p2Lq3yHVaLAn8,32683
88
88
  sky/clouds/cloud.py,sha256=R4bdXwIWx66GkBeFFRdapZOQTTB7pSFonCRqmVT25_s,38995
89
- sky/clouds/cudo.py,sha256=DvKod2xbCqd7wCXzwC3ePtz9GRLZhCiBl09QJVLWwYg,13643
89
+ sky/clouds/cudo.py,sha256=L657d8oD9XP8upQjWmG8h-MHmhS0C81FEhcwqdbZ6so,13648
90
90
  sky/clouds/do.py,sha256=x1oxaoGL3ioFJFwt3BA1N4seGyetPpV23ENemQLDe2I,11999
91
91
  sky/clouds/fluidstack.py,sha256=FYjTOYXulqUx_nH7iL3CpHTAxMMyFymKIW35LHtuvaM,13054
92
92
  sky/clouds/gcp.py,sha256=lXKymalvUeqS7XcBxZXXFVd1Z6r8TXtMTte7npTqEf8,68326
@@ -108,19 +108,19 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
108
108
  sky/clouds/utils/gcp_utils.py,sha256=ZNupZEBsZS9ZvvzB7vsc6f5y1JUBoRcKE0erso_Y93k,7659
109
109
  sky/clouds/utils/oci_utils.py,sha256=yv_Y9oM5WNCnOofu44aKyOPTZZdKfpFLCx3ewZ2VBFY,7994
110
110
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
111
- sky/dashboard/out/404.html,sha256=yR0gHfhgYY3Nqefhv2EDtn7lda5COkbUnQRPxvSe6Hc,1423
112
- sky/dashboard/out/clusters.html,sha256=Vq_CaBEdMFrpWSbWqYmV2EwY8g_iLuoYkhrzp-kI1Kk,1418
113
- sky/dashboard/out/config.html,sha256=Wv9UMBqjMGRJajReNMUGFbZrWKqVres0MaIfHl0DODI,1414
111
+ sky/dashboard/out/404.html,sha256=yNzQQsN9o6oyq0e-av29_xLDT1r1OTML7o9TWGuS0m0,1423
112
+ sky/dashboard/out/clusters.html,sha256=0rJ4h7PP3KGRHOrmAGPP7lvXuJVkLpIkiHRGxQZFY_4,1418
113
+ sky/dashboard/out/config.html,sha256=rKr2CZvuJm1U2NFfNiEvNCka0yJB2d_V_JHcTVA2Iik,1414
114
114
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
115
- sky/dashboard/out/index.html,sha256=bujiqQK9MkGC81TpTKRt8HclBSHsKVHBuApms6EgoBA,1407
116
- sky/dashboard/out/infra.html,sha256=x8KQCNDphnAehxphBuQdEawNUbqefSO_d7pJ-JdZCP8,1412
117
- sky/dashboard/out/jobs.html,sha256=_Y5_dDzlB7jt8M0B5y2U5gi2Ngx_O5ZAHKYmqvr-xCc,1410
115
+ sky/dashboard/out/index.html,sha256=Euf9Dw7IjOxchHvRWdFygR8SkMsn0QpcVeC4iFG2kiI,1407
116
+ sky/dashboard/out/infra.html,sha256=Ppikha45vtEboyLPM2frMRSlXN5JUQ9VZp_yiGYP1MQ,1412
117
+ sky/dashboard/out/jobs.html,sha256=aziBpqaL9ghltymq6J8WslEaFg78f90tmdaAMLd5GL0,1410
118
118
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
119
- sky/dashboard/out/users.html,sha256=qrUKhocHSDU1LRg4N25-EkuXY3rVWk_7uup5SCM1gbA,1412
120
- sky/dashboard/out/volumes.html,sha256=Ji2EKpMhKqwVq7Fjc8S9rubatOnowkdpgaetmHMh82E,1416
121
- sky/dashboard/out/workspaces.html,sha256=HR2tiOtj5PX3aIgJw8W3Ju2Gg2P8b9p_r86f1wwCRLw,1422
122
- sky/dashboard/out/_next/static/N5IdFnjR1RaPGBAVYeTIr/_buildManifest.js,sha256=SMKLljkiS_9UQoF0v1MyY_ziwbXl8KnBBlwCuTRc3V8,2235
123
- sky/dashboard/out/_next/static/N5IdFnjR1RaPGBAVYeTIr/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
119
+ sky/dashboard/out/users.html,sha256=QF18NuylmTUhFshF7ArVA6vE2pLFymlclX0D6CHgJJw,1412
120
+ sky/dashboard/out/volumes.html,sha256=OOjj7wqNfoNem-U7_NzW-pmrZ5qj_71lx0bmG6z_f68,1416
121
+ sky/dashboard/out/workspaces.html,sha256=VRpJVIhkZw5z8iLNZO9sJP3QbXWDwMhLDonxy5L4w3Q,1422
122
+ sky/dashboard/out/_next/static/6TieQqyqsJiaJC33q0FfI/_buildManifest.js,sha256=SMKLljkiS_9UQoF0v1MyY_ziwbXl8KnBBlwCuTRc3V8,2235
123
+ sky/dashboard/out/_next/static/6TieQqyqsJiaJC33q0FfI/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
124
124
  sky/dashboard/out/_next/static/chunks/1043-1b39779691bb4030.js,sha256=k8-hHIedPKi22M0wZwGOdWZ_S-H0jVnepFwm7i9_zg4,18192
125
125
  sky/dashboard/out/_next/static/chunks/1141-726e5a3f00b67185.js,sha256=lEAVPk_18NZpZuPrGx1Xy9VWqE_5n3JuqWbIPS1_ZMw,17823
126
126
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
@@ -174,13 +174,13 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-c4d5cfac7fbc0668.js,sha25
174
174
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js,sha256=K9tqKHcB2kiSHTAddLaM2oL1PzmqZNTdLDOuNzCaJNM,765
175
175
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-7c0187f43757a548.js,sha256=FsoenC6VRkPLE29KkLd4nlSq2qociH4zFexYMxgetOM,1530
176
176
  sky/dashboard/out/_next/static/css/0da6afe66176678a.css,sha256=I8b7x4ULdoXHkgk0BsNa0D6k2UYoA2mEhq7H1G_tVQE,44869
177
- sky/dashboard/out/clusters/[cluster].html,sha256=qYiMQO245xkWrOAYe11EfaLrWj84EbxuSdiZe8Iua0w,2847
178
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=8_YZlQl4GTSVr0CNJAZo4KAHptEmECn4uPx-g04_nEU,2160
179
- sky/dashboard/out/infra/[context].html,sha256=3v2yCWMr3JQ3d-tTHh6Etia72wZTniMtPkzvG-S0xGI,1436
180
- sky/dashboard/out/jobs/[job].html,sha256=lhlOnKyLEBpx6URDwI24qtk4xUwUsapdX_OXextT5Aw,2304
177
+ sky/dashboard/out/clusters/[cluster].html,sha256=lxJjYd3ccjhdhqCoJbdqxqQJb-J9nW7hOhGHg1Cad0w,2847
178
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=3dpg96pStIpsO21nEAh0mQvjCrHmrsOmoq7u1xXf1Vo,2160
179
+ sky/dashboard/out/infra/[context].html,sha256=zB4Y-_FgAUCUZ-_TUvxXxNqdXjDbvJmWNZT9F-OlaWI,1436
180
+ sky/dashboard/out/jobs/[job].html,sha256=ZBj9RP-fE-lNYtoqg2LK4BJua_0zlOhq0Fw-WmqFFqM,2304
181
181
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
182
- sky/dashboard/out/workspace/new.html,sha256=iauAVpCteFD0PZ4jV8M44Qj_zL5VUu6n3BSHcQ60kT0,1428
183
- sky/dashboard/out/workspaces/[name].html,sha256=NEluCe56SZiw_t6lbftdgqVNNsAqGfWpi5SA5x_USXg,2845
182
+ sky/dashboard/out/workspace/new.html,sha256=XSCLSV2bZqtbyD-eqS7mRyLOhLBpucznrYXxdx2tEyI,1428
183
+ sky/dashboard/out/workspaces/[name].html,sha256=M0x3-_wm2L2VSRSY-0SzCHkSpMjZLbuTUw1Ln3d1kK0,2845
184
184
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
185
185
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
186
186
  sky/data/data_utils.py,sha256=CNYPM963qby5ddW0DZNbhiWXkqgB9MHh_jrC5DoBctM,33437
@@ -195,13 +195,14 @@ sky/jobs/scheduler.py,sha256=b3RAjEzCXyoikh_BcmmGjoZ9ZeXr-tBnXoLFctt95ko,14375
195
195
  sky/jobs/state.py,sha256=HHERdEhuJ3QHMu5dvY2mHVJgtHzIkAI6F1Cv2Iz3Hvw,65516
196
196
  sky/jobs/utils.py,sha256=gfW4smCWWMmE4OwIbEqI5j5gVh5Gvfs6paqKQR2Tia8,70920
197
197
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
- sky/jobs/client/sdk.py,sha256=0ZDm5h1kqPYXvsgiXBhbsXj9jfKW7GHH_VtQbSQjmCw,11068
198
+ sky/jobs/client/sdk.py,sha256=Nw7bP8pJ-uLIi14kMekEtmzqPmdIiN-CbhoNCJlHA7s,11340
199
199
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
200
- sky/jobs/server/core.py,sha256=SioPzD6O0OO-_mg0vA-ND3d_4SPsMs5W9eStMtwfp_U,31405
200
+ sky/jobs/server/core.py,sha256=U9vkOAcg381yh_te-ZTXxDgQ1CrxAVzOx9dUkzXuELo,31992
201
201
  sky/jobs/server/server.py,sha256=ae8JAs-2ipWqL_GsA3x8T2mY-OJLc3ioWg_CfRzCUIY,4011
202
202
  sky/logs/__init__.py,sha256=0ybWMfXcpAzh8dtDnJwpfovNIk0zJRJvzdISqFdKmdE,549
203
203
  sky/logs/agent.py,sha256=tv0C40_FauZpvU93Ro_mC23LnaXWhSTjqch1JQMXiqw,2771
204
204
  sky/logs/gcp.py,sha256=eKVEcHO3FJRg_YTcE9omE8uAIF6AdBWWpkEPqWFAqXg,3857
205
+ sky/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
206
  sky/metrics/utils.py,sha256=Cww3yNG4HyW4DEdLOFUayFgMZ16t2JFSvvhuTTV7Vio,7654
206
207
  sky/provision/__init__.py,sha256=bADZkpZdy7QxIc7WDkh-X5cd3Uv64wy2K7IB9Xpw348,7554
207
208
  sky/provision/common.py,sha256=LdjM9SL9NDtsARom12tVv_WoUNL3PTlU5RoLfeWGGgM,10807
@@ -222,8 +223,8 @@ sky/provision/azure/instance.py,sha256=BQ4stZl_m76iULPY_TFEN4WDwNPWI1jmw-LswxxqX
222
223
  sky/provision/cudo/__init__.py,sha256=KAEl26MVPsk7IoP9Gg-MOJJRIV6-X9B0fbyHdyJWdLo,741
223
224
  sky/provision/cudo/config.py,sha256=RYOVkV0MoUqVBJRZiKhBZhjFygeyFs7eUdVMdPg1vds,327
224
225
  sky/provision/cudo/cudo_machine_type.py,sha256=Bo2z4DyIvCFe98kYD8itTADx6MG7tn8ny8Jbh6QYbGg,681
225
- sky/provision/cudo/cudo_utils.py,sha256=fIwRpCSOXOyIcCLh-kGMdfl-ACTXdTwyHf6o27rMA6Y,1730
226
- sky/provision/cudo/cudo_wrapper.py,sha256=WgtA1-ZMytR7tG7UFOH93hSvSAqDWymwWxQREspbZAQ,4678
226
+ sky/provision/cudo/cudo_utils.py,sha256=GFwSEf_LXN7Dh37m5UOLs6wXEJqF8kGI2-ys35L4rl8,1883
227
+ sky/provision/cudo/cudo_wrapper.py,sha256=JG9s8_qh8IR8E-D_x4Mokyv7ZJzSky38sbcD3pnyzss,4919
227
228
  sky/provision/cudo/instance.py,sha256=C2tl48PtQWz0irDWiSNoqWu8YcrDqQrucau0KGUFFxg,8828
228
229
  sky/provision/do/__init__.py,sha256=VAhSO9F9FDAjvEuCDlRPueB-TTA3XHR61vVXyUe85z0,518
229
230
  sky/provision/do/config.py,sha256=WWFz6kZLKrUHoJoKRzHGY8ck_ieQiBrMWDb5JP6rWUk,387
@@ -320,31 +321,32 @@ sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
320
321
  sky/serve/server/core.py,sha256=zKvDnq6W9CftH5ljmNMdTDGsLO3mzbFgrMBMCSua4dM,41662
321
322
  sky/serve/server/server.py,sha256=A9K37a0nQgZeN3eKWv62Oh2C5TSAReTZ9pHmztqlI-c,4396
322
323
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
323
- sky/server/common.py,sha256=LKZPf-jaNxIMCG_bFetFcq3g8xB4MSOBuUzjEB1xQEI,36028
324
+ sky/server/common.py,sha256=u7hV5oGdCj5GfCxpNmLd6yl0B1mlh11FMFIR5ZoW5pA,34492
324
325
  sky/server/config.py,sha256=XWf5Kw4am6vMO5wcyWevbQAFH-dmKb7AMEgDzD083-M,8538
325
- sky/server/constants.py,sha256=15r9CGX4yo62BeRLSfyrVaKd5fqeu_8GBS_JqyeXSfk,1431
326
+ sky/server/constants.py,sha256=v6RP8ZEwCNsxO2s2IukgOcEldZO5bvcQaxmOTA0Cf0g,2321
326
327
  sky/server/metrics.py,sha256=aVRaSwpBVXE9dXIVd9bNsSigKM4bkqNq0eTpP0Noyo8,3657
327
- sky/server/rest.py,sha256=3xOQXsQ_r9XBcUOhQbf-Wk0UXx0XrAmzQ6JSqLr6nJ0,5430
328
- sky/server/server.py,sha256=OOg8ZvF4NAbo-qwwD0B6ZlUibcR2kaHSrTsoCoRrTp8,70703
328
+ sky/server/rest.py,sha256=elMpi-cS301OqTwmFZb7fWYXr1vdJ28YT1zIDH1IpBk,5968
329
+ sky/server/server.py,sha256=Zv9WgfGfg9dnGQaEfA5mxsua9x3vp067TvCiCxHDIKA,72833
329
330
  sky/server/state.py,sha256=YbVOMJ1JipQQv17gLIGyiGN7MKfnP83qlUa5MB1z0Yk,747
330
331
  sky/server/stream_utils.py,sha256=RS4RuMxQqTGqp3uxzZVtmFWzos4d49P7hMX_VklzEVU,9189
331
332
  sky/server/uvicorn.py,sha256=3mdSUbc8zHRYAbZZLkfPB6U9VXD_t2jDM1BMjpTx1Mo,9014
333
+ sky/server/versions.py,sha256=3atZzUa7y1XeKNcrfVxKWAo_5ZyCOnbY7DKpIqed7Do,10011
332
334
  sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
333
335
  sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFzlc,7046
334
336
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
337
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
336
338
  sky/server/requests/executor.py,sha256=v_ae2H9GGMiwxbVT9h0J2fUOSjqIs3F9lKbMtrzb1-k,26476
337
- sky/server/requests/payloads.py,sha256=12UdUnAprNc8DmhbeLjL-HhAxXPGTsk_Qzd3iDzAdBY,21498
339
+ sky/server/requests/payloads.py,sha256=P4Qv8fWQD6Xz7hP-dMvsA63SpPbWjYespgO5-ch2wik,23334
338
340
  sky/server/requests/preconditions.py,sha256=uUQjzFFHf7O5-WvBypMzqViGmd1CXksbqrrDPmY_s_Y,7178
339
341
  sky/server/requests/process.py,sha256=I0ToOcF_cMJi5TfZMJOn9rDmJYewQOV07Pnetzqj2IU,10805
340
- sky/server/requests/requests.py,sha256=bz2TTgynYz1ip93SBf4_vFLVHc-WtuNpQ1Tnd3gQHZs,25625
342
+ sky/server/requests/requests.py,sha256=AT4nJKCa2I13rVhZq929hMtZF5-So7w-gp9E_Ld60Xk,25193
341
343
  sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
342
344
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
343
345
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
344
346
  sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
345
347
  sky/server/requests/serializers/decoders.py,sha256=qphN79pRAaaitCbcsZIrslphgZn1iYndl6JnmergEe4,6361
346
348
  sky/server/requests/serializers/encoders.py,sha256=4bQV5yTg8RTPT_HkRyQpjaBY_uUvBJ4NH189W0-6Pi0,5578
347
- sky/setup_files/MANIFEST.in,sha256=9osXc1PANaHXqD1MVrZIf-koWCiU4GUUL7NBe-0y5oY,666
349
+ sky/setup_files/MANIFEST.in,sha256=BzWGsYZz9fO40HN1Uxm1Ca4pn1FkKn3lcoY1B9-YRiA,644
348
350
  sky/setup_files/dependencies.py,sha256=OY4-KzEp2MObl4vTUUFD_UVXXb4IYFl51_O4iZny8Jg,7127
349
351
  sky/setup_files/setup.py,sha256=GTXvAi65S4_TSLhQ1GzkmaWf_yzciHiaxMbZumcTtKU,7522
350
352
  sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
@@ -477,9 +479,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
477
479
  sky/workspaces/core.py,sha256=MkQoVqWN67tf4VRq284U9vgAw4lwb_cpUfwHQT4V9Ow,16598
478
480
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
479
481
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
480
- skypilot_nightly-1.0.0.dev20250702.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
481
- skypilot_nightly-1.0.0.dev20250702.dist-info/METADATA,sha256=a-sgt0ERBnbGvrYW3np8kpboo3h4MD6ygJxyhxA1HYk,18908
482
- skypilot_nightly-1.0.0.dev20250702.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
483
- skypilot_nightly-1.0.0.dev20250702.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
484
- skypilot_nightly-1.0.0.dev20250702.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
485
- skypilot_nightly-1.0.0.dev20250702.dist-info/RECORD,,
482
+ skypilot_nightly-1.0.0.dev20250704.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
483
+ skypilot_nightly-1.0.0.dev20250704.dist-info/METADATA,sha256=IhXJKqXPO1QKORMRMFI0hQidarSR6N7yvDbv43VHvFI,18908
484
+ skypilot_nightly-1.0.0.dev20250704.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
485
+ skypilot_nightly-1.0.0.dev20250704.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
486
+ skypilot_nightly-1.0.0.dev20250704.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
487
+ skypilot_nightly-1.0.0.dev20250704.dist-info/RECORD,,