skypilot-nightly 1.0.0.dev20250223__py3-none-any.whl → 1.0.0.dev20250224__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sky/__init__.py +2 -2
- sky/cli.py +1 -0
- sky/client/cli.py +1 -0
- sky/jobs/server/server.py +2 -1
- sky/server/common.py +10 -5
- sky/server/requests/executor.py +3 -1
- sky/server/requests/payloads.py +5 -1
- sky/server/server.py +5 -0
- sky/usage/usage_lib.py +23 -16
- sky/utils/common_utils.py +19 -3
- {skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/METADATA +1 -1
- {skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/RECORD +16 -16
- {skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/top_level.txt +0 -0
sky/__init__.py
CHANGED
@@ -5,7 +5,7 @@ from typing import Optional
|
|
5
5
|
import urllib.request
|
6
6
|
|
7
7
|
# Replaced with the current commit when building the wheels.
|
8
|
-
_SKYPILOT_COMMIT_SHA = '
|
8
|
+
_SKYPILOT_COMMIT_SHA = '73e95ab79bf75923963a93733e54c100d0567e02'
|
9
9
|
|
10
10
|
|
11
11
|
def _get_git_commit():
|
@@ -35,7 +35,7 @@ def _get_git_commit():
|
|
35
35
|
|
36
36
|
|
37
37
|
__commit__ = _get_git_commit()
|
38
|
-
__version__ = '1.0.0.
|
38
|
+
__version__ = '1.0.0.dev20250224'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
sky/cli.py
CHANGED
@@ -4585,6 +4585,7 @@ def serve_status(verbose: bool, endpoint: bool, service_names: List[str]):
|
|
4585
4585
|
type=int,
|
4586
4586
|
help='Tear down a given replica')
|
4587
4587
|
@_add_click_options(_COMMON_OPTIONS)
|
4588
|
+
@usage_lib.entrypoint
|
4588
4589
|
# pylint: disable=redefined-builtin
|
4589
4590
|
def serve_down(
|
4590
4591
|
service_names: List[str],
|
sky/client/cli.py
CHANGED
@@ -4585,6 +4585,7 @@ def serve_status(verbose: bool, endpoint: bool, service_names: List[str]):
|
|
4585
4585
|
type=int,
|
4586
4586
|
help='Tear down a given replica')
|
4587
4587
|
@_add_click_options(_COMMON_OPTIONS)
|
4588
|
+
@usage_lib.entrypoint
|
4588
4589
|
# pylint: disable=redefined-builtin
|
4589
4590
|
def serve_down(
|
4590
4591
|
service_names: List[str],
|
sky/jobs/server/server.py
CHANGED
@@ -115,7 +115,8 @@ async def dashboard(request: fastapi.Request,
|
|
115
115
|
# Find the port for the dashboard of the user
|
116
116
|
os.environ[constants.USER_ID_ENV_VAR] = user_hash
|
117
117
|
server_common.reload_for_new_request(client_entrypoint=None,
|
118
|
-
client_command=None
|
118
|
+
client_command=None,
|
119
|
+
using_remote_api_server=False)
|
119
120
|
logger.info(f'Starting dashboard for user hash: {user_hash}')
|
120
121
|
|
121
122
|
with dashboard_utils.get_dashboard_lock_for_user(user_hash):
|
sky/server/common.py
CHANGED
@@ -400,20 +400,25 @@ def request_body_to_params(body: pydantic.BaseModel) -> Dict[str, Any]:
|
|
400
400
|
|
401
401
|
|
402
402
|
def reload_for_new_request(client_entrypoint: Optional[str],
|
403
|
-
client_command: Optional[str]
|
403
|
+
client_command: Optional[str],
|
404
|
+
using_remote_api_server: bool):
|
404
405
|
"""Reload modules, global variables, and usage message for a new request."""
|
405
406
|
# Reset the client entrypoint and command for the usage message.
|
406
|
-
common_utils.
|
407
|
+
common_utils.set_client_status(
|
407
408
|
client_entrypoint=client_entrypoint,
|
408
409
|
client_command=client_command,
|
410
|
+
using_remote_api_server=using_remote_api_server,
|
409
411
|
)
|
410
|
-
# We need to reset usage message, so that the message is up-to-date with the
|
411
|
-
# latest information in the context, e.g. client entrypoint and run id.
|
412
|
-
usage_lib.messages.reset(usage_lib.MessageType.USAGE)
|
413
412
|
|
413
|
+
# Clear cache should be called before reload_logger and usage reset,
|
414
|
+
# otherwise, the latest env var will not be used.
|
414
415
|
for func in annotations.FUNCTIONS_NEED_RELOAD_CACHE:
|
415
416
|
func.cache_clear()
|
416
417
|
|
418
|
+
# We need to reset usage message, so that the message is up-to-date with the
|
419
|
+
# latest information in the context, e.g. client entrypoint and run id.
|
420
|
+
usage_lib.messages.reset(usage_lib.MessageType.USAGE)
|
421
|
+
|
417
422
|
# Make sure the logger takes the new environment variables. This is
|
418
423
|
# necessary because the logger is initialized before the environment
|
419
424
|
# variables are set, such as SKYPILOT_DEBUG.
|
sky/server/requests/executor.py
CHANGED
@@ -178,7 +178,8 @@ def override_request_env_and_config(
|
|
178
178
|
os.environ['CLICOLOR_FORCE'] = '1'
|
179
179
|
server_common.reload_for_new_request(
|
180
180
|
client_entrypoint=request_body.entrypoint,
|
181
|
-
client_command=request_body.entrypoint_command
|
181
|
+
client_command=request_body.entrypoint_command,
|
182
|
+
using_remote_api_server=request_body.using_remote_api_server)
|
182
183
|
try:
|
183
184
|
with skypilot_config.override_skypilot_config(
|
184
185
|
request_body.override_skypilot_config):
|
@@ -255,6 +256,7 @@ def _request_execution_wrapper(request_id: str,
|
|
255
256
|
try:
|
256
257
|
with override_request_env_and_config(request_body):
|
257
258
|
return_value = func(**request_body.to_kwargs())
|
259
|
+
f.flush()
|
258
260
|
except KeyboardInterrupt:
|
259
261
|
logger.info(f'Request {request_id} cancelled by user')
|
260
262
|
_restore_output(original_stdout, original_stderr)
|
sky/server/requests/payloads.py
CHANGED
@@ -37,7 +37,7 @@ def request_body_env_vars() -> dict:
|
|
37
37
|
env_vars[constants.USER_ENV_VAR] = os.getenv(constants.USER_ENV_VAR,
|
38
38
|
getpass.getuser())
|
39
39
|
env_vars[
|
40
|
-
usage_constants.USAGE_RUN_ID_ENV_VAR] =
|
40
|
+
usage_constants.USAGE_RUN_ID_ENV_VAR] = usage_lib.messages.usage.run_id
|
41
41
|
# Remove the path to config file, as the config content is included in the
|
42
42
|
# request body and will be merged with the config on the server side.
|
43
43
|
env_vars.pop(skypilot_config.ENV_VAR_SKYPILOT_CONFIG, None)
|
@@ -70,6 +70,7 @@ class RequestBody(pydantic.BaseModel):
|
|
70
70
|
env_vars: Dict[str, str] = {}
|
71
71
|
entrypoint: str = ''
|
72
72
|
entrypoint_command: str = ''
|
73
|
+
using_remote_api_server: bool = False
|
73
74
|
override_skypilot_config: Optional[Dict[str, Any]] = {}
|
74
75
|
|
75
76
|
def __init__(self, **data):
|
@@ -80,6 +81,8 @@ class RequestBody(pydantic.BaseModel):
|
|
80
81
|
data['entrypoint'] = data.get('entrypoint', usage_lib_entrypoint)
|
81
82
|
data['entrypoint_command'] = data.get(
|
82
83
|
'entrypoint_command', common_utils.get_pretty_entrypoint_cmd())
|
84
|
+
data['using_remote_api_server'] = data.get(
|
85
|
+
'using_remote_api_server', not common.is_api_server_local())
|
83
86
|
data['override_skypilot_config'] = data.get(
|
84
87
|
'override_skypilot_config',
|
85
88
|
get_override_skypilot_config_from_client())
|
@@ -95,6 +98,7 @@ class RequestBody(pydantic.BaseModel):
|
|
95
98
|
kwargs.pop('env_vars')
|
96
99
|
kwargs.pop('entrypoint')
|
97
100
|
kwargs.pop('entrypoint_command')
|
101
|
+
kwargs.pop('using_remote_api_server')
|
98
102
|
kwargs.pop('override_skypilot_config')
|
99
103
|
return kwargs
|
100
104
|
|
sky/server/server.py
CHANGED
@@ -41,6 +41,7 @@ from sky.server.requests import executor
|
|
41
41
|
from sky.server.requests import payloads
|
42
42
|
from sky.server.requests import requests as requests_lib
|
43
43
|
from sky.skylet import constants
|
44
|
+
from sky.usage import usage_lib
|
44
45
|
from sky.utils import common as common_lib
|
45
46
|
from sky.utils import common_utils
|
46
47
|
from sky.utils import dag_utils
|
@@ -1076,6 +1077,10 @@ if __name__ == '__main__':
|
|
1076
1077
|
parser.add_argument('--port', default=46580, type=int)
|
1077
1078
|
parser.add_argument('--deploy', action='store_true')
|
1078
1079
|
cmd_args = parser.parse_args()
|
1080
|
+
# Show the privacy policy if it is not already shown. We place it here so
|
1081
|
+
# that it is shown only when the API server is started.
|
1082
|
+
usage_lib.maybe_show_privacy_policy()
|
1083
|
+
|
1079
1084
|
num_workers = None
|
1080
1085
|
if cmd_args.deploy:
|
1081
1086
|
num_workers = os.cpu_count()
|
sky/usage/usage_lib.py
CHANGED
@@ -10,8 +10,6 @@ import traceback
|
|
10
10
|
import typing
|
11
11
|
from typing import Any, Callable, Dict, List, Optional, Union
|
12
12
|
|
13
|
-
import click
|
14
|
-
|
15
13
|
import sky
|
16
14
|
from sky import sky_logging
|
17
15
|
from sky.adaptors import common as adaptors_common
|
@@ -167,6 +165,10 @@ class UsageMessageToReport(MessageToReport):
|
|
167
165
|
self.exception: Optional[str] = None # entrypoint_context
|
168
166
|
self.stacktrace: Optional[str] = None # entrypoint_context
|
169
167
|
|
168
|
+
# Whether API server is deployed remotely.
|
169
|
+
self.using_remote_api_server: bool = (
|
170
|
+
common_utils.get_using_remote_api_server())
|
171
|
+
|
170
172
|
def update_entrypoint(self, msg: str):
|
171
173
|
if self.client_entrypoint is None:
|
172
174
|
self.client_entrypoint = common_utils.get_current_client_entrypoint(
|
@@ -215,9 +217,11 @@ class UsageMessageToReport(MessageToReport):
|
|
215
217
|
def update_ray_yaml(self, yaml_config_or_path: Union[Dict, str]):
|
216
218
|
if self.ray_yamls is None:
|
217
219
|
self.ray_yamls = []
|
218
|
-
self.
|
219
|
-
|
220
|
-
|
220
|
+
if self.num_tried_regions is None:
|
221
|
+
self.num_tried_regions = 0
|
222
|
+
# Only keep the latest ray yaml to reduce the size of the message.
|
223
|
+
self.ray_yamls = prepare_json_from_yaml_config(yaml_config_or_path)
|
224
|
+
self.num_tried_regions += 1
|
221
225
|
|
222
226
|
def update_cluster_name(self, cluster_name: Union[List[str], str]):
|
223
227
|
if isinstance(cluster_name, str):
|
@@ -465,6 +469,20 @@ def send_heartbeat(interval_seconds: int = 600):
|
|
465
469
|
_send_to_loki(MessageType.HEARTBEAT)
|
466
470
|
|
467
471
|
|
472
|
+
def maybe_show_privacy_policy():
|
473
|
+
"""Show the privacy policy if it is not already shown."""
|
474
|
+
# Show the policy message only when the entrypoint is used.
|
475
|
+
# An indicator for PRIVACY_POLICY has already been shown.
|
476
|
+
privacy_policy_indicator = os.path.expanduser(constants.PRIVACY_POLICY_PATH)
|
477
|
+
if not env_options.Options.DISABLE_LOGGING.get():
|
478
|
+
os.makedirs(os.path.dirname(privacy_policy_indicator), exist_ok=True)
|
479
|
+
try:
|
480
|
+
with open(privacy_policy_indicator, 'x', encoding='utf-8'):
|
481
|
+
logger.info(constants.USAGE_POLICY_MESSAGE)
|
482
|
+
except FileExistsError:
|
483
|
+
pass
|
484
|
+
|
485
|
+
|
468
486
|
@contextlib.contextmanager
|
469
487
|
def entrypoint_context(name: str, fallback: bool = False):
|
470
488
|
"""Context manager for entrypoint.
|
@@ -476,17 +494,6 @@ def entrypoint_context(name: str, fallback: bool = False):
|
|
476
494
|
additional entrypoint_context with fallback=True can be used to wrap
|
477
495
|
the global entrypoint to catch any exceptions that are not caught.
|
478
496
|
"""
|
479
|
-
# Show the policy message only when the entrypoint is used.
|
480
|
-
# An indicator for PRIVACY_POLICY has already been shown.
|
481
|
-
privacy_policy_indicator = os.path.expanduser(constants.PRIVACY_POLICY_PATH)
|
482
|
-
if not env_options.Options.DISABLE_LOGGING.get():
|
483
|
-
os.makedirs(os.path.dirname(privacy_policy_indicator), exist_ok=True)
|
484
|
-
try:
|
485
|
-
with open(privacy_policy_indicator, 'x', encoding='utf-8'):
|
486
|
-
click.secho(constants.USAGE_POLICY_MESSAGE, fg='yellow')
|
487
|
-
except FileExistsError:
|
488
|
-
pass
|
489
|
-
|
490
497
|
is_entry = messages.usage.entrypoint is None
|
491
498
|
if is_entry and not fallback:
|
492
499
|
for message in messages.values():
|
sky/utils/common_utils.py
CHANGED
@@ -247,18 +247,23 @@ class Backoff:
|
|
247
247
|
|
248
248
|
_current_command: Optional[str] = None
|
249
249
|
_current_client_entrypoint: Optional[str] = None
|
250
|
+
_using_remote_api_server: Optional[bool] = None
|
250
251
|
|
251
252
|
|
252
|
-
def
|
253
|
-
|
253
|
+
def set_client_status(client_entrypoint: Optional[str],
|
254
|
+
client_command: Optional[str],
|
255
|
+
using_remote_api_server: bool):
|
254
256
|
"""Override the current client entrypoint and command.
|
255
257
|
|
256
258
|
This is useful when we are on the SkyPilot API server side and we have a
|
257
259
|
client entrypoint and command from the client.
|
258
260
|
"""
|
259
|
-
global _current_command
|
261
|
+
global _current_command
|
262
|
+
global _current_client_entrypoint
|
263
|
+
global _using_remote_api_server
|
260
264
|
_current_command = client_command
|
261
265
|
_current_client_entrypoint = client_entrypoint
|
266
|
+
_using_remote_api_server = using_remote_api_server
|
262
267
|
|
263
268
|
|
264
269
|
def get_current_command() -> str:
|
@@ -284,6 +289,17 @@ def get_current_client_entrypoint(server_entrypoint: str) -> str:
|
|
284
289
|
return server_entrypoint
|
285
290
|
|
286
291
|
|
292
|
+
def get_using_remote_api_server() -> bool:
|
293
|
+
"""Returns whether the API server is remote."""
|
294
|
+
if _using_remote_api_server is not None:
|
295
|
+
return _using_remote_api_server
|
296
|
+
# This gets the right status for the local client.
|
297
|
+
# TODO(zhwu): This is to prevent circular import. We should refactor this.
|
298
|
+
# pylint: disable=import-outside-toplevel
|
299
|
+
from sky.server import common as server_common
|
300
|
+
return not server_common.is_api_server_local()
|
301
|
+
|
302
|
+
|
287
303
|
def get_pretty_entrypoint_cmd() -> str:
|
288
304
|
"""Returns the prettified entry point of this process (sys.argv).
|
289
305
|
|
{skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/RECORD
RENAMED
@@ -1,8 +1,8 @@
|
|
1
|
-
sky/__init__.py,sha256=
|
1
|
+
sky/__init__.py,sha256=8zed0-GYhvWXZwZFaUANPausBHOuBBm3jZpWo9MJsmE,6428
|
2
2
|
sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
|
3
3
|
sky/authentication.py,sha256=hCEqi77nprQEg3ktfRL51xiiw16zwZOmFEDB_Z7fWVU,22384
|
4
4
|
sky/check.py,sha256=NDKx_Zm7YRxPjMv82wz3ESLnGIPljaACyqVdVNM0PzY,11258
|
5
|
-
sky/cli.py,sha256=
|
5
|
+
sky/cli.py,sha256=wTej1bo7hZ-qWfjd1Fn392dLU53Jph7cl0ZnCKD_Nio,218235
|
6
6
|
sky/cloud_stores.py,sha256=-95XIqi_ouo7hvoN5mQNP6bGm07MyF6Yk-YP4Txb5wg,24034
|
7
7
|
sky/core.py,sha256=X83hdpPTiWyEJLamrguCd03PUjkRiGgqTFfEBEQkzWc,45471
|
8
8
|
sky/dag.py,sha256=Yl7Ry26Vql5cv4YMz8g9kOUgtoCihJnw7c8NgZYakMY,3242
|
@@ -43,7 +43,7 @@ sky/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
sky/benchmark/benchmark_state.py,sha256=X8CXmuU9KgsDRhKedhFgjeRMUFWtQsjFs1qECvPG2yg,8723
|
44
44
|
sky/benchmark/benchmark_utils.py,sha256=o4RymqSceq5mLEZL0upQM6NVEzJJQzj9s9tTm49uUTc,26365
|
45
45
|
sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
|
46
|
-
sky/client/cli.py,sha256=
|
46
|
+
sky/client/cli.py,sha256=wTej1bo7hZ-qWfjd1Fn392dLU53Jph7cl0ZnCKD_Nio,218235
|
47
47
|
sky/client/common.py,sha256=axDic7WOG1e78SdFm5XIwdhX7YNvf3g4k7INrsW3X4s,14611
|
48
48
|
sky/client/sdk.py,sha256=U4v8Khu1lf1oUoBuJUhIFnjsFhYM9x8XcKsnVRMtihI,66990
|
49
49
|
sky/clouds/__init__.py,sha256=OW6mJ-9hpJSBORCgt2LippLQEYZHNfnBW1mooRNNvxo,1416
|
@@ -121,7 +121,7 @@ sky/jobs/dashboard/templates/index.html,sha256=tz95q8O2pF7IvfY6yv0rnPyhj4DX8WX4R
|
|
121
121
|
sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
122
122
|
sky/jobs/server/core.py,sha256=r9wrwVHrmuqgYAMoEEp4UfCLw8eYaD2RHGIBViHy9cc,23985
|
123
123
|
sky/jobs/server/dashboard_utils.py,sha256=2Mbx40W1pQqPEPHsSDbHeaF0j5cgyKy-_A9Owdwp_AQ,2315
|
124
|
-
sky/jobs/server/server.py,sha256=
|
124
|
+
sky/jobs/server/server.py,sha256=XvAwFE6pROoffrC3RZ8IwYoMDguCoGurNVqjncFRJTU,7483
|
125
125
|
sky/provision/__init__.py,sha256=LzOo5LjkRXwSf29dUqN14YbjzQu3liXLQcmweTeZ4dE,6457
|
126
126
|
sky/provision/common.py,sha256=E8AlSUFcn0FYQq1erNmoVfMAdsF9tP2yxfyk-9PLvQU,10286
|
127
127
|
sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
|
@@ -228,14 +228,14 @@ sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
228
228
|
sky/serve/server/core.py,sha256=pRvFadEIH_WTUkTtSmuFoPBP4JFq8Obt68ifi9DWuog,36865
|
229
229
|
sky/serve/server/server.py,sha256=gQGVU9nHYdGbaLhGjIUNIYn4xwKjRASRJkiiTL5AI1Y,3283
|
230
230
|
sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
|
231
|
-
sky/server/common.py,sha256=
|
231
|
+
sky/server/common.py,sha256=0LphKrp89_sGI-xDakK2uEqI-zKuvbc4OTcuLCiKfmQ,17560
|
232
232
|
sky/server/constants.py,sha256=SqhWJMassFyvWAJn2UJHvuA_0_C6f5vngMzZ2KYLsKw,770
|
233
|
-
sky/server/server.py,sha256=
|
233
|
+
sky/server/server.py,sha256=4ipJG67sBFWylNYdPD1FUhth36yX23XbcROXipRSZsw,42438
|
234
234
|
sky/server/stream_utils.py,sha256=-3IX1YCgxAFfcvQIV0TCvOn1wbRLWovAx3ckCrsExWU,5651
|
235
235
|
sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
|
236
236
|
sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
237
|
-
sky/server/requests/executor.py,sha256=
|
238
|
-
sky/server/requests/payloads.py,sha256=
|
237
|
+
sky/server/requests/executor.py,sha256=TWX2jYkkstgRyRkWNE19Mgw4_CfzadebOW30iTGdK_Q,19693
|
238
|
+
sky/server/requests/payloads.py,sha256=YfZyHI1vYil1m_nT6GwrhAfslheBOjECyPFkmXsZ7pU,15982
|
239
239
|
sky/server/requests/requests.py,sha256=aMdjiK5kjSYP36pxdXFU6qgKOXcOmtViHbFm3V8Dvf8,19590
|
240
240
|
sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
241
241
|
sky/server/requests/queues/mp_queue.py,sha256=_7AFas__0b1L8e7Bwy4lu0VYU18R85YwMlDHPhQCfh0,2998
|
@@ -301,7 +301,7 @@ sky/templates/vsphere-ray.yml.j2,sha256=NWU3kksvESEh5OxeWsoJ0r4jvskQyassfiBatj0q
|
|
301
301
|
sky/templates/websocket_proxy.py,sha256=vm8mnwSOZC2pGdeCNn3WGX7u16xenDv08xTcUAR3CNc,2138
|
302
302
|
sky/usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
303
303
|
sky/usage/constants.py,sha256=mFrTgrFIfFf4kpcl-M1VDU7_moD5_mJazUJTUDrybms,1102
|
304
|
-
sky/usage/usage_lib.py,sha256=
|
304
|
+
sky/usage/usage_lib.py,sha256=rInJW2kj2O1wwXUZAbeVVLhnoa7T_xBHqDhbBBrUqfI,21400
|
305
305
|
sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
306
306
|
sky/utils/accelerator_registry.py,sha256=GjOgqT0s0n5hT-wcpCcTRu74rnKb8LwQ6MJl6dKL-1I,3905
|
307
307
|
sky/utils/admin_policy_utils.py,sha256=y_do0VH6qh163EqSuRW1uGeKvTnJhiYNrHUs77uoOcA,6013
|
@@ -310,7 +310,7 @@ sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14
|
|
310
310
|
sky/utils/command_runner.py,sha256=-7vxLvwZnTvYMQ_nScmuQWY6ZvQYv69yvvIp2uOaOqU,39063
|
311
311
|
sky/utils/command_runner.pyi,sha256=mJOzCgcYZAfHwnY_6Wf1YwlTEJGb9ihzc2f0rE0Kw98,7751
|
312
312
|
sky/utils/common.py,sha256=P4oVXFATUYgkruHX92cN12SJBtfb8DiOOYZtbN1kvP0,1927
|
313
|
-
sky/utils/common_utils.py,sha256
|
313
|
+
sky/utils/common_utils.py,sha256=SChX042UH_Beoq0SJiyw0kRpCA0faycPRaqXEF2GNZ4,28091
|
314
314
|
sky/utils/config_utils.py,sha256=VQ2E3DQ2XysD-kul-diSrxn_pXWsDMfKAev91OiJQ1Q,9041
|
315
315
|
sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
|
316
316
|
sky/utils/controller_utils.py,sha256=Wth_esy2NX9nco-MK01bgQMIChAYky0Uq4T35jQkXxY,48472
|
@@ -344,9 +344,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488
|
|
344
344
|
sky/utils/kubernetes/kubernetes_deploy_utils.py,sha256=iAjfyPclOs8qlALACcfxLpRAO9CZ-h16leFqXZ6tNaY,10096
|
345
345
|
sky/utils/kubernetes/rsync_helper.sh,sha256=h4YwrPFf9727CACnMJvF3EyK_0OeOYKKt4su_daKekw,1256
|
346
346
|
sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
|
347
|
-
skypilot_nightly-1.0.0.
|
348
|
-
skypilot_nightly-1.0.0.
|
349
|
-
skypilot_nightly-1.0.0.
|
350
|
-
skypilot_nightly-1.0.0.
|
351
|
-
skypilot_nightly-1.0.0.
|
352
|
-
skypilot_nightly-1.0.0.
|
347
|
+
skypilot_nightly-1.0.0.dev20250224.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
|
348
|
+
skypilot_nightly-1.0.0.dev20250224.dist-info/METADATA,sha256=ooOoPMweqRG9pczdIUORjFZdEqb0bjxfyGkkHxBSgMg,19055
|
349
|
+
skypilot_nightly-1.0.0.dev20250224.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
350
|
+
skypilot_nightly-1.0.0.dev20250224.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
|
351
|
+
skypilot_nightly-1.0.0.dev20250224.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
|
352
|
+
skypilot_nightly-1.0.0.dev20250224.dist-info/RECORD,,
|
File without changes
|
{skypilot_nightly-1.0.0.dev20250223.dist-info → skypilot_nightly-1.0.0.dev20250224.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|