skypilot-nightly 1.0.0.dev20241227__tar.gz → 1.0.0.dev20241229__tar.gz
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.
- {skypilot_nightly-1.0.0.dev20241227/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20241229}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/oci.py +32 -1
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/cloud_stores.py +61 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/data_transfer.py +37 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/data_utils.py +11 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/mounting_utils.py +43 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/storage.py +454 -4
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/task.py +10 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229/skypilot_nightly.egg-info}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/cloud_vm_ray_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/benchmark/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/benchmark/benchmark_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/benchmark/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/cloud_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/dashboard/dashboard.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/dashboard/static/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/dashboard/templates/index.html +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/kubernetes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/log_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/providers/scp/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/cluster_yaml_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/schemas.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/tests/test_yaml_parser.py +0 -0
@@ -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 = '7ae2d25d3f1fa82d02f6f95d57e1cac6b928f425'
|
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.dev20241229'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
{skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/adaptors/oci.py
RENAMED
@@ -1,9 +1,11 @@
|
|
1
1
|
"""Oracle OCI cloud adaptor"""
|
2
2
|
|
3
|
+
import functools
|
3
4
|
import logging
|
4
5
|
import os
|
5
6
|
|
6
7
|
from sky.adaptors import common
|
8
|
+
from sky.clouds.utils import oci_utils
|
7
9
|
|
8
10
|
# Suppress OCI circuit breaker logging before lazy import, because
|
9
11
|
# oci modules prints additional message during imports, i.e., the
|
@@ -30,10 +32,16 @@ def get_config_file() -> str:
|
|
30
32
|
|
31
33
|
def get_oci_config(region=None, profile='DEFAULT'):
|
32
34
|
conf_file_path = get_config_file()
|
35
|
+
if not profile or profile == 'DEFAULT':
|
36
|
+
config_profile = oci_utils.oci_config.get_profile()
|
37
|
+
else:
|
38
|
+
config_profile = profile
|
39
|
+
|
33
40
|
oci_config = oci.config.from_file(file_location=conf_file_path,
|
34
|
-
profile_name=
|
41
|
+
profile_name=config_profile)
|
35
42
|
if region is not None:
|
36
43
|
oci_config['region'] = region
|
44
|
+
|
37
45
|
return oci_config
|
38
46
|
|
39
47
|
|
@@ -54,6 +62,29 @@ def get_identity_client(region=None, profile='DEFAULT'):
|
|
54
62
|
return oci.identity.IdentityClient(get_oci_config(region, profile))
|
55
63
|
|
56
64
|
|
65
|
+
def get_object_storage_client(region=None, profile='DEFAULT'):
|
66
|
+
return oci.object_storage.ObjectStorageClient(
|
67
|
+
get_oci_config(region, profile))
|
68
|
+
|
69
|
+
|
57
70
|
def service_exception():
|
58
71
|
"""OCI service exception."""
|
59
72
|
return oci.exceptions.ServiceError
|
73
|
+
|
74
|
+
|
75
|
+
def with_oci_env(f):
|
76
|
+
|
77
|
+
@functools.wraps(f)
|
78
|
+
def wrapper(*args, **kwargs):
|
79
|
+
# pylint: disable=line-too-long
|
80
|
+
enter_env_cmds = [
|
81
|
+
'conda info --envs | grep "sky-oci-cli-env" || conda create -n sky-oci-cli-env python=3.10 -y',
|
82
|
+
'. $(conda info --base 2> /dev/null)/etc/profile.d/conda.sh > /dev/null 2>&1 || true',
|
83
|
+
'conda activate sky-oci-cli-env', 'pip install oci-cli',
|
84
|
+
'export OCI_CLI_SUPPRESS_FILE_PERMISSIONS_WARNING=True'
|
85
|
+
]
|
86
|
+
operation_cmd = [f(*args, **kwargs)]
|
87
|
+
leave_env_cmds = ['conda deactivate']
|
88
|
+
return ' && '.join(enter_env_cmds + operation_cmd + leave_env_cmds)
|
89
|
+
|
90
|
+
return wrapper
|
{skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/cloud_stores.py
RENAMED
@@ -7,6 +7,7 @@ TODO:
|
|
7
7
|
* Better interface.
|
8
8
|
* Better implementation (e.g., fsspec, smart_open, using each cloud's SDK).
|
9
9
|
"""
|
10
|
+
import os
|
10
11
|
import shlex
|
11
12
|
import subprocess
|
12
13
|
import time
|
@@ -18,6 +19,7 @@ from sky.adaptors import aws
|
|
18
19
|
from sky.adaptors import azure
|
19
20
|
from sky.adaptors import cloudflare
|
20
21
|
from sky.adaptors import ibm
|
22
|
+
from sky.adaptors import oci
|
21
23
|
from sky.clouds import gcp
|
22
24
|
from sky.data import data_utils
|
23
25
|
from sky.data.data_utils import Rclone
|
@@ -470,6 +472,64 @@ class IBMCosCloudStorage(CloudStorage):
|
|
470
472
|
return self.make_sync_dir_command(source, destination)
|
471
473
|
|
472
474
|
|
475
|
+
class OciCloudStorage(CloudStorage):
|
476
|
+
"""OCI Cloud Storage."""
|
477
|
+
|
478
|
+
def is_directory(self, url: str) -> bool:
|
479
|
+
"""Returns whether OCI 'url' is a directory.
|
480
|
+
In cloud object stores, a "directory" refers to a regular object whose
|
481
|
+
name is a prefix of other objects.
|
482
|
+
"""
|
483
|
+
bucket_name, path = data_utils.split_oci_path(url)
|
484
|
+
|
485
|
+
client = oci.get_object_storage_client()
|
486
|
+
namespace = client.get_namespace(
|
487
|
+
compartment_id=oci.get_oci_config()['tenancy']).data
|
488
|
+
|
489
|
+
objects = client.list_objects(namespace_name=namespace,
|
490
|
+
bucket_name=bucket_name,
|
491
|
+
prefix=path).data.objects
|
492
|
+
|
493
|
+
if len(objects) == 0:
|
494
|
+
# A directory with few or no items
|
495
|
+
return True
|
496
|
+
|
497
|
+
if len(objects) > 1:
|
498
|
+
# A directory with more than 1 items
|
499
|
+
return True
|
500
|
+
|
501
|
+
object_name = objects[0].name
|
502
|
+
if path.endswith(object_name):
|
503
|
+
# An object path
|
504
|
+
return False
|
505
|
+
|
506
|
+
# A directory with only 1 item
|
507
|
+
return True
|
508
|
+
|
509
|
+
@oci.with_oci_env
|
510
|
+
def make_sync_dir_command(self, source: str, destination: str) -> str:
|
511
|
+
"""Downloads using OCI CLI."""
|
512
|
+
bucket_name, path = data_utils.split_oci_path(source)
|
513
|
+
|
514
|
+
download_via_ocicli = (f'oci os object sync --no-follow-symlinks '
|
515
|
+
f'--bucket-name {bucket_name} '
|
516
|
+
f'--prefix "{path}" --dest-dir "{destination}"')
|
517
|
+
|
518
|
+
return download_via_ocicli
|
519
|
+
|
520
|
+
@oci.with_oci_env
|
521
|
+
def make_sync_file_command(self, source: str, destination: str) -> str:
|
522
|
+
"""Downloads a file using OCI CLI."""
|
523
|
+
bucket_name, path = data_utils.split_oci_path(source)
|
524
|
+
filename = os.path.basename(path)
|
525
|
+
destination = os.path.join(destination, filename)
|
526
|
+
|
527
|
+
download_via_ocicli = (f'oci os object get --bucket-name {bucket_name} '
|
528
|
+
f'--name "{path}" --file "{destination}"')
|
529
|
+
|
530
|
+
return download_via_ocicli
|
531
|
+
|
532
|
+
|
473
533
|
def get_storage_from_path(url: str) -> CloudStorage:
|
474
534
|
"""Returns a CloudStorage by identifying the scheme:// in a URL."""
|
475
535
|
result = urllib.parse.urlsplit(url)
|
@@ -485,6 +545,7 @@ _REGISTRY = {
|
|
485
545
|
's3': S3CloudStorage(),
|
486
546
|
'r2': R2CloudStorage(),
|
487
547
|
'cos': IBMCosCloudStorage(),
|
548
|
+
'oci': OciCloudStorage(),
|
488
549
|
# TODO: This is a hack, as Azure URL starts with https://, we should
|
489
550
|
# refactor the registry to be able to take regex, so that Azure blob can
|
490
551
|
# be identified with `https://(.*?)\.blob\.core\.windows\.net`
|
{skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/data_transfer.py
RENAMED
@@ -200,3 +200,40 @@ def _add_bucket_iam_member(bucket_name: str, role: str, member: str) -> None:
|
|
200
200
|
bucket.set_iam_policy(policy)
|
201
201
|
|
202
202
|
logger.debug(f'Added {member} with role {role} to {bucket_name}.')
|
203
|
+
|
204
|
+
|
205
|
+
def s3_to_oci(s3_bucket_name: str, oci_bucket_name: str) -> None:
|
206
|
+
"""Creates a one-time transfer from Amazon S3 to OCI Object Storage.
|
207
|
+
Args:
|
208
|
+
s3_bucket_name: str; Name of the Amazon S3 Bucket
|
209
|
+
oci_bucket_name: str; Name of the OCI Bucket
|
210
|
+
"""
|
211
|
+
# TODO(HysunHe): Implement sync with other clouds (s3, gs)
|
212
|
+
raise NotImplementedError('Moving data directly from S3 to OCI bucket '
|
213
|
+
'is currently not supported. Please specify '
|
214
|
+
'a local source for the storage object.')
|
215
|
+
|
216
|
+
|
217
|
+
def gcs_to_oci(gs_bucket_name: str, oci_bucket_name: str) -> None:
|
218
|
+
"""Creates a one-time transfer from Google Cloud Storage to
|
219
|
+
OCI Object Storage.
|
220
|
+
Args:
|
221
|
+
gs_bucket_name: str; Name of the Google Cloud Storage Bucket
|
222
|
+
oci_bucket_name: str; Name of the OCI Bucket
|
223
|
+
"""
|
224
|
+
# TODO(HysunHe): Implement sync with other clouds (s3, gs)
|
225
|
+
raise NotImplementedError('Moving data directly from GCS to OCI bucket '
|
226
|
+
'is currently not supported. Please specify '
|
227
|
+
'a local source for the storage object.')
|
228
|
+
|
229
|
+
|
230
|
+
def r2_to_oci(r2_bucket_name: str, oci_bucket_name: str) -> None:
|
231
|
+
"""Creates a one-time transfer from Cloudflare R2 to OCI Bucket.
|
232
|
+
Args:
|
233
|
+
r2_bucket_name: str; Name of the Cloudflare R2 Bucket
|
234
|
+
oci_bucket_name: str; Name of the OCI Bucket
|
235
|
+
"""
|
236
|
+
raise NotImplementedError(
|
237
|
+
'Moving data directly from Cloudflare R2 to OCI '
|
238
|
+
'bucket is currently not supported. Please specify '
|
239
|
+
'a local source for the storage object.')
|
{skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/data_utils.py
RENAMED
@@ -730,3 +730,14 @@ class Rclone():
|
|
730
730
|
lines_to_keep.append(line)
|
731
731
|
|
732
732
|
return lines_to_keep
|
733
|
+
|
734
|
+
|
735
|
+
def split_oci_path(oci_path: str) -> Tuple[str, str]:
|
736
|
+
"""Splits OCI Path into Bucket name and Relative Path to Bucket
|
737
|
+
Args:
|
738
|
+
oci_path: str; OCI Path, e.g. oci://imagenet/train/
|
739
|
+
"""
|
740
|
+
path_parts = oci_path.replace('oci://', '').split('/')
|
741
|
+
bucket = path_parts.pop(0)
|
742
|
+
key = '/'.join(path_parts)
|
743
|
+
return bucket, key
|
{skypilot_nightly-1.0.0.dev20241227 → skypilot_nightly-1.0.0.dev20241229}/sky/data/mounting_utils.py
RENAMED
@@ -19,6 +19,7 @@ BLOBFUSE2_VERSION = '2.2.0'
|
|
19
19
|
_BLOBFUSE_CACHE_ROOT_DIR = '~/.sky/blobfuse2_cache'
|
20
20
|
_BLOBFUSE_CACHE_DIR = ('~/.sky/blobfuse2_cache/'
|
21
21
|
'{storage_account_name}_{container_name}')
|
22
|
+
RCLONE_VERSION = 'v1.68.2'
|
22
23
|
|
23
24
|
|
24
25
|
def get_s3_mount_install_cmd() -> str:
|
@@ -158,6 +159,48 @@ def get_cos_mount_cmd(rclone_config_data: str, rclone_config_path: str,
|
|
158
159
|
return mount_cmd
|
159
160
|
|
160
161
|
|
162
|
+
def get_rclone_install_cmd() -> str:
|
163
|
+
""" RClone installation for both apt-get and rpm.
|
164
|
+
This would be common command.
|
165
|
+
"""
|
166
|
+
# pylint: disable=line-too-long
|
167
|
+
install_cmd = (
|
168
|
+
f'(which dpkg > /dev/null 2>&1 && (which rclone > /dev/null || (cd ~ > /dev/null'
|
169
|
+
f' && curl -O https://downloads.rclone.org/{RCLONE_VERSION}/rclone-{RCLONE_VERSION}-linux-amd64.deb'
|
170
|
+
f' && sudo dpkg -i rclone-{RCLONE_VERSION}-linux-amd64.deb'
|
171
|
+
f' && rm -f rclone-{RCLONE_VERSION}-linux-amd64.deb)))'
|
172
|
+
f' || (which rclone > /dev/null || (cd ~ > /dev/null'
|
173
|
+
f' && curl -O https://downloads.rclone.org/{RCLONE_VERSION}/rclone-{RCLONE_VERSION}-linux-amd64.rpm'
|
174
|
+
f' && sudo yum --nogpgcheck install rclone-{RCLONE_VERSION}-linux-amd64.rpm -y'
|
175
|
+
f' && rm -f rclone-{RCLONE_VERSION}-linux-amd64.rpm))')
|
176
|
+
return install_cmd
|
177
|
+
|
178
|
+
|
179
|
+
def get_oci_mount_cmd(mount_path: str, store_name: str, region: str,
|
180
|
+
namespace: str, compartment: str, config_file: str,
|
181
|
+
config_profile: str) -> str:
|
182
|
+
""" OCI specific RClone mount command for oci object storage. """
|
183
|
+
# pylint: disable=line-too-long
|
184
|
+
mount_cmd = (
|
185
|
+
f'sudo chown -R `whoami` {mount_path}'
|
186
|
+
f' && rclone config create oos_{store_name} oracleobjectstorage'
|
187
|
+
f' provider user_principal_auth namespace {namespace}'
|
188
|
+
f' compartment {compartment} region {region}'
|
189
|
+
f' oci-config-file {config_file}'
|
190
|
+
f' oci-config-profile {config_profile}'
|
191
|
+
f' && sed -i "s/oci-config-file/config_file/g;'
|
192
|
+
f' s/oci-config-profile/config_profile/g" ~/.config/rclone/rclone.conf'
|
193
|
+
f' && ([ ! -f /bin/fusermount3 ] && sudo ln -s /bin/fusermount /bin/fusermount3 || true)'
|
194
|
+
f' && (grep -q {mount_path} /proc/mounts || rclone mount oos_{store_name}:{store_name} {mount_path} --daemon --allow-non-empty)'
|
195
|
+
)
|
196
|
+
return mount_cmd
|
197
|
+
|
198
|
+
|
199
|
+
def get_rclone_version_check_cmd() -> str:
|
200
|
+
""" RClone version check. This would be common command. """
|
201
|
+
return f'rclone --version | grep -q {RCLONE_VERSION}'
|
202
|
+
|
203
|
+
|
161
204
|
def _get_mount_binary(mount_cmd: str) -> str:
|
162
205
|
"""Returns mounting binary in string given as the mount command.
|
163
206
|
|