skypilot-nightly 1.0.0.dev20251013__tar.gz → 1.0.0.dev20251015__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.
Potentially problematic release.
This version of skypilot-nightly might be problematic. Click here for more details.
- {skypilot_nightly-1.0.0.dev20251013/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20251015}/PKG-INFO +35 -34
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/README.md +2 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/authentication.py +9 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/backend_utils.py +62 -40
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/cloud_vm_ray_backend.py +8 -6
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/kubernetes_catalog.py +19 -25
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/cli/command.py +53 -19
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/sdk.py +13 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/404.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/clusters/[cluster].html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/config.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/infra/[context].html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/infra.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/jobs/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/users.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/volumes.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/workspace/new.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/workspaces/[name].html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/workspaces.html +1 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/controller.py +122 -145
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/recovery_strategy.py +59 -82
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/scheduler.py +5 -5
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/state.py +65 -21
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/utils.py +58 -22
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/metrics/utils.py +27 -6
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/common.py +2 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/instance_setup.py +10 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/instance.py +34 -10
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/utils.py +53 -39
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/common.py +4 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/executor.py +3 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/preconditions.py +2 -4
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/requests.py +13 -23
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/server.py +5 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/sky_logging.py +0 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/constants.py +22 -5
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/log_lib.py +0 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/log_lib.pyi +1 -1
- skypilot_nightly-1.0.0.dev20251015/sky/utils/asyncio_utils.py +18 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/common.py +2 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/context.py +57 -51
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/context_utils.py +2 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/controller_utils.py +35 -8
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/locks.py +20 -5
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/subprocess_utils.py +4 -3
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015/skypilot_nightly.egg-info}/PKG-INFO +35 -34
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/skypilot_nightly.egg-info/SOURCES.txt +4 -2
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_cli.py +112 -0
- skypilot_nightly-1.0.0.dev20251015/tests/test_infra_k8s_alias.py +97 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_jobs_state_async_vs_sync.py +57 -1
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/primeintellect.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/seeweb.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/shadeform.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/analyze.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_seeweb.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_shadeform.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/hyperbolic_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/primeintellect_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/seeweb_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/shadeform_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/ssh_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/cli/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/cli/deprecation_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/cli/flags.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/cli/table_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/oauth.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/client/service_account_auth.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/primeintellect.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/seeweb.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/shadeform.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/ssh.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013/sky/dashboard/out/_next/static/MtlDUf-nH1hhcy7xwbCj3 → skypilot_nightly-1.0.0.dev20251015/sky/dashboard/out/_next/static/-bih7JVStsXyeasac-dvQ}/_buildManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013/sky/dashboard/out/_next/static/MtlDUf-nH1hhcy7xwbCj3 → skypilot_nightly-1.0.0.dev20251015/sky/dashboard/out/_next/static/-bih7JVStsXyeasac-dvQ}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/1871-49141c317f3a9020.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/2755.97300e1362fe7c98.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/3015-7e0e8f06bb2f881c.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/3294.1fafbf42b3bcebff.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/3785.a19328ba41517b8b.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/8969-66237729cdf9749e.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/9360.71e83b2ddc844ec2.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8f058b0346db2aff.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-477555ab7c0b13d8.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-553b8b5cb65e100b.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/infra-910a22500c50596f.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-e5c9ce6a24fc0de4.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-bc979970c247d8f3.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/users-98d2ed979084162a.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/volumes-835d14ba94808f79.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-e8688c35c06f0ac5.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/chunks/webpack-ac3a34c8f9fef041.js +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/jobs/server/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/logs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/logs/agent.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/logs/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/logs/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/metrics/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/gcp/volume_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/hyperbolic/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/hyperbolic/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/hyperbolic/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/hyperbolic/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/kubernetes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/nebius/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/nebius/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/primeintellect/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/primeintellect/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/primeintellect/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/primeintellect/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/runpod/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/scp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/seeweb/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/seeweb/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/seeweb/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/shadeform/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/shadeform/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/shadeform/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/shadeform/shadeform_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/ssh/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/py.typed +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/api/responses.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/README +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/env.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/global_user_state/010_save_ssh_key.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/script.py.mako +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/autostopv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/jobsv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/jobsv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/jobsv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/managed_jobsv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/managed_jobsv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/managed_jobsv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/servev1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/servev1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/schemas/generated/servev1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/client/impl.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/serve_rpc_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/server/impl.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/serve/spot_placer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/auth/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/auth/authn.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/auth/loopback.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/auth/oauth2_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/daemons.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/html/token_page.html +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/metrics.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/payloads.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/serializers/decoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/requests/serializers/encoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/rest.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/uvicorn.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/server/versions.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/setup_files/alembic.ini +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/cli.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/updater.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/worker.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/services.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/ssh_node_pools/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/ssh_node_pools/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/ssh_node_pools/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/primeintellect-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/seeweb-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/shadeform-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/users/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/users/model.conf +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/users/permission.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/users/rbac.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/users/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/users/token_service.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/annotations.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/db/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/db/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/db/migration_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/directory_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/git_clone.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/infra_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/config_map_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes/ssh_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/lock_events.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/perf_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/resource_checker.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/schemas.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/serialize_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/tempstore.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/utils/yaml_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/volumes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/workspaces/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/workspaces/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/workspaces/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/workspaces/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/skypilot_nightly.egg-info/requires.txt +31 -31
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_api_compatibility.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_no_parellel.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_ssh_proxy_lag.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/tests/test_yaml_parser.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skypilot-nightly
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev20251015
|
|
4
4
|
Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
|
|
5
5
|
Author: SkyPilot Team
|
|
6
6
|
License: Apache 2.0
|
|
@@ -156,51 +156,51 @@ Requires-Dist: aiosqlite; extra == "server"
|
|
|
156
156
|
Requires-Dist: greenlet; extra == "server"
|
|
157
157
|
Provides-Extra: shadeform
|
|
158
158
|
Provides-Extra: all
|
|
159
|
-
Requires-Dist:
|
|
159
|
+
Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
|
|
160
|
+
Requires-Dist: passlib; extra == "all"
|
|
160
161
|
Requires-Dist: ecsapi>=0.2.0; extra == "all"
|
|
161
|
-
Requires-Dist:
|
|
162
|
-
Requires-Dist: aiohttp; extra == "all"
|
|
162
|
+
Requires-Dist: ibm-cloud-sdk-core; extra == "all"
|
|
163
163
|
Requires-Dist: cudo-compute>=0.1.10; extra == "all"
|
|
164
|
-
Requires-Dist:
|
|
165
|
-
Requires-Dist: grpcio>=1.63.0; extra == "all"
|
|
166
|
-
Requires-Dist: colorama<0.4.5; extra == "all"
|
|
167
|
-
Requires-Dist: anyio; extra == "all"
|
|
168
|
-
Requires-Dist: passlib; extra == "all"
|
|
169
|
-
Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
|
|
164
|
+
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
|
|
170
165
|
Requires-Dist: pyjwt; extra == "all"
|
|
171
|
-
Requires-Dist:
|
|
172
|
-
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
173
|
-
Requires-Dist: websockets; extra == "all"
|
|
174
|
-
Requires-Dist: tomli; python_version < "3.11" and extra == "all"
|
|
166
|
+
Requires-Dist: google-cloud-storage; extra == "all"
|
|
175
167
|
Requires-Dist: pydo>=0.3.0; extra == "all"
|
|
176
|
-
Requires-Dist:
|
|
168
|
+
Requires-Dist: boto3>=1.26.1; extra == "all"
|
|
169
|
+
Requires-Dist: azure-common; extra == "all"
|
|
170
|
+
Requires-Dist: azure-core>=1.31.0; extra == "all"
|
|
171
|
+
Requires-Dist: grpcio>=1.63.0; extra == "all"
|
|
172
|
+
Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
|
|
173
|
+
Requires-Dist: aiohttp; extra == "all"
|
|
177
174
|
Requires-Dist: ibm-cos-sdk; extra == "all"
|
|
175
|
+
Requires-Dist: azure-core>=1.24.0; extra == "all"
|
|
178
176
|
Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
|
|
179
|
-
Requires-Dist: oci; extra == "all"
|
|
180
177
|
Requires-Dist: aiosqlite; extra == "all"
|
|
181
|
-
Requires-Dist:
|
|
182
|
-
Requires-Dist:
|
|
183
|
-
Requires-Dist:
|
|
184
|
-
Requires-Dist:
|
|
185
|
-
Requires-Dist:
|
|
186
|
-
Requires-Dist:
|
|
187
|
-
Requires-Dist: botocore>=1.29.10; extra == "all"
|
|
188
|
-
Requires-Dist: ibm-vpc; extra == "all"
|
|
189
|
-
Requires-Dist: ray[default]>=2.6.1; extra == "all"
|
|
178
|
+
Requires-Dist: python-dateutil; extra == "all"
|
|
179
|
+
Requires-Dist: azure-cli>=2.65.0; extra == "all"
|
|
180
|
+
Requires-Dist: colorama<0.4.5; extra == "all"
|
|
181
|
+
Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
|
|
182
|
+
Requires-Dist: anyio; extra == "all"
|
|
183
|
+
Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
|
|
190
184
|
Requires-Dist: azure-identity>=1.19.0; extra == "all"
|
|
191
185
|
Requires-Dist: sqlalchemy_adapter; extra == "all"
|
|
186
|
+
Requires-Dist: docker; extra == "all"
|
|
192
187
|
Requires-Dist: greenlet; extra == "all"
|
|
188
|
+
Requires-Dist: nebius>=0.2.47; extra == "all"
|
|
189
|
+
Requires-Dist: oci; extra == "all"
|
|
190
|
+
Requires-Dist: msrestazure; extra == "all"
|
|
191
|
+
Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
|
|
192
|
+
Requires-Dist: websockets; extra == "all"
|
|
193
193
|
Requires-Dist: awscli>=1.27.10; extra == "all"
|
|
194
|
-
Requires-Dist:
|
|
195
|
-
Requires-Dist:
|
|
194
|
+
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
195
|
+
Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
|
|
196
|
+
Requires-Dist: casbin; extra == "all"
|
|
196
197
|
Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
|
|
197
|
-
Requires-Dist:
|
|
198
|
-
Requires-Dist:
|
|
199
|
-
Requires-Dist:
|
|
200
|
-
Requires-Dist:
|
|
198
|
+
Requires-Dist: msgraph-sdk; extra == "all"
|
|
199
|
+
Requires-Dist: botocore>=1.29.10; extra == "all"
|
|
200
|
+
Requires-Dist: tomli; python_version < "3.11" and extra == "all"
|
|
201
|
+
Requires-Dist: ibm-vpc; extra == "all"
|
|
201
202
|
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
|
|
202
|
-
Requires-Dist:
|
|
203
|
-
Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
|
|
203
|
+
Requires-Dist: ray[default]>=2.6.1; extra == "all"
|
|
204
204
|
Dynamic: author
|
|
205
205
|
Dynamic: classifier
|
|
206
206
|
Dynamic: description
|
|
@@ -250,7 +250,8 @@ Dynamic: summary
|
|
|
250
250
|
----
|
|
251
251
|
|
|
252
252
|
:fire: *News* :fire:
|
|
253
|
-
- [Oct 2025]
|
|
253
|
+
- [Oct 2025] Train and serve [Andrej Karpathy's](https://x.com/karpathy/status/1977755427569111362) **nanochat** - the best ChatGPT that $100 can buy: [**example**](./llm/nanochat)
|
|
254
|
+
- [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./examples/training/torchtitan)
|
|
254
255
|
- [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
|
|
255
256
|
- [Sep 2025] Network and Storage Benchmarks for LLM training on the cloud: [**blog**](https://maknee.github.io/blog/2025/Network-And-Storage-Training-Skypilot/)
|
|
256
257
|
- [Aug 2025] Serve and finetune **OpenAI GPT-OSS models** (gpt-oss-120b, gpt-oss-20b) with one command on any infra: [**serve**](./llm/gpt-oss/) + [**LoRA and full finetuning**](./llm/gpt-oss-finetuning/)
|
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
----
|
|
40
40
|
|
|
41
41
|
:fire: *News* :fire:
|
|
42
|
-
- [Oct 2025]
|
|
42
|
+
- [Oct 2025] Train and serve [Andrej Karpathy's](https://x.com/karpathy/status/1977755427569111362) **nanochat** - the best ChatGPT that $100 can buy: [**example**](./llm/nanochat)
|
|
43
|
+
- [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./examples/training/torchtitan)
|
|
43
44
|
- [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
|
|
44
45
|
- [Sep 2025] Network and Storage Benchmarks for LLM training on the cloud: [**blog**](https://maknee.github.io/blog/2025/Network-And-Storage-Training-Skypilot/)
|
|
45
46
|
- [Aug 2025] Serve and finetune **OpenAI GPT-OSS models** (gpt-oss-120b, gpt-oss-20b) with one command on any infra: [**serve**](./llm/gpt-oss/) + [**LoRA and full finetuning**](./llm/gpt-oss-finetuning/)
|
|
@@ -7,7 +7,7 @@ import urllib.request
|
|
|
7
7
|
from sky.utils import directory_utils
|
|
8
8
|
|
|
9
9
|
# Replaced with the current commit when building the wheels.
|
|
10
|
-
_SKYPILOT_COMMIT_SHA = '
|
|
10
|
+
_SKYPILOT_COMMIT_SHA = '4f345c81bd4baeb1ea1e7a98dc6b650f6ec6c7c5'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _get_git_commit():
|
|
@@ -37,7 +37,7 @@ def _get_git_commit():
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
__commit__ = _get_git_commit()
|
|
40
|
-
__version__ = '1.0.0.
|
|
40
|
+
__version__ = '1.0.0.dev20251015'
|
|
41
41
|
__root_dir__ = directory_utils.get_sky_dir()
|
|
42
42
|
|
|
43
43
|
|
{skypilot_nightly-1.0.0.dev20251013 → skypilot_nightly-1.0.0.dev20251015}/sky/authentication.py
RENAMED
|
@@ -153,7 +153,12 @@ def get_or_generate_keys() -> Tuple[str, str]:
|
|
|
153
153
|
return private_key_path, public_key_path
|
|
154
154
|
|
|
155
155
|
|
|
156
|
-
def create_ssh_key_files_from_db(private_key_path: str):
|
|
156
|
+
def create_ssh_key_files_from_db(private_key_path: str) -> bool:
|
|
157
|
+
"""Creates the ssh key files from the database.
|
|
158
|
+
|
|
159
|
+
Returns:
|
|
160
|
+
True if the ssh key files are created successfully, False otherwise.
|
|
161
|
+
"""
|
|
157
162
|
# Assume private key path is in the format of
|
|
158
163
|
# ~/.sky/clients/<user_hash>/ssh/sky-key
|
|
159
164
|
separated_path = os.path.normpath(private_key_path).split(os.path.sep)
|
|
@@ -181,12 +186,14 @@ def create_ssh_key_files_from_db(private_key_path: str):
|
|
|
181
186
|
ssh_public_key, ssh_private_key, exists = (
|
|
182
187
|
global_user_state.get_ssh_keys(user_hash))
|
|
183
188
|
if not exists:
|
|
184
|
-
|
|
189
|
+
logger.debug(f'SSH keys not found for user {user_hash}')
|
|
190
|
+
return False
|
|
185
191
|
_save_key_pair(private_key_path, public_key_path, ssh_private_key,
|
|
186
192
|
ssh_public_key)
|
|
187
193
|
assert os.path.exists(public_key_path), (
|
|
188
194
|
'Private key found, but associated public key '
|
|
189
195
|
f'{public_key_path} does not exist.')
|
|
196
|
+
return True
|
|
190
197
|
|
|
191
198
|
|
|
192
199
|
def configure_ssh_info(config: Dict[str, Any]) -> Dict[str, Any]:
|
|
@@ -1857,6 +1857,13 @@ def check_owner_identity(cluster_name: str) -> None:
|
|
|
1857
1857
|
summary_response=True)
|
|
1858
1858
|
if record is None:
|
|
1859
1859
|
return
|
|
1860
|
+
_check_owner_identity_with_record(cluster_name, record)
|
|
1861
|
+
|
|
1862
|
+
|
|
1863
|
+
def _check_owner_identity_with_record(cluster_name: str,
|
|
1864
|
+
record: Dict[str, Any]) -> None:
|
|
1865
|
+
if env_options.Options.SKIP_CLOUD_IDENTITY_CHECK.get():
|
|
1866
|
+
return
|
|
1860
1867
|
handle = record['handle']
|
|
1861
1868
|
if not isinstance(handle, backends.CloudVmRayResourceHandle):
|
|
1862
1869
|
return
|
|
@@ -2151,6 +2158,7 @@ def check_can_clone_disk_and_override_task(
|
|
|
2151
2158
|
|
|
2152
2159
|
def _update_cluster_status(
|
|
2153
2160
|
cluster_name: str,
|
|
2161
|
+
record: Dict[str, Any],
|
|
2154
2162
|
include_user_info: bool = True,
|
|
2155
2163
|
summary_response: bool = False) -> Optional[Dict[str, Any]]:
|
|
2156
2164
|
"""Update the cluster status.
|
|
@@ -2179,12 +2187,6 @@ def _update_cluster_status(
|
|
|
2179
2187
|
fetched from the cloud provider or there are leaked nodes causing
|
|
2180
2188
|
the node number larger than expected.
|
|
2181
2189
|
"""
|
|
2182
|
-
record = global_user_state.get_cluster_from_name(
|
|
2183
|
-
cluster_name,
|
|
2184
|
-
include_user_info=include_user_info,
|
|
2185
|
-
summary_response=summary_response)
|
|
2186
|
-
if record is None:
|
|
2187
|
-
return None
|
|
2188
2190
|
handle = record['handle']
|
|
2189
2191
|
if handle.cluster_yaml is None:
|
|
2190
2192
|
# Remove cluster from db since this cluster does not have a config file
|
|
@@ -2677,10 +2679,9 @@ def refresh_cluster_record(
|
|
|
2677
2679
|
# using the correct cloud credentials.
|
|
2678
2680
|
workspace = record.get('workspace', constants.SKYPILOT_DEFAULT_WORKSPACE)
|
|
2679
2681
|
with skypilot_config.local_active_workspace_ctx(workspace):
|
|
2680
|
-
check_owner_identity
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
return record
|
|
2682
|
+
# check_owner_identity returns if the record handle is
|
|
2683
|
+
# not a CloudVmRayResourceHandle
|
|
2684
|
+
_check_owner_identity_with_record(cluster_name, record)
|
|
2684
2685
|
|
|
2685
2686
|
# The loop logic allows us to notice if the status was updated in the
|
|
2686
2687
|
# global_user_state by another process and stop trying to get the lock.
|
|
@@ -2697,7 +2698,8 @@ def refresh_cluster_record(
|
|
|
2697
2698
|
return record
|
|
2698
2699
|
|
|
2699
2700
|
if cluster_lock_already_held:
|
|
2700
|
-
return _update_cluster_status(cluster_name,
|
|
2701
|
+
return _update_cluster_status(cluster_name, record,
|
|
2702
|
+
include_user_info,
|
|
2701
2703
|
summary_response)
|
|
2702
2704
|
|
|
2703
2705
|
# Try to acquire the lock so we can fetch the status.
|
|
@@ -2713,7 +2715,7 @@ def refresh_cluster_record(
|
|
|
2713
2715
|
record, force_refresh_statuses):
|
|
2714
2716
|
return record
|
|
2715
2717
|
# Update and return the cluster status.
|
|
2716
|
-
return _update_cluster_status(cluster_name,
|
|
2718
|
+
return _update_cluster_status(cluster_name, record,
|
|
2717
2719
|
include_user_info,
|
|
2718
2720
|
summary_response)
|
|
2719
2721
|
|
|
@@ -3117,25 +3119,23 @@ def refresh_cluster_records() -> None:
|
|
|
3117
3119
|
exclude_managed_clusters = True
|
|
3118
3120
|
if env_options.Options.SHOW_DEBUG_INFO.get():
|
|
3119
3121
|
exclude_managed_clusters = False
|
|
3120
|
-
cluster_names =
|
|
3121
|
-
|
|
3122
|
+
cluster_names = set(
|
|
3123
|
+
global_user_state.get_cluster_names(
|
|
3124
|
+
exclude_managed_clusters=exclude_managed_clusters,))
|
|
3122
3125
|
|
|
3123
3126
|
# TODO(syang): we should try not to leak
|
|
3124
3127
|
# request info in backend_utils.py.
|
|
3125
3128
|
# Refactor this to use some other info to
|
|
3126
3129
|
# determine if a launch is in progress.
|
|
3127
|
-
|
|
3130
|
+
requests = requests_lib.get_request_tasks(
|
|
3128
3131
|
req_filter=requests_lib.RequestTaskFilter(
|
|
3129
3132
|
status=[requests_lib.RequestStatus.RUNNING],
|
|
3130
|
-
cluster_names=cluster_names,
|
|
3131
3133
|
include_request_names=['sky.launch']))
|
|
3132
3134
|
cluster_names_with_launch_request = {
|
|
3133
|
-
request.cluster_name for request in
|
|
3135
|
+
request.cluster_name for request in requests
|
|
3134
3136
|
}
|
|
3135
|
-
cluster_names_without_launch_request =
|
|
3136
|
-
|
|
3137
|
-
if cluster_name not in cluster_names_with_launch_request
|
|
3138
|
-
]
|
|
3137
|
+
cluster_names_without_launch_request = (cluster_names -
|
|
3138
|
+
cluster_names_with_launch_request)
|
|
3139
3139
|
|
|
3140
3140
|
def _refresh_cluster_record(cluster_name):
|
|
3141
3141
|
return _refresh_cluster(cluster_name,
|
|
@@ -3144,7 +3144,7 @@ def refresh_cluster_records() -> None:
|
|
|
3144
3144
|
include_user_info=False,
|
|
3145
3145
|
summary_response=True)
|
|
3146
3146
|
|
|
3147
|
-
if len(
|
|
3147
|
+
if len(cluster_names_without_launch_request) > 0:
|
|
3148
3148
|
# Do not refresh the clusters that have an active launch request.
|
|
3149
3149
|
subprocess_utils.run_in_parallel(_refresh_cluster_record,
|
|
3150
3150
|
cluster_names_without_launch_request)
|
|
@@ -3270,7 +3270,15 @@ def get_clusters(
|
|
|
3270
3270
|
expanded_private_key_path = os.path.expanduser(
|
|
3271
3271
|
ssh_private_key_path)
|
|
3272
3272
|
if not os.path.exists(expanded_private_key_path):
|
|
3273
|
-
auth.create_ssh_key_files_from_db(
|
|
3273
|
+
success = auth.create_ssh_key_files_from_db(
|
|
3274
|
+
ssh_private_key_path)
|
|
3275
|
+
if not success:
|
|
3276
|
+
# If the ssh key files are not found, we do not
|
|
3277
|
+
# update the record with credentials.
|
|
3278
|
+
logger.debug(
|
|
3279
|
+
f'SSH keys not found for cluster {record["name"]} '
|
|
3280
|
+
f'at key path {ssh_private_key_path}')
|
|
3281
|
+
continue
|
|
3274
3282
|
else:
|
|
3275
3283
|
private_key_path, _ = auth.get_or_generate_keys()
|
|
3276
3284
|
expanded_private_key_path = os.path.expanduser(private_key_path)
|
|
@@ -3332,7 +3340,10 @@ def get_clusters(
|
|
|
3332
3340
|
force_refresh_statuses=force_refresh_statuses,
|
|
3333
3341
|
include_user_info=True,
|
|
3334
3342
|
summary_response=summary_response)
|
|
3335
|
-
if
|
|
3343
|
+
# record may be None if the cluster is deleted during refresh,
|
|
3344
|
+
# e.g. all the Pods of a cluster on Kubernetes have been
|
|
3345
|
+
# deleted before refresh.
|
|
3346
|
+
if record is not None and 'error' not in record:
|
|
3336
3347
|
_update_records_with_handle_info([record])
|
|
3337
3348
|
if include_credentials:
|
|
3338
3349
|
_update_records_with_credentials([record])
|
|
@@ -3344,45 +3355,56 @@ def get_clusters(
|
|
|
3344
3355
|
# request info in backend_utils.py.
|
|
3345
3356
|
# Refactor this to use some other info to
|
|
3346
3357
|
# determine if a launch is in progress.
|
|
3347
|
-
|
|
3358
|
+
requests = requests_lib.get_request_tasks(
|
|
3348
3359
|
req_filter=requests_lib.RequestTaskFilter(
|
|
3349
3360
|
status=[requests_lib.RequestStatus.RUNNING],
|
|
3350
3361
|
cluster_names=cluster_names,
|
|
3351
3362
|
include_request_names=['sky.launch']))
|
|
3352
3363
|
cluster_names_with_launch_request = {
|
|
3353
|
-
request.cluster_name for request in
|
|
3364
|
+
request.cluster_name for request in requests
|
|
3354
3365
|
}
|
|
3366
|
+
# Preserve the index of the cluster name as it appears on "records"
|
|
3355
3367
|
cluster_names_without_launch_request = [
|
|
3356
|
-
|
|
3368
|
+
(i, cluster_name)
|
|
3369
|
+
for i, cluster_name in enumerate(cluster_names)
|
|
3357
3370
|
if cluster_name not in cluster_names_with_launch_request
|
|
3358
3371
|
]
|
|
3359
3372
|
# for clusters that have an active launch request, we do not refresh the status
|
|
3360
|
-
updated_records = [
|
|
3361
|
-
record for record in records
|
|
3362
|
-
if record['name'] in cluster_names_with_launch_request
|
|
3363
|
-
]
|
|
3373
|
+
updated_records = []
|
|
3364
3374
|
if len(cluster_names_without_launch_request) > 0:
|
|
3365
3375
|
with progress:
|
|
3366
3376
|
updated_records = subprocess_utils.run_in_parallel(
|
|
3367
|
-
_refresh_cluster_record,
|
|
3368
|
-
|
|
3377
|
+
_refresh_cluster_record, [
|
|
3378
|
+
cluster_name
|
|
3379
|
+
for _, cluster_name in cluster_names_without_launch_request
|
|
3380
|
+
])
|
|
3381
|
+
# Preserve the index of the cluster name as it appears on "records"
|
|
3382
|
+
# before filtering for clusters being launched.
|
|
3383
|
+
updated_records_dict: Dict[int, Optional[Dict[str, Any]]] = {
|
|
3384
|
+
cluster_names_without_launch_request[i][0]: updated_records[i]
|
|
3385
|
+
for i in range(len(cluster_names_without_launch_request))
|
|
3386
|
+
}
|
|
3369
3387
|
# Show information for removed clusters.
|
|
3370
3388
|
kept_records = []
|
|
3371
3389
|
autodown_clusters, remaining_clusters, failed_clusters = [], [], []
|
|
3372
3390
|
for i, record in enumerate(records):
|
|
3373
|
-
if
|
|
3391
|
+
if i not in updated_records_dict:
|
|
3392
|
+
# record was not refreshed, keep the original record
|
|
3393
|
+
kept_records.append(record)
|
|
3394
|
+
continue
|
|
3395
|
+
updated_record = updated_records_dict[i]
|
|
3396
|
+
if updated_record is None:
|
|
3374
3397
|
if record['to_down']:
|
|
3375
|
-
autodown_clusters.append(
|
|
3398
|
+
autodown_clusters.append(record['name'])
|
|
3376
3399
|
else:
|
|
3377
|
-
remaining_clusters.append(
|
|
3378
|
-
elif
|
|
3379
|
-
failed_clusters.append(
|
|
3380
|
-
(cluster_names[i], updated_records[i]['error']))
|
|
3400
|
+
remaining_clusters.append(record['name'])
|
|
3401
|
+
elif updated_record['status'] == 'UNKNOWN':
|
|
3402
|
+
failed_clusters.append((record['name'], updated_record['error']))
|
|
3381
3403
|
# Keep the original record if the status is unknown,
|
|
3382
3404
|
# so that the user can still see the cluster.
|
|
3383
3405
|
kept_records.append(record)
|
|
3384
3406
|
else:
|
|
3385
|
-
kept_records.append(
|
|
3407
|
+
kept_records.append(updated_record)
|
|
3386
3408
|
|
|
3387
3409
|
if autodown_clusters:
|
|
3388
3410
|
plural = 's' if len(autodown_clusters) > 1 else ''
|
|
@@ -605,7 +605,11 @@ class RayCodeGen:
|
|
|
605
605
|
# skip the scheduling step.
|
|
606
606
|
job_lib.scheduler.schedule_step()
|
|
607
607
|
|
|
608
|
-
|
|
608
|
+
# If some nodes are down and then new nodes are added after launching again,
|
|
609
|
+
# the result of `ray.nodes()` will include all the nodes, so we need to get
|
|
610
|
+
# the alive nodes.
|
|
611
|
+
alive_nodes = [n for n in ray.nodes() if 'Alive' in n and n['Alive']]
|
|
612
|
+
total_num_nodes = len(alive_nodes)
|
|
609
613
|
setup_bundles = [{{"CPU": _SETUP_CPUS}} for _ in range(total_num_nodes)]
|
|
610
614
|
setup_pg = ray.util.placement_group(setup_bundles, strategy='STRICT_SPREAD')
|
|
611
615
|
setup_workers = [run_bash_command_with_log_and_return_pid \\
|
|
@@ -3720,7 +3724,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
|
3720
3724
|
|
|
3721
3725
|
self._update_after_cluster_provisioned(
|
|
3722
3726
|
handle, to_provision_config.prev_handle, task,
|
|
3723
|
-
prev_cluster_status,
|
|
3727
|
+
prev_cluster_status, config_hash)
|
|
3724
3728
|
return handle, False
|
|
3725
3729
|
|
|
3726
3730
|
cluster_config_file = config_dict['ray']
|
|
@@ -3792,7 +3796,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
|
3792
3796
|
|
|
3793
3797
|
self._update_after_cluster_provisioned(
|
|
3794
3798
|
handle, to_provision_config.prev_handle, task,
|
|
3795
|
-
prev_cluster_status,
|
|
3799
|
+
prev_cluster_status, config_hash)
|
|
3796
3800
|
return handle, False
|
|
3797
3801
|
|
|
3798
3802
|
def _open_ports(self, handle: CloudVmRayResourceHandle) -> None:
|
|
@@ -3810,7 +3814,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
|
3810
3814
|
prev_handle: Optional[CloudVmRayResourceHandle],
|
|
3811
3815
|
task: task_lib.Task,
|
|
3812
3816
|
prev_cluster_status: Optional[status_lib.ClusterStatus],
|
|
3813
|
-
|
|
3817
|
+
config_hash: str) -> None:
|
|
3814
3818
|
usage_lib.messages.usage.update_cluster_resources(
|
|
3815
3819
|
handle.launched_nodes, handle.launched_resources)
|
|
3816
3820
|
usage_lib.messages.usage.update_final_cluster_status(
|
|
@@ -3922,8 +3926,6 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
|
3922
3926
|
handle.cached_external_ssh_ports, handle.docker_user,
|
|
3923
3927
|
handle.ssh_user)
|
|
3924
3928
|
|
|
3925
|
-
locks.get_lock(lock_id).force_unlock()
|
|
3926
|
-
|
|
3927
3929
|
def _sync_workdir(self, handle: CloudVmRayResourceHandle,
|
|
3928
3930
|
workdir: Union[Path, Dict[str, Any]],
|
|
3929
3931
|
envs_and_secrets: Dict[str, str]) -> None:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Kubernetes does not require a catalog of instances, but we need an image catalog
|
|
4
4
|
mapping SkyPilot image tags to corresponding container image tags.
|
|
5
5
|
"""
|
|
6
|
+
import collections
|
|
6
7
|
import re
|
|
7
8
|
import typing
|
|
8
9
|
from typing import Dict, List, Optional, Set, Tuple
|
|
@@ -167,12 +168,25 @@ def _list_accelerators(
|
|
|
167
168
|
accelerators_qtys: Set[Tuple[str, int]] = set()
|
|
168
169
|
keys = lf.get_label_keys()
|
|
169
170
|
nodes = kubernetes_utils.get_kubernetes_nodes(context=context)
|
|
171
|
+
|
|
172
|
+
# Check if any nodes have accelerators before fetching pods
|
|
173
|
+
has_accelerator_nodes = False
|
|
174
|
+
for node in nodes:
|
|
175
|
+
for key in keys:
|
|
176
|
+
if key in node.metadata.labels:
|
|
177
|
+
has_accelerator_nodes = True
|
|
178
|
+
break
|
|
179
|
+
if has_accelerator_nodes:
|
|
180
|
+
break
|
|
181
|
+
|
|
182
|
+
# Only fetch pods if we have accelerator nodes and realtime is requested
|
|
170
183
|
pods = None
|
|
171
|
-
|
|
172
|
-
|
|
184
|
+
allocated_qty_by_node: Dict[str, int] = collections.defaultdict(int)
|
|
185
|
+
if realtime and has_accelerator_nodes:
|
|
186
|
+
# Get the allocated GPU quantity by each node
|
|
173
187
|
try:
|
|
174
|
-
|
|
175
|
-
context=context)
|
|
188
|
+
allocated_qty_by_node = (
|
|
189
|
+
kubernetes_utils.get_allocated_gpu_qty_by_node(context=context))
|
|
176
190
|
except kubernetes.api_exception() as e:
|
|
177
191
|
if e.status == 403:
|
|
178
192
|
logger.warning(
|
|
@@ -191,7 +205,6 @@ def _list_accelerators(
|
|
|
191
205
|
for node in nodes:
|
|
192
206
|
for key in keys:
|
|
193
207
|
if key in node.metadata.labels:
|
|
194
|
-
allocated_qty = 0
|
|
195
208
|
accelerator_name = lf.get_accelerator_from_label_value(
|
|
196
209
|
node.metadata.labels.get(key))
|
|
197
210
|
|
|
@@ -251,26 +264,7 @@ def _list_accelerators(
|
|
|
251
264
|
total_accelerators_available[accelerator_name] = -1
|
|
252
265
|
continue
|
|
253
266
|
|
|
254
|
-
|
|
255
|
-
# Get all the pods running on the node
|
|
256
|
-
if (pod.spec.node_name == node.metadata.name and
|
|
257
|
-
pod.status.phase in ['Running', 'Pending']):
|
|
258
|
-
# Skip pods that should not count against GPU count
|
|
259
|
-
if (kubernetes_utils.
|
|
260
|
-
should_exclude_pod_from_gpu_allocation(pod)):
|
|
261
|
-
logger.debug(
|
|
262
|
-
f'Excluding pod '
|
|
263
|
-
f'{pod.metadata.name} from GPU count '
|
|
264
|
-
f'calculations on node {node.metadata.name}')
|
|
265
|
-
continue
|
|
266
|
-
# Iterate over all the containers in the pod and sum
|
|
267
|
-
# the GPU requests
|
|
268
|
-
for container in pod.spec.containers:
|
|
269
|
-
if container.resources.requests:
|
|
270
|
-
allocated_qty += (
|
|
271
|
-
kubernetes_utils.get_node_accelerator_count(
|
|
272
|
-
context, container.resources.requests))
|
|
273
|
-
|
|
267
|
+
allocated_qty = allocated_qty_by_node[node.metadata.name]
|
|
274
268
|
accelerators_available = accelerator_count - allocated_qty
|
|
275
269
|
# Initialize the total_accelerators_available to make sure the
|
|
276
270
|
# key exists in the dictionary.
|