skypilot-nightly 1.0.0.dev20250312__py3-none-any.whl → 1.0.0.dev20250313__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/adaptors/gcp.py +7 -0
- sky/cli.py +26 -13
- sky/client/cli.py +26 -13
- sky/client/sdk.py +2 -9
- sky/clouds/gcp.py +4 -1
- sky/data/storage.py +16 -0
- sky/provision/kubernetes/utils.py +9 -0
- sky/server/common.py +16 -0
- sky/server/requests/requests.py +1 -1
- sky/setup_files/dependencies.py +4 -1
- sky/utils/controller_utils.py +10 -0
- {skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/METADATA +3 -3
- {skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/RECORD +18 -18
- {skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.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 = '6044bbfe8712221e8d0da08ce8ce7ec36ab66caf'
|
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.dev20250313'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
sky/adaptors/gcp.py
CHANGED
@@ -68,6 +68,13 @@ def credential_error_exception():
|
|
68
68
|
return exceptions.DefaultCredentialsError
|
69
69
|
|
70
70
|
|
71
|
+
@common.load_lazy_modules(_LAZY_MODULES)
|
72
|
+
def gcp_auth_refresh_error_exception():
|
73
|
+
"""GCP auth refresh error exception."""
|
74
|
+
from google.auth import exceptions
|
75
|
+
return exceptions.RefreshError
|
76
|
+
|
77
|
+
|
71
78
|
@common.load_lazy_modules(_LAZY_MODULES)
|
72
79
|
def get_credentials(cred_type: str, credentials_field: str):
|
73
80
|
"""Get GCP credentials."""
|
sky/cli.py
CHANGED
@@ -100,6 +100,7 @@ an autogenerated name."""
|
|
100
100
|
# The maximum number of in-progress managed jobs to show in the status
|
101
101
|
# command.
|
102
102
|
_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS = 5
|
103
|
+
_NUM_MANAGED_JOBS_TO_SHOW = 50
|
103
104
|
|
104
105
|
_STATUS_PROPERTY_CLUSTER_NUM_ERROR_MESSAGE = (
|
105
106
|
'{cluster_num} cluster{plural} {verb}. Please specify {cause} '
|
@@ -1389,16 +1390,16 @@ def _handle_jobs_queue_request(
|
|
1389
1390
|
request_id: str,
|
1390
1391
|
show_all: bool,
|
1391
1392
|
show_user: bool,
|
1392
|
-
|
1393
|
+
max_num_jobs_to_show: Optional[int],
|
1393
1394
|
is_called_by_user: bool = False) -> Tuple[Optional[int], str]:
|
1394
1395
|
"""Get the in-progress managed jobs.
|
1395
1396
|
|
1396
1397
|
Args:
|
1397
1398
|
show_all: Show all information of each job (e.g., region, price).
|
1398
1399
|
show_user: Show the user who submitted the job.
|
1399
|
-
|
1400
|
-
|
1401
|
-
`sky
|
1400
|
+
max_num_jobs_to_show: If not None, limit the number of jobs to show to
|
1401
|
+
this number, which is mainly used by `sky status`
|
1402
|
+
and `sky jobs queue`.
|
1402
1403
|
is_called_by_user: If this function is called by user directly, or an
|
1403
1404
|
internal call.
|
1404
1405
|
|
@@ -1459,12 +1460,10 @@ def _handle_jobs_queue_request(
|
|
1459
1460
|
msg += ('Failed to query managed jobs: '
|
1460
1461
|
f'{common_utils.format_exception(e, use_bracket=True)}')
|
1461
1462
|
else:
|
1462
|
-
max_jobs_to_show = (_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS
|
1463
|
-
if limit_num_jobs_to_show else None)
|
1464
1463
|
msg = managed_jobs.format_job_table(managed_jobs_,
|
1465
1464
|
show_all=show_all,
|
1466
1465
|
show_user=show_user,
|
1467
|
-
max_jobs=
|
1466
|
+
max_jobs=max_num_jobs_to_show)
|
1468
1467
|
return num_in_progress_jobs, msg
|
1469
1468
|
|
1470
1469
|
|
@@ -1875,7 +1874,7 @@ def status(verbose: bool, refresh: bool, ip: bool, endpoints: bool,
|
|
1875
1874
|
managed_jobs_queue_request_id,
|
1876
1875
|
show_all=False,
|
1877
1876
|
show_user=all_users,
|
1878
|
-
|
1877
|
+
max_num_jobs_to_show=_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS,
|
1879
1878
|
is_called_by_user=False)
|
1880
1879
|
except KeyboardInterrupt:
|
1881
1880
|
sdk.api_cancel(managed_jobs_queue_request_id, silent=True)
|
@@ -3943,10 +3942,15 @@ def jobs_launch(
|
|
3943
3942
|
is_flag=True,
|
3944
3943
|
required=False,
|
3945
3944
|
help='Show jobs from all users.')
|
3945
|
+
@click.option('--all',
|
3946
|
+
default=False,
|
3947
|
+
is_flag=True,
|
3948
|
+
required=False,
|
3949
|
+
help='Show all jobs.')
|
3946
3950
|
@usage_lib.entrypoint
|
3947
3951
|
# pylint: disable=redefined-builtin
|
3948
3952
|
def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
3949
|
-
all_users: bool):
|
3953
|
+
all_users: bool, all: bool):
|
3950
3954
|
"""Show statuses of managed jobs.
|
3951
3955
|
|
3952
3956
|
Each managed jobs can have one of the following statuses:
|
@@ -4004,10 +4008,13 @@ def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
4004
4008
|
with rich_utils.client_status('[cyan]Checking managed jobs[/]'):
|
4005
4009
|
managed_jobs_request_id = managed_jobs.queue(
|
4006
4010
|
refresh=refresh, skip_finished=skip_finished, all_users=all_users)
|
4007
|
-
|
4008
|
-
|
4009
|
-
|
4010
|
-
|
4011
|
+
max_num_jobs_to_show = (_NUM_MANAGED_JOBS_TO_SHOW if not all else None)
|
4012
|
+
num_jobs, msg = _handle_jobs_queue_request(
|
4013
|
+
managed_jobs_request_id,
|
4014
|
+
show_all=verbose,
|
4015
|
+
show_user=all_users,
|
4016
|
+
max_num_jobs_to_show=max_num_jobs_to_show,
|
4017
|
+
is_called_by_user=True)
|
4011
4018
|
if not skip_finished:
|
4012
4019
|
in_progress_only_hint = ''
|
4013
4020
|
else:
|
@@ -4015,6 +4022,12 @@ def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
4015
4022
|
click.echo(f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
4016
4023
|
f'Managed jobs{colorama.Style.RESET_ALL}'
|
4017
4024
|
f'{in_progress_only_hint}\n{msg}')
|
4025
|
+
if max_num_jobs_to_show and num_jobs and max_num_jobs_to_show < num_jobs:
|
4026
|
+
click.echo(
|
4027
|
+
f'{colorama.Fore.CYAN}'
|
4028
|
+
f'Only showing the latest {max_num_jobs_to_show} '
|
4029
|
+
f'managed jobs'
|
4030
|
+
f'(use --all to show all managed jobs) {colorama.Style.RESET_ALL} ')
|
4018
4031
|
|
4019
4032
|
|
4020
4033
|
@jobs.command('cancel', cls=_DocumentedCodeCommand)
|
sky/client/cli.py
CHANGED
@@ -100,6 +100,7 @@ an autogenerated name."""
|
|
100
100
|
# The maximum number of in-progress managed jobs to show in the status
|
101
101
|
# command.
|
102
102
|
_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS = 5
|
103
|
+
_NUM_MANAGED_JOBS_TO_SHOW = 50
|
103
104
|
|
104
105
|
_STATUS_PROPERTY_CLUSTER_NUM_ERROR_MESSAGE = (
|
105
106
|
'{cluster_num} cluster{plural} {verb}. Please specify {cause} '
|
@@ -1389,16 +1390,16 @@ def _handle_jobs_queue_request(
|
|
1389
1390
|
request_id: str,
|
1390
1391
|
show_all: bool,
|
1391
1392
|
show_user: bool,
|
1392
|
-
|
1393
|
+
max_num_jobs_to_show: Optional[int],
|
1393
1394
|
is_called_by_user: bool = False) -> Tuple[Optional[int], str]:
|
1394
1395
|
"""Get the in-progress managed jobs.
|
1395
1396
|
|
1396
1397
|
Args:
|
1397
1398
|
show_all: Show all information of each job (e.g., region, price).
|
1398
1399
|
show_user: Show the user who submitted the job.
|
1399
|
-
|
1400
|
-
|
1401
|
-
`sky
|
1400
|
+
max_num_jobs_to_show: If not None, limit the number of jobs to show to
|
1401
|
+
this number, which is mainly used by `sky status`
|
1402
|
+
and `sky jobs queue`.
|
1402
1403
|
is_called_by_user: If this function is called by user directly, or an
|
1403
1404
|
internal call.
|
1404
1405
|
|
@@ -1459,12 +1460,10 @@ def _handle_jobs_queue_request(
|
|
1459
1460
|
msg += ('Failed to query managed jobs: '
|
1460
1461
|
f'{common_utils.format_exception(e, use_bracket=True)}')
|
1461
1462
|
else:
|
1462
|
-
max_jobs_to_show = (_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS
|
1463
|
-
if limit_num_jobs_to_show else None)
|
1464
1463
|
msg = managed_jobs.format_job_table(managed_jobs_,
|
1465
1464
|
show_all=show_all,
|
1466
1465
|
show_user=show_user,
|
1467
|
-
max_jobs=
|
1466
|
+
max_jobs=max_num_jobs_to_show)
|
1468
1467
|
return num_in_progress_jobs, msg
|
1469
1468
|
|
1470
1469
|
|
@@ -1875,7 +1874,7 @@ def status(verbose: bool, refresh: bool, ip: bool, endpoints: bool,
|
|
1875
1874
|
managed_jobs_queue_request_id,
|
1876
1875
|
show_all=False,
|
1877
1876
|
show_user=all_users,
|
1878
|
-
|
1877
|
+
max_num_jobs_to_show=_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS,
|
1879
1878
|
is_called_by_user=False)
|
1880
1879
|
except KeyboardInterrupt:
|
1881
1880
|
sdk.api_cancel(managed_jobs_queue_request_id, silent=True)
|
@@ -3943,10 +3942,15 @@ def jobs_launch(
|
|
3943
3942
|
is_flag=True,
|
3944
3943
|
required=False,
|
3945
3944
|
help='Show jobs from all users.')
|
3945
|
+
@click.option('--all',
|
3946
|
+
default=False,
|
3947
|
+
is_flag=True,
|
3948
|
+
required=False,
|
3949
|
+
help='Show all jobs.')
|
3946
3950
|
@usage_lib.entrypoint
|
3947
3951
|
# pylint: disable=redefined-builtin
|
3948
3952
|
def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
3949
|
-
all_users: bool):
|
3953
|
+
all_users: bool, all: bool):
|
3950
3954
|
"""Show statuses of managed jobs.
|
3951
3955
|
|
3952
3956
|
Each managed jobs can have one of the following statuses:
|
@@ -4004,10 +4008,13 @@ def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
4004
4008
|
with rich_utils.client_status('[cyan]Checking managed jobs[/]'):
|
4005
4009
|
managed_jobs_request_id = managed_jobs.queue(
|
4006
4010
|
refresh=refresh, skip_finished=skip_finished, all_users=all_users)
|
4007
|
-
|
4008
|
-
|
4009
|
-
|
4010
|
-
|
4011
|
+
max_num_jobs_to_show = (_NUM_MANAGED_JOBS_TO_SHOW if not all else None)
|
4012
|
+
num_jobs, msg = _handle_jobs_queue_request(
|
4013
|
+
managed_jobs_request_id,
|
4014
|
+
show_all=verbose,
|
4015
|
+
show_user=all_users,
|
4016
|
+
max_num_jobs_to_show=max_num_jobs_to_show,
|
4017
|
+
is_called_by_user=True)
|
4011
4018
|
if not skip_finished:
|
4012
4019
|
in_progress_only_hint = ''
|
4013
4020
|
else:
|
@@ -4015,6 +4022,12 @@ def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
4015
4022
|
click.echo(f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
4016
4023
|
f'Managed jobs{colorama.Style.RESET_ALL}'
|
4017
4024
|
f'{in_progress_only_hint}\n{msg}')
|
4025
|
+
if max_num_jobs_to_show and num_jobs and max_num_jobs_to_show < num_jobs:
|
4026
|
+
click.echo(
|
4027
|
+
f'{colorama.Fore.CYAN}'
|
4028
|
+
f'Only showing the latest {max_num_jobs_to_show} '
|
4029
|
+
f'managed jobs'
|
4030
|
+
f'(use --all to show all managed jobs) {colorama.Style.RESET_ALL} ')
|
4018
4031
|
|
4019
4032
|
|
4020
4033
|
@jobs.command('cancel', cls=_DocumentedCodeCommand)
|
sky/client/sdk.py
CHANGED
@@ -32,7 +32,6 @@ from sky import sky_logging
|
|
32
32
|
from sky import skypilot_config
|
33
33
|
from sky.client import common as client_common
|
34
34
|
from sky.server import common as server_common
|
35
|
-
from sky.server import constants as server_constants
|
36
35
|
from sky.server.requests import payloads
|
37
36
|
from sky.server.requests import requests as requests_lib
|
38
37
|
from sky.skylet import constants
|
@@ -1707,14 +1706,8 @@ def api_stop() -> None:
|
|
1707
1706
|
force=True)
|
1708
1707
|
found = True
|
1709
1708
|
|
1710
|
-
# Remove the database for requests
|
1711
|
-
|
1712
|
-
db_path = os.path.expanduser(server_constants.API_SERVER_REQUEST_DB_PATH)
|
1713
|
-
for extension in ['', '-shm', '-wal']:
|
1714
|
-
try:
|
1715
|
-
os.remove(f'{db_path}{extension}')
|
1716
|
-
except FileNotFoundError:
|
1717
|
-
logger.debug(f'Database file {db_path}{extension} not found.')
|
1709
|
+
# Remove the database for requests.
|
1710
|
+
server_common.clear_local_api_server_database()
|
1718
1711
|
|
1719
1712
|
if found:
|
1720
1713
|
logger.info(f'{colorama.Fore.GREEN}SkyPilot API server stopped.'
|
sky/clouds/gcp.py
CHANGED
@@ -843,7 +843,10 @@ class GCP(clouds.Cloud):
|
|
843
843
|
permissions = {'permissions': gcp_minimal_permissions}
|
844
844
|
request = crm.projects().testIamPermissions(resource=project,
|
845
845
|
body=permissions)
|
846
|
-
|
846
|
+
try:
|
847
|
+
ret_permissions = request.execute().get('permissions', [])
|
848
|
+
except gcp.gcp_auth_refresh_error_exception() as e:
|
849
|
+
return False, common_utils.format_exception(e, use_bracket=True)
|
847
850
|
|
848
851
|
diffs = set(gcp_minimal_permissions).difference(set(ret_permissions))
|
849
852
|
if diffs:
|
sky/data/storage.py
CHANGED
@@ -143,6 +143,22 @@ class StoreType(enum.Enum):
|
|
143
143
|
|
144
144
|
raise ValueError(f'Unsupported cloud for StoreType: {cloud}')
|
145
145
|
|
146
|
+
def to_cloud(self) -> str:
|
147
|
+
if self == StoreType.S3:
|
148
|
+
return str(clouds.AWS())
|
149
|
+
elif self == StoreType.GCS:
|
150
|
+
return str(clouds.GCP())
|
151
|
+
elif self == StoreType.AZURE:
|
152
|
+
return str(clouds.Azure())
|
153
|
+
elif self == StoreType.R2:
|
154
|
+
return cloudflare.NAME
|
155
|
+
elif self == StoreType.IBM:
|
156
|
+
return str(clouds.IBM())
|
157
|
+
elif self == StoreType.OCI:
|
158
|
+
return str(clouds.OCI())
|
159
|
+
else:
|
160
|
+
raise ValueError(f'Unknown store type: {self}')
|
161
|
+
|
146
162
|
@classmethod
|
147
163
|
def from_store(cls, store: 'AbstractStore') -> 'StoreType':
|
148
164
|
if isinstance(store, S3Store):
|
@@ -717,6 +717,15 @@ def check_instance_fits(context: Optional[str],
|
|
717
717
|
fits, reason = check_tpu_fits(k8s_instance_type, gpu_nodes)
|
718
718
|
if reason is not None:
|
719
719
|
return fits, reason
|
720
|
+
else:
|
721
|
+
# Check if any of the GPU nodes have sufficient number of GPUs.
|
722
|
+
gpu_nodes = [
|
723
|
+
node for node in gpu_nodes if
|
724
|
+
get_node_accelerator_count(node.status.allocatable) >= acc_count
|
725
|
+
]
|
726
|
+
if not gpu_nodes:
|
727
|
+
return False, (
|
728
|
+
f'No GPU nodes found with {acc_count} or more GPUs.')
|
720
729
|
|
721
730
|
candidate_nodes = gpu_nodes
|
722
731
|
not_fit_reason_prefix = (
|
sky/server/common.py
CHANGED
@@ -428,3 +428,19 @@ def reload_for_new_request(client_entrypoint: Optional[str],
|
|
428
428
|
# necessary because the logger is initialized before the environment
|
429
429
|
# variables are set, such as SKYPILOT_DEBUG.
|
430
430
|
sky_logging.reload_logger()
|
431
|
+
|
432
|
+
|
433
|
+
def clear_local_api_server_database() -> None:
|
434
|
+
"""Removes the local API server database.
|
435
|
+
|
436
|
+
The CLI can call this during cleanup of a local API server, or the API
|
437
|
+
server can call it during startup.
|
438
|
+
"""
|
439
|
+
# Remove the database for requests including any files starting with
|
440
|
+
# api.constants.API_SERVER_REQUEST_DB_PATH
|
441
|
+
db_path = os.path.expanduser(server_constants.API_SERVER_REQUEST_DB_PATH)
|
442
|
+
for extension in ['', '-shm', '-wal']:
|
443
|
+
try:
|
444
|
+
os.remove(f'{db_path}{extension}')
|
445
|
+
except FileNotFoundError:
|
446
|
+
logger.debug(f'Database file {db_path}{extension} not found.')
|
sky/server/requests/requests.py
CHANGED
@@ -447,7 +447,7 @@ def init_db(func):
|
|
447
447
|
|
448
448
|
def reset_db_and_logs():
|
449
449
|
"""Create the database."""
|
450
|
-
|
450
|
+
server_common.clear_local_api_server_database()
|
451
451
|
shutil.rmtree(pathlib.Path(REQUEST_LOG_PATH_PREFIX).expanduser(),
|
452
452
|
ignore_errors=True)
|
453
453
|
shutil.rmtree(server_common.API_SERVER_CLIENT_DIR.expanduser(),
|
sky/setup_files/dependencies.py
CHANGED
@@ -120,7 +120,10 @@ extras_require: Dict[str, List[str]] = {
|
|
120
120
|
# https://github.com/googleapis/google-api-python-client/commit/f6e9d3869ed605b06f7cbf2e8cf2db25108506e6
|
121
121
|
'gcp': ['google-api-python-client>=2.69.0', 'google-cloud-storage'],
|
122
122
|
'ibm': [
|
123
|
-
'ibm-cloud-sdk-core',
|
123
|
+
'ibm-cloud-sdk-core',
|
124
|
+
'ibm-vpc',
|
125
|
+
'ibm-platform-services>=0.48.0',
|
126
|
+
'ibm-cos-sdk',
|
124
127
|
] + local_ray,
|
125
128
|
'docker': ['docker'] + local_ray,
|
126
129
|
'lambda': [], # No dependencies needed for lambda
|
sky/utils/controller_utils.py
CHANGED
@@ -805,6 +805,16 @@ def maybe_translate_local_file_mounts_and_sync_up(task: 'task_lib.Task',
|
|
805
805
|
else:
|
806
806
|
(store_type, bucket_name, sub_path, storage_account_name, region) = (
|
807
807
|
storage_lib.StoreType.get_fields_from_store_url(bucket_wth_prefix))
|
808
|
+
cloud_str = store_type.to_cloud()
|
809
|
+
if (cloud_str not in
|
810
|
+
storage_lib.get_cached_enabled_storage_clouds_or_refresh()):
|
811
|
+
with ux_utils.print_exception_no_traceback():
|
812
|
+
raise ValueError(
|
813
|
+
f'`{task_type}.bucket` is specified in SkyPilot config '
|
814
|
+
f'with {bucket_wth_prefix}, but {cloud_str} is not '
|
815
|
+
'enabled. Please avoid specifying the bucket or enable the '
|
816
|
+
f'cloud by: sky check {cloud_str}')
|
817
|
+
|
808
818
|
if storage_account_name is not None:
|
809
819
|
store_kwargs['storage_account_name'] = storage_account_name
|
810
820
|
if region is not None:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: skypilot-nightly
|
3
|
-
Version: 1.0.0.
|
3
|
+
Version: 1.0.0.dev20250313
|
4
4
|
Summary: SkyPilot: An intercloud broker for the clouds
|
5
5
|
Author: SkyPilot Team
|
6
6
|
License: Apache 2.0
|
@@ -68,7 +68,7 @@ Requires-Dist: google-cloud-storage; extra == "gcp"
|
|
68
68
|
Provides-Extra: ibm
|
69
69
|
Requires-Dist: ibm-cloud-sdk-core; extra == "ibm"
|
70
70
|
Requires-Dist: ibm-vpc; extra == "ibm"
|
71
|
-
Requires-Dist: ibm-platform-services; extra == "ibm"
|
71
|
+
Requires-Dist: ibm-platform-services>=0.48.0; extra == "ibm"
|
72
72
|
Requires-Dist: ibm-cos-sdk; extra == "ibm"
|
73
73
|
Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "ibm"
|
74
74
|
Provides-Extra: docker
|
@@ -126,7 +126,7 @@ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
|
|
126
126
|
Requires-Dist: google-cloud-storage; extra == "all"
|
127
127
|
Requires-Dist: ibm-cloud-sdk-core; extra == "all"
|
128
128
|
Requires-Dist: ibm-vpc; extra == "all"
|
129
|
-
Requires-Dist: ibm-platform-services; extra == "all"
|
129
|
+
Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
|
130
130
|
Requires-Dist: ibm-cos-sdk; extra == "all"
|
131
131
|
Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
|
132
132
|
Requires-Dist: docker; extra == "all"
|
{skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/RECORD
RENAMED
@@ -1,8 +1,8 @@
|
|
1
|
-
sky/__init__.py,sha256=
|
1
|
+
sky/__init__.py,sha256=UqvgvPfup1oX2lnpkzogyzHlj1-UyMM8sa6RW5orlo4,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=o1IHTY4YSJzsfkynTynaN1dB4RBPZIRZGWQ4rTnVVnQ,221956
|
6
6
|
sky/cloud_stores.py,sha256=kEHXd2divyra-1c3EusHxKyM5yTQlTXc6cKVXofsefA,23978
|
7
7
|
sky/core.py,sha256=MU9hcTdh8baMGrr2ZXmbxx12vNlhajrkeyg5QtV717c,47609
|
8
8
|
sky/dag.py,sha256=Yl7Ry26Vql5cv4YMz8g9kOUgtoCihJnw7c8NgZYakMY,3242
|
@@ -23,7 +23,7 @@ sky/adaptors/common.py,sha256=nJmuBYFokCH0vX2oFqdAJYS-84FnUSTmIPKjAi4gqzo,2877
|
|
23
23
|
sky/adaptors/cudo.py,sha256=WGvIQrlzJkGDe02Ve7pygA56tHwUc4kwS3XHW8kMFAA,239
|
24
24
|
sky/adaptors/do.py,sha256=dJ0BYbkQoUWVu6_9Pxq3fOu6PngjZyyCQzgjnODXLCA,777
|
25
25
|
sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
|
26
|
-
sky/adaptors/gcp.py,sha256=
|
26
|
+
sky/adaptors/gcp.py,sha256=EEjiF_n0HGH3TEjSbY6PQ8nczlhV2kSdUCXe0l8DmJg,3316
|
27
27
|
sky/adaptors/ibm.py,sha256=H87vD6izq_wQI8oQC7cx9iVtRgPi_QkAcrfa1Z3PNqU,4906
|
28
28
|
sky/adaptors/kubernetes.py,sha256=UIUc3zI0MgWcv1GTBu-pZUSx_NTLf0zRI20JUdtA1HI,6594
|
29
29
|
sky/adaptors/nebius.py,sha256=QAqU_reFk7MKQ39TE1FiNgNnDPH5L5-HT19j6CtJcJE,3175
|
@@ -43,9 +43,9 @@ 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=o1IHTY4YSJzsfkynTynaN1dB4RBPZIRZGWQ4rTnVVnQ,221956
|
47
47
|
sky/client/common.py,sha256=axDic7WOG1e78SdFm5XIwdhX7YNvf3g4k7INrsW3X4s,14611
|
48
|
-
sky/client/sdk.py,sha256=
|
48
|
+
sky/client/sdk.py,sha256=DL-3aV-kbK3T70_qXrEiMlaUmbiHaJk513gLp2by-6Y,68352
|
49
49
|
sky/clouds/__init__.py,sha256=OW6mJ-9hpJSBORCgt2LippLQEYZHNfnBW1mooRNNvxo,1416
|
50
50
|
sky/clouds/aws.py,sha256=J8tczaTDL239UowN9tUlhI92SeHw01wtFucSckvG63w,54112
|
51
51
|
sky/clouds/azure.py,sha256=bawEw6wOLAVyrjxMD-4UjLCuMj1H5_jH8qggpfZYS54,31703
|
@@ -53,7 +53,7 @@ sky/clouds/cloud.py,sha256=Ej6WH6VElYdG3PG1-Sp6lFVsJ42uskV4dAg7kmoY4JA,35376
|
|
53
53
|
sky/clouds/cudo.py,sha256=femv17IUM1TOXuCAg6zljqyFcBGfofbXCNGckpXFHzc,13127
|
54
54
|
sky/clouds/do.py,sha256=hmksx0XML0dVHUZBMV2Wr3a5VilOsYfxX2dSBV_XK5o,11487
|
55
55
|
sky/clouds/fluidstack.py,sha256=Eb0nlfU_EwTtGtV0nPKS2ueBlB0nYiDAN9swA-jjQV0,12446
|
56
|
-
sky/clouds/gcp.py,sha256=
|
56
|
+
sky/clouds/gcp.py,sha256=cvFSeX8RcyhX5HJb57YposUr9p1RaUPmpxvg_AI_D3c,55978
|
57
57
|
sky/clouds/ibm.py,sha256=R4JR96YfXstZ2B_IgFNVEX2SBAq3q0lSWz4y7FoFoeE,21474
|
58
58
|
sky/clouds/kubernetes.py,sha256=xsYX8HhdcRzsdx6Gd_3kumNqjMjpo_l4cinhs3ZMwZM,35067
|
59
59
|
sky/clouds/lambda_cloud.py,sha256=ejqA_Wj5-325Y_QjQ__FY4HMO8sv_2tSRsufmaldcmI,12699
|
@@ -104,7 +104,7 @@ sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
|
|
104
104
|
sky/data/data_transfer.py,sha256=wixC4_3_JaeJFdGKOp-O5ulcsMugDSgrCR0SnPpugGc,8946
|
105
105
|
sky/data/data_utils.py,sha256=HjcgMDuWRR_fNQ9gjuROi9GgPVvTGApiJwxGtdb2_UU,28860
|
106
106
|
sky/data/mounting_utils.py,sha256=i79Y-DZXVR88fjG_MBPB8EgsZBnHdpf1LGnJSm_VhAg,16063
|
107
|
-
sky/data/storage.py,sha256=
|
107
|
+
sky/data/storage.py,sha256=vYn7V2vyh9mGoQpyfd7FyoPZQ6HPpl3yH2x62GgfQgw,207707
|
108
108
|
sky/data/storage_utils.py,sha256=zB99nRTJjh8isU0UmqERmlwwRNgfig91IwrwVH8CcNw,12383
|
109
109
|
sky/jobs/__init__.py,sha256=qoI53-xXE0-SOkrLWigvhgFXjk7dWE0OTqGPYIk-kmM,1458
|
110
110
|
sky/jobs/constants.py,sha256=1XiIqdR5dEgGgepLKWkZCRT3MYSsMBR-dO7N4RTsjwg,3088
|
@@ -165,7 +165,7 @@ sky/provision/kubernetes/constants.py,sha256=dZCUV8FOO9Gct80sdqeubKnxeW3CGl-u5mx
|
|
165
165
|
sky/provision/kubernetes/instance.py,sha256=oag17OtuiqU-1RjkgW9NvEpxSGUFIYdI7M61S-YmPu8,50503
|
166
166
|
sky/provision/kubernetes/network.py,sha256=AtcOM8wPs_-UlQJhGEQGP6Lh4HIgdx63Y0iWEhP5jyc,12673
|
167
167
|
sky/provision/kubernetes/network_utils.py,sha256=Bwy5ZQb62ejC7ZHM4htjzhs86UNACK7AXN-NfQ9IJrE,11454
|
168
|
-
sky/provision/kubernetes/utils.py,sha256=
|
168
|
+
sky/provision/kubernetes/utils.py,sha256=A2nzKUCFqmq5KveyagE5u4_p0b6frg6256lwvAlwPEA,110155
|
169
169
|
sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml,sha256=AMzYzlY0JIlfBWj5eX054Rc1XDW2thUcLSOGMJVhIdA,229
|
170
170
|
sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml,sha256=RtTq4F1QUmR2Uunb6zuuRaPhV7hpesz4saHjn3Ncsb4,2010
|
171
171
|
sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
|
@@ -228,7 +228,7 @@ 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=PMPaKoPtoUGolbdSW78VetUW5H0X7YKBT-z6Hbu3BJM,18471
|
232
232
|
sky/server/constants.py,sha256=_ZNrxYh8vmgbf3DmkGDduxjvO2y43ZSPTkH5rCNsVjU,770
|
233
233
|
sky/server/server.py,sha256=kEjwRjA7PJDZzx6KqD_NAFxryVLkzwCnuPfbmY_p30A,44232
|
234
234
|
sky/server/stream_utils.py,sha256=4JMHgtoXPpCT8JwtqyUcDQ9IdZFir9om0JaCRr8rvbQ,5849
|
@@ -239,14 +239,14 @@ sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70yp
|
|
239
239
|
sky/server/requests/executor.py,sha256=SuSr-cVrRnMzf-1SEz6O8HpcLzGM3mrbNc8re7QduYk,20862
|
240
240
|
sky/server/requests/payloads.py,sha256=nVb7vr1SNAq6ay2dNe9301zLHp7NrM79M7nsWAECBms,16340
|
241
241
|
sky/server/requests/preconditions.py,sha256=ipxIb_3JXG6S3-ymcOdqQNb7VDvoPqADxu9ZK7-nQWc,7179
|
242
|
-
sky/server/requests/requests.py,sha256=
|
242
|
+
sky/server/requests/requests.py,sha256=Sys2rg22rIXn7SrHfKzDVuTjBdRlm5oZk58u1UmS6JA,21231
|
243
243
|
sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
244
244
|
sky/server/requests/queues/mp_queue.py,sha256=_7AFas__0b1L8e7Bwy4lu0VYU18R85YwMlDHPhQCfh0,2998
|
245
245
|
sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
246
246
|
sky/server/requests/serializers/decoders.py,sha256=0cpg80uAqkdK_LqcQPkpKswhcNUUztG9luDLm_0eUow,6811
|
247
247
|
sky/server/requests/serializers/encoders.py,sha256=i4SAb5Oyp00CyMkyidbdA9dtxAzxZl40KTpL_x6pH0w,5679
|
248
248
|
sky/setup_files/MANIFEST.in,sha256=cHYG6IdIp7RsDapL4Lrs-WTeYJftHn6qystSolmyyk8,581
|
249
|
-
sky/setup_files/dependencies.py,sha256
|
249
|
+
sky/setup_files/dependencies.py,sha256=-atLGWT_luo5ZLIFwt88JDqvqJH2N4t2ShKowGxvH2E,6346
|
250
250
|
sky/setup_files/setup.py,sha256=Q9f0RvsdPC0FLvyTKW-upQtRuA81jRO4TtN3VK-mP-Y,7436
|
251
251
|
sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
|
252
252
|
sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -316,7 +316,7 @@ sky/utils/common.py,sha256=P4oVXFATUYgkruHX92cN12SJBtfb8DiOOYZtbN1kvP0,1927
|
|
316
316
|
sky/utils/common_utils.py,sha256=vsikxAnRZYTbn0OWENuMSv1JWYUr2hRnPxqWSct6N7I,31357
|
317
317
|
sky/utils/config_utils.py,sha256=VQ2E3DQ2XysD-kul-diSrxn_pXWsDMfKAev91OiJQ1Q,9041
|
318
318
|
sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
|
319
|
-
sky/utils/controller_utils.py,sha256=
|
319
|
+
sky/utils/controller_utils.py,sha256=KuOX7pnIuC1n_wmrDr27G-HtnJtYRTXXLB1DaO0Dlb4,49439
|
320
320
|
sky/utils/dag_utils.py,sha256=sAus0aL1wtuuFZSDnpO4LY-6WK4u5iJY952oWQzHo3Y,7532
|
321
321
|
sky/utils/db_utils.py,sha256=K2-OHPg0FeHCarevMdWe0IWzm6wWumViEeYeJuGoFUE,3747
|
322
322
|
sky/utils/env_options.py,sha256=aaD6GoYK0LaZIqjOEZ-R7eccQuiRriW3EuLWtOI5En8,1578
|
@@ -347,9 +347,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488
|
|
347
347
|
sky/utils/kubernetes/kubernetes_deploy_utils.py,sha256=otzHzpliHDCpzYT-nU9Q0ZExbiFpDPWvhxwkvchZj7k,10073
|
348
348
|
sky/utils/kubernetes/rsync_helper.sh,sha256=h4YwrPFf9727CACnMJvF3EyK_0OeOYKKt4su_daKekw,1256
|
349
349
|
sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
|
350
|
-
skypilot_nightly-1.0.0.
|
351
|
-
skypilot_nightly-1.0.0.
|
352
|
-
skypilot_nightly-1.0.0.
|
353
|
-
skypilot_nightly-1.0.0.
|
354
|
-
skypilot_nightly-1.0.0.
|
355
|
-
skypilot_nightly-1.0.0.
|
350
|
+
skypilot_nightly-1.0.0.dev20250313.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
|
351
|
+
skypilot_nightly-1.0.0.dev20250313.dist-info/METADATA,sha256=VibaO5XptVT8zYrzI6xf0HQwy_deHj5qNkpYsEWXR6g,18067
|
352
|
+
skypilot_nightly-1.0.0.dev20250313.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
353
|
+
skypilot_nightly-1.0.0.dev20250313.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
|
354
|
+
skypilot_nightly-1.0.0.dev20250313.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
|
355
|
+
skypilot_nightly-1.0.0.dev20250313.dist-info/RECORD,,
|
File without changes
|
{skypilot_nightly-1.0.0.dev20250312.dist-info → skypilot_nightly-1.0.0.dev20250313.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|
File without changes
|