skypilot-nightly 1.0.0.dev20250806__tar.gz → 1.0.0.dev20250807__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.dev20250806/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250807}/PKG-INFO +18 -13
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/README.md +17 -12
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/cloud_vm_ray_backend.py +33 -4
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/check.py +11 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/cli/command.py +208 -93
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/sdk.py +14 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/sdk_async.py +4 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/404.html +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/YAirOGsV1z6B2RJ0VIUmD/_buildManifest.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/1141-a8a8f1adba34c892.js +11 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/1871-980a395e92633a5c.js +6 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/3785.6003d293cb83eab4.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/4725.29550342bd53afd8.js +1 -0
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/4937.d6bf67771e353356.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/6601-3e21152fe16da09c.js +1 -0
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/691.6d99cbfba347cebf.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/691.5eeedf82cc243343.js +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/6989-6129c1cfbcf51063.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/6990-0f886f16e0d55ff8.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/8056-019615038d6ce427.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/8252.62b0d23aed618bb2.js +16 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/8969-318c3dca725e8e5d.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js +6 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/9159-11421c0f2909236f.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/9360.85b0b1b4054574dd.js +31 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/9666.cd4273f2a5c5802c.js +1 -0
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/9847.4c46c5e229c78704.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/9847.757720f3b40c0aa5.js +1 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/_app-2a43ea3241bbdacd.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/_app-1e6de35d15a8d432.js +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-6fd1d2d8441aa54b.js +11 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-155d477a6c3e04e2.js +1 -0
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/clusters-47f1ddae13a2f8e4.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/clusters-b30460f683e6ba96.js +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +1 -0
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-2a44e70b500b6b70.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-13d53fffc03ccb52.js +1 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/infra-22faac9325016d83.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/infra-fc9222e26c8e2f0d.js +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-154f55cf8af55be5.js +11 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-f5ccf5d39d87aebe.js +21 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/jobs-cdc60fb5d371e16a.js +1 -0
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/users-b90c865a690bfe84.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/users-7ed36e44e779d5c7.js +1 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/volumes-7af733f5d7b6ed1c.js → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/volumes-c9695d657f78b5dc.js +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-f72f73bcef9541dc.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/pages/workspaces-8f67be60165724cc.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/webpack-76efbdad99742559.js +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +3 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/clusters/[cluster]/[job].html +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/clusters/[cluster].html +1 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/config.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/infra/[context].html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/infra.html +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/jobs/[job].html +1 -0
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/jobs/pools/[pool].html +1 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/users.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/volumes.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/workspace/new.html +1 -1
- skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/workspaces/[name].html +1 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/workspaces.html +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/global_user_state.py +14 -2
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/__init__.py +2 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/client/sdk.py +43 -2
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/server/core.py +48 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/server/server.py +52 -3
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/state.py +5 -1
- skypilot_nightly-1.0.0.dev20250807/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +35 -0
- skypilot_nightly-1.0.0.dev20250807/sky/schemas/db/spot_jobs/003_pool_hash.py +34 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/client/impl.py +85 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/client/sdk.py +16 -47
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/constants.py +2 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/controller.py +4 -2
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/serve_state.py +28 -5
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/serve_utils.py +77 -46
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/server/core.py +13 -197
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/server/impl.py +239 -2
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/service.py +8 -3
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/common.py +11 -4
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/constants.py +1 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/executor.py +5 -3
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/payloads.py +19 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/task.py +18 -11
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/kubernetes-ray.yml.j2 +5 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/sky-serve-controller.yaml.j2 +1 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/usage/usage_lib.py +8 -6
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/annotations.py +8 -3
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/common_utils.py +11 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/db/migration_utils.py +2 -2
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807/skypilot_nightly.egg-info}/PKG-INFO +18 -13
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/skypilot_nightly.egg-info/SOURCES.txt +42 -39
- skypilot_nightly-1.0.0.dev20250806/sky/client/sdk.pyi +0 -301
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/Gelsd19kVxXcX7aQQGsGu/_buildManifest.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/1043-75af48ca5d5aaf57.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/1141-8678a9102cc5f67e.js +0 -11
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/1664-22b00e32c9ff96a4.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/1871-ced1c14230cad6e1.js +0 -6
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/2003.f90b06bb1f914295.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/2622-951867535095b0eb.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/3785.0a173cd4393f0fef.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/4725.42f21f250f91f65b.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/4869.18e6a4361a380763.js +0 -16
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/5230-f3bb2663e442e86c.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/6601-2109d22e7861861c.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/6990-08b2a1cae076a943.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/8969-9a8cca241b30db83.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/9025.99f29acb7617963e.js +0 -6
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/938-bda2685db5eae6cf.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-7cb24da04ca00956.js +0 -11
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-1e95993124dbfc57.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/config-d56e64f30db7b42e.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-90693cb88b5599a7.js +0 -11
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/jobs-ab318e52eb4424a7.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/workspace/new-92f741084a89e27b.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-35e0de5bca55e594.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/pages/workspaces-062525fb5462acb6.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/webpack-387626669badf82e.js +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/css/b3227360726f12eb.css +0 -3
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/clusters/[cluster]/[job].html +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/clusters/[cluster].html +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/jobs/[job].html +0 -1
- skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/workspaces/[name].html +0 -1
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/analyze.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/hyperbolic_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/ssh_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/cli/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/cli/deprecation_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/cli/flags.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/cli/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/oauth.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/service_account_auth.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/ssh.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/Gelsd19kVxXcX7aQQGsGu → skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/YAirOGsV1z6B2RJ0VIUmD}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/1559-6c00e20454194859.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/2641.142718b6b78a6f9b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
- /skypilot_nightly-1.0.0.dev20250806/sky/dashboard/out/_next/static/chunks/6135-2d7ed3350659d073.js → /skypilot_nightly-1.0.0.dev20250807/sky/dashboard/out/_next/static/chunks/6135-85426374db04811e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/9984.c5564679e467d245.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/scheduler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/server/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/logs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/logs/agent.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/logs/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/logs/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/metrics/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/metrics/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/gcp/volume_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/hyperbolic/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/hyperbolic/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/hyperbolic/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/hyperbolic/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/kubernetes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/nebius/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/nebius/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/scp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/ssh/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/py.typed +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/schemas/db/README +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/schemas/db/env.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/schemas/db/script.py.mako +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/serve/spot_placer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/auth/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/auth/authn.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/auth/oauth2_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/daemons.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/html/token_page.html +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/metrics.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/preconditions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/requests.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/serializers/decoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/requests/serializers/encoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/rest.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/uvicorn.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/server/versions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/setup_files/alembic.ini +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/log_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/ssh_node_pools/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/ssh_node_pools/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/ssh_node_pools/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/users/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/users/model.conf +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/users/permission.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/users/rbac.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/users/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/users/token_service.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/context.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/context_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/db/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/db/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/git_clone.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/infra_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/config_map_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes/ssh_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/locks.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/resource_checker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/schemas.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/tempstore.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/utils/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/volumes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/workspaces/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/workspaces/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/workspaces/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/workspaces/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_api_compatibility.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_no_parellel.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/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.dev20250807
|
|
4
4
|
Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
|
|
5
5
|
Author: SkyPilot Team
|
|
6
6
|
License: Apache 2.0
|
|
@@ -256,12 +256,18 @@ Dynamic: summary
|
|
|
256
256
|
|
|
257
257
|
----
|
|
258
258
|
|
|
259
|
-
SkyPilot is an open-source
|
|
259
|
+
SkyPilot is an open-source system for running AI and batch workloads on any infra.
|
|
260
260
|
|
|
261
261
|
SkyPilot **is easy to use for AI users**:
|
|
262
|
-
- Quickly spin up
|
|
262
|
+
- Quickly spin up jobs on your own infra
|
|
263
263
|
- Environment and job as code — simple and portable
|
|
264
|
-
- Easy
|
|
264
|
+
- Easy management: queue, run, and auto-recover many jobs
|
|
265
|
+
|
|
266
|
+
SkyPilot **makes Kubernetes easy for AI teams**:
|
|
267
|
+
|
|
268
|
+
- Slurm-like ease of use, cloud-native robustness
|
|
269
|
+
- Local dev experience on K8s: SSH into pods, sync code, or connect IDE
|
|
270
|
+
- Turbocharge your clusters: gang scheduling, multi-cluster, and scaling
|
|
265
271
|
|
|
266
272
|
SkyPilot **unifies multiple clusters, clouds, and hardware**:
|
|
267
273
|
- One interface to use reserved GPUs, Kubernetes clusters, or 16+ clouds
|
|
@@ -309,7 +315,7 @@ You can find our documentation [here](https://docs.skypilot.co/).
|
|
|
309
315
|
|
|
310
316
|
A SkyPilot task specifies: resource requirements, data to be synced, setup commands, and the task commands.
|
|
311
317
|
|
|
312
|
-
Once written in this [**unified interface**](https://docs.skypilot.co/en/latest/reference/yaml-spec.html) (YAML or Python API), the task can be launched on any available cloud. This avoids vendor lock-in, and allows easily moving jobs to a different provider.
|
|
318
|
+
Once written in this [**unified interface**](https://docs.skypilot.co/en/latest/reference/yaml-spec.html) (YAML or Python API), the task can be launched on any available infra (Kubernetes, cloud, etc.). This avoids vendor lock-in, and allows easily moving jobs to a different provider.
|
|
313
319
|
|
|
314
320
|
Paste the following into a file `my_task.yaml`:
|
|
315
321
|
|
|
@@ -347,12 +353,11 @@ sky launch my_task.yaml
|
|
|
347
353
|
```
|
|
348
354
|
|
|
349
355
|
SkyPilot then performs the heavy-lifting for you, including:
|
|
350
|
-
1. Find the
|
|
351
|
-
2. Provision the
|
|
352
|
-
3. Sync
|
|
353
|
-
4.
|
|
354
|
-
5. Run the task's `run` commands
|
|
355
|
-
|
|
356
|
+
1. Find the cheapest & available infra across your clusters or clouds
|
|
357
|
+
2. Provision the GPUs (pods or VMs), with auto-failover if the infra returned capacity errors
|
|
358
|
+
3. Sync your local `workdir` to the provisioned cluster
|
|
359
|
+
4. Auto-install dependencies by running the task's `setup` commands
|
|
360
|
+
5. Run the task's `run` commands, and stream logs
|
|
356
361
|
|
|
357
362
|
See [Quickstart](https://docs.skypilot.co/en/latest/getting-started/quickstart.html) to get started with SkyPilot.
|
|
358
363
|
|
|
@@ -364,13 +369,13 @@ Latest featured examples:
|
|
|
364
369
|
|
|
365
370
|
| Task | Examples |
|
|
366
371
|
|----------|----------|
|
|
367
|
-
| Training | [
|
|
372
|
+
| Training | [Verl](https://docs.skypilot.co/en/latest/examples/training/verl.html), [Finetune Llama 4](https://docs.skypilot.co/en/latest/examples/training/llama-4-finetuning.html), [PyTorch](https://docs.skypilot.co/en/latest/getting-started/tutorial.html), [DeepSpeed](https://docs.skypilot.co/en/latest/examples/training/deepspeed.html), [NeMo](https://docs.skypilot.co/en/latest/examples/training/nemo.html), [Ray](https://docs.skypilot.co/en/latest/examples/training/ray.html), [Unsloth](https://docs.skypilot.co/en/latest/examples/training/unsloth.html), [Jax/TPU](https://docs.skypilot.co/en/latest/examples/training/tpu.html) |
|
|
368
373
|
| Serving | [vLLM](https://docs.skypilot.co/en/latest/examples/serving/vllm.html), [SGLang](https://docs.skypilot.co/en/latest/examples/serving/sglang.html), [Ollama](https://docs.skypilot.co/en/latest/examples/serving/ollama.html) |
|
|
369
374
|
| Models | [DeepSeek-R1](https://docs.skypilot.co/en/latest/examples/models/deepseek-r1.html), [Llama 3](https://docs.skypilot.co/en/latest/examples/models/llama-3.html), [CodeLlama](https://docs.skypilot.co/en/latest/examples/models/codellama.html), [Qwen](https://docs.skypilot.co/en/latest/examples/models/qwen.html), [Mixtral](https://docs.skypilot.co/en/latest/examples/models/mixtral.html) |
|
|
370
375
|
| AI apps | [RAG](https://docs.skypilot.co/en/latest/examples/applications/rag.html), [vector databases](https://docs.skypilot.co/en/latest/examples/applications/vector_database.html) (ChromaDB, CLIP) |
|
|
371
376
|
| Common frameworks | [Airflow](https://docs.skypilot.co/en/latest/examples/frameworks/airflow.html), [Jupyter](https://docs.skypilot.co/en/latest/examples/frameworks/jupyter.html) |
|
|
372
377
|
|
|
373
|
-
Source files
|
|
378
|
+
Source files can be found in [`llm/`](https://github.com/skypilot-org/skypilot/tree/master/llm) and [`examples/`](https://github.com/skypilot-org/skypilot/tree/master/examples).
|
|
374
379
|
|
|
375
380
|
## More information
|
|
376
381
|
To learn more, see [SkyPilot Overview](https://docs.skypilot.co/en/latest/overview.html), [SkyPilot docs](https://docs.skypilot.co/en/latest/), and [SkyPilot blog](https://blog.skypilot.co/).
|
|
@@ -57,12 +57,18 @@
|
|
|
57
57
|
|
|
58
58
|
----
|
|
59
59
|
|
|
60
|
-
SkyPilot is an open-source
|
|
60
|
+
SkyPilot is an open-source system for running AI and batch workloads on any infra.
|
|
61
61
|
|
|
62
62
|
SkyPilot **is easy to use for AI users**:
|
|
63
|
-
- Quickly spin up
|
|
63
|
+
- Quickly spin up jobs on your own infra
|
|
64
64
|
- Environment and job as code — simple and portable
|
|
65
|
-
- Easy
|
|
65
|
+
- Easy management: queue, run, and auto-recover many jobs
|
|
66
|
+
|
|
67
|
+
SkyPilot **makes Kubernetes easy for AI teams**:
|
|
68
|
+
|
|
69
|
+
- Slurm-like ease of use, cloud-native robustness
|
|
70
|
+
- Local dev experience on K8s: SSH into pods, sync code, or connect IDE
|
|
71
|
+
- Turbocharge your clusters: gang scheduling, multi-cluster, and scaling
|
|
66
72
|
|
|
67
73
|
SkyPilot **unifies multiple clusters, clouds, and hardware**:
|
|
68
74
|
- One interface to use reserved GPUs, Kubernetes clusters, or 16+ clouds
|
|
@@ -113,7 +119,7 @@ You can find our documentation [here](https://docs.skypilot.co/).
|
|
|
113
119
|
|
|
114
120
|
A SkyPilot task specifies: resource requirements, data to be synced, setup commands, and the task commands.
|
|
115
121
|
|
|
116
|
-
Once written in this [**unified interface**](https://docs.skypilot.co/en/latest/reference/yaml-spec.html) (YAML or Python API), the task can be launched on any available cloud. This avoids vendor lock-in, and allows easily moving jobs to a different provider.
|
|
122
|
+
Once written in this [**unified interface**](https://docs.skypilot.co/en/latest/reference/yaml-spec.html) (YAML or Python API), the task can be launched on any available infra (Kubernetes, cloud, etc.). This avoids vendor lock-in, and allows easily moving jobs to a different provider.
|
|
117
123
|
|
|
118
124
|
Paste the following into a file `my_task.yaml`:
|
|
119
125
|
|
|
@@ -151,12 +157,11 @@ sky launch my_task.yaml
|
|
|
151
157
|
```
|
|
152
158
|
|
|
153
159
|
SkyPilot then performs the heavy-lifting for you, including:
|
|
154
|
-
1. Find the
|
|
155
|
-
2. Provision the
|
|
156
|
-
3. Sync
|
|
157
|
-
4.
|
|
158
|
-
5. Run the task's `run` commands
|
|
159
|
-
|
|
160
|
+
1. Find the cheapest & available infra across your clusters or clouds
|
|
161
|
+
2. Provision the GPUs (pods or VMs), with auto-failover if the infra returned capacity errors
|
|
162
|
+
3. Sync your local `workdir` to the provisioned cluster
|
|
163
|
+
4. Auto-install dependencies by running the task's `setup` commands
|
|
164
|
+
5. Run the task's `run` commands, and stream logs
|
|
160
165
|
|
|
161
166
|
See [Quickstart](https://docs.skypilot.co/en/latest/getting-started/quickstart.html) to get started with SkyPilot.
|
|
162
167
|
|
|
@@ -168,13 +173,13 @@ Latest featured examples:
|
|
|
168
173
|
|
|
169
174
|
| Task | Examples |
|
|
170
175
|
|----------|----------|
|
|
171
|
-
| Training | [
|
|
176
|
+
| Training | [Verl](https://docs.skypilot.co/en/latest/examples/training/verl.html), [Finetune Llama 4](https://docs.skypilot.co/en/latest/examples/training/llama-4-finetuning.html), [PyTorch](https://docs.skypilot.co/en/latest/getting-started/tutorial.html), [DeepSpeed](https://docs.skypilot.co/en/latest/examples/training/deepspeed.html), [NeMo](https://docs.skypilot.co/en/latest/examples/training/nemo.html), [Ray](https://docs.skypilot.co/en/latest/examples/training/ray.html), [Unsloth](https://docs.skypilot.co/en/latest/examples/training/unsloth.html), [Jax/TPU](https://docs.skypilot.co/en/latest/examples/training/tpu.html) |
|
|
172
177
|
| Serving | [vLLM](https://docs.skypilot.co/en/latest/examples/serving/vllm.html), [SGLang](https://docs.skypilot.co/en/latest/examples/serving/sglang.html), [Ollama](https://docs.skypilot.co/en/latest/examples/serving/ollama.html) |
|
|
173
178
|
| Models | [DeepSeek-R1](https://docs.skypilot.co/en/latest/examples/models/deepseek-r1.html), [Llama 3](https://docs.skypilot.co/en/latest/examples/models/llama-3.html), [CodeLlama](https://docs.skypilot.co/en/latest/examples/models/codellama.html), [Qwen](https://docs.skypilot.co/en/latest/examples/models/qwen.html), [Mixtral](https://docs.skypilot.co/en/latest/examples/models/mixtral.html) |
|
|
174
179
|
| AI apps | [RAG](https://docs.skypilot.co/en/latest/examples/applications/rag.html), [vector databases](https://docs.skypilot.co/en/latest/examples/applications/vector_database.html) (ChromaDB, CLIP) |
|
|
175
180
|
| Common frameworks | [Airflow](https://docs.skypilot.co/en/latest/examples/frameworks/airflow.html), [Jupyter](https://docs.skypilot.co/en/latest/examples/frameworks/jupyter.html) |
|
|
176
181
|
|
|
177
|
-
Source files
|
|
182
|
+
Source files can be found in [`llm/`](https://github.com/skypilot-org/skypilot/tree/master/llm) and [`examples/`](https://github.com/skypilot-org/skypilot/tree/master/examples).
|
|
178
183
|
|
|
179
184
|
## More information
|
|
180
185
|
To learn more, see [SkyPilot Overview](https://docs.skypilot.co/en/latest/overview.html), [SkyPilot docs](https://docs.skypilot.co/en/latest/), and [SkyPilot blog](https://blog.skypilot.co/).
|
|
@@ -5,7 +5,7 @@ from typing import Optional
|
|
|
5
5
|
import urllib.request
|
|
6
6
|
|
|
7
7
|
# Replaced with the current commit when building the wheels.
|
|
8
|
-
_SKYPILOT_COMMIT_SHA = '
|
|
8
|
+
_SKYPILOT_COMMIT_SHA = 'a167cba8230b0ffda6baa0c825fa0eb5d5ab4aa4'
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def _get_git_commit():
|
|
@@ -35,7 +35,7 @@ def _get_git_commit():
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
__commit__ = _get_git_commit()
|
|
38
|
-
__version__ = '1.0.0.
|
|
38
|
+
__version__ = '1.0.0.dev20250807'
|
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
|
40
40
|
|
|
41
41
|
|
|
@@ -168,6 +168,9 @@ _MAX_INLINE_SCRIPT_LENGTH = 100 * 1024
|
|
|
168
168
|
_RESOURCES_UNAVAILABLE_LOG = (
|
|
169
169
|
'Reasons for provision failures (for details, please check the log above):')
|
|
170
170
|
|
|
171
|
+
# Number of seconds to wait locking the cluster before communicating with user.
|
|
172
|
+
_CLUSTER_LOCK_TIMEOUT = 5.0
|
|
173
|
+
|
|
171
174
|
|
|
172
175
|
def _is_command_length_over_limit(command: str) -> bool:
|
|
173
176
|
"""Check if the length of the command exceeds the limit.
|
|
@@ -2917,10 +2920,36 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
|
2917
2920
|
# exceptions.ClusterOwnerIdentityMismatchError
|
|
2918
2921
|
backend_utils.check_owner_identity(cluster_name)
|
|
2919
2922
|
lock_id = backend_utils.cluster_status_lock_id(cluster_name)
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2923
|
+
communicated_with_user = False
|
|
2924
|
+
|
|
2925
|
+
while True:
|
|
2926
|
+
try:
|
|
2927
|
+
return self._locked_provision(lock_id, task, to_provision,
|
|
2928
|
+
dryrun, stream_logs, cluster_name,
|
|
2929
|
+
retry_until_up,
|
|
2930
|
+
skip_unnecessary_provisioning)
|
|
2931
|
+
except locks.LockTimeout:
|
|
2932
|
+
if not communicated_with_user:
|
|
2933
|
+
logger.info(f'{colorama.Fore.YELLOW}'
|
|
2934
|
+
f'Launching delayed, check concurrent tasks: '
|
|
2935
|
+
f'sky api status')
|
|
2936
|
+
communicated_with_user = True
|
|
2937
|
+
|
|
2938
|
+
def _locked_provision(
|
|
2939
|
+
self,
|
|
2940
|
+
lock_id: str,
|
|
2941
|
+
task: task_lib.Task,
|
|
2942
|
+
to_provision: Optional[resources_lib.Resources],
|
|
2943
|
+
dryrun: bool,
|
|
2944
|
+
stream_logs: bool,
|
|
2945
|
+
cluster_name: str,
|
|
2946
|
+
retry_until_up: bool = False,
|
|
2947
|
+
skip_unnecessary_provisioning: bool = False,
|
|
2948
|
+
) -> Tuple[Optional[CloudVmRayResourceHandle], bool]:
|
|
2949
|
+
with timeline.DistributedLockEvent(lock_id, _CLUSTER_LOCK_TIMEOUT):
|
|
2950
|
+
# Try to launch the exiting cluster first. If no existing
|
|
2951
|
+
# cluster, this function will create a to_provision_config
|
|
2952
|
+
# with required resources.
|
|
2924
2953
|
to_provision_config = self._check_existing_cluster(
|
|
2925
2954
|
task, to_provision, cluster_name, dryrun)
|
|
2926
2955
|
assert to_provision_config.resources is not None, (
|
|
@@ -467,8 +467,18 @@ def _print_checked_cloud(
|
|
|
467
467
|
if ok:
|
|
468
468
|
enabled_capabilities.append(capability)
|
|
469
469
|
# `dict` reasons for K8s and SSH will be printed in detail in
|
|
470
|
-
# _format_enabled_cloud. Skip here.
|
|
470
|
+
# _format_enabled_cloud. Skip here unless the cloud is disabled.
|
|
471
471
|
if not isinstance(reason, str):
|
|
472
|
+
if not ok and isinstance(cloud_tuple[1],
|
|
473
|
+
(sky_clouds.SSH, sky_clouds.Kubernetes)):
|
|
474
|
+
if reason is not None:
|
|
475
|
+
reason_str = _format_context_details(cloud_tuple[1],
|
|
476
|
+
show_details=True,
|
|
477
|
+
ctx2text=reason)
|
|
478
|
+
reason_str = '\n'.join(
|
|
479
|
+
' ' + line for line in reason_str.splitlines())
|
|
480
|
+
reasons_to_capabilities.setdefault(reason_str,
|
|
481
|
+
[]).append(capability)
|
|
472
482
|
continue
|
|
473
483
|
if ok:
|
|
474
484
|
if reason is not None:
|
{skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/cli/command.py
RENAMED
|
@@ -4972,6 +4972,205 @@ def jobs_pool_down(
|
|
|
4972
4972
|
_async_call_or_wait(request_id, async_call, 'sky.jobs.pool_down')
|
|
4973
4973
|
|
|
4974
4974
|
|
|
4975
|
+
def _handle_serve_logs(
|
|
4976
|
+
service_name: str,
|
|
4977
|
+
follow: bool,
|
|
4978
|
+
controller: bool,
|
|
4979
|
+
load_balancer: bool,
|
|
4980
|
+
replica_ids: Tuple[int, ...],
|
|
4981
|
+
sync_down: bool,
|
|
4982
|
+
tail: Optional[int],
|
|
4983
|
+
pool: bool, # pylint: disable=redefined-outer-name
|
|
4984
|
+
):
|
|
4985
|
+
noun = 'pool' if pool else 'service'
|
|
4986
|
+
capnoun = noun.capitalize()
|
|
4987
|
+
repnoun = 'worker' if pool else 'replica'
|
|
4988
|
+
if tail is not None:
|
|
4989
|
+
if tail < 0:
|
|
4990
|
+
raise click.UsageError('--tail must be a non-negative integer.')
|
|
4991
|
+
# TODO(arda): We could add ability to tail and follow logs together.
|
|
4992
|
+
if follow:
|
|
4993
|
+
follow = False
|
|
4994
|
+
logger.warning(
|
|
4995
|
+
f'{colorama.Fore.YELLOW}'
|
|
4996
|
+
'--tail and --follow cannot be used together. '
|
|
4997
|
+
f'Changed the mode to --no-follow.{colorama.Style.RESET_ALL}')
|
|
4998
|
+
|
|
4999
|
+
chosen_components: Set[serve_lib.ServiceComponent] = set()
|
|
5000
|
+
if controller:
|
|
5001
|
+
chosen_components.add(serve_lib.ServiceComponent.CONTROLLER)
|
|
5002
|
+
if load_balancer:
|
|
5003
|
+
assert not pool, 'Load balancer is not supported for pools.'
|
|
5004
|
+
chosen_components.add(serve_lib.ServiceComponent.LOAD_BALANCER)
|
|
5005
|
+
# replica_ids contains the specific replica IDs provided by the user.
|
|
5006
|
+
# If it's not empty, it implies the user wants replica logs.
|
|
5007
|
+
if replica_ids:
|
|
5008
|
+
chosen_components.add(serve_lib.ServiceComponent.REPLICA)
|
|
5009
|
+
|
|
5010
|
+
if sync_down:
|
|
5011
|
+
# For sync-down, multiple targets are allowed.
|
|
5012
|
+
# If no specific components/replicas are mentioned, sync all.
|
|
5013
|
+
# Note: Multiple replicas or targets can only be specified when
|
|
5014
|
+
# using --sync-down.
|
|
5015
|
+
targets_to_sync = list(chosen_components)
|
|
5016
|
+
if not targets_to_sync and not replica_ids:
|
|
5017
|
+
# Default to all components if nothing specific is requested
|
|
5018
|
+
targets_to_sync = [
|
|
5019
|
+
serve_lib.ServiceComponent.CONTROLLER,
|
|
5020
|
+
serve_lib.ServiceComponent.REPLICA,
|
|
5021
|
+
]
|
|
5022
|
+
if not pool:
|
|
5023
|
+
targets_to_sync.append(serve_lib.ServiceComponent.LOAD_BALANCER)
|
|
5024
|
+
|
|
5025
|
+
timestamp = sky_logging.get_run_timestamp()
|
|
5026
|
+
log_dir = (pathlib.Path(constants.SKY_LOGS_DIRECTORY) / noun /
|
|
5027
|
+
f'{service_name}_{timestamp}').expanduser()
|
|
5028
|
+
log_dir.mkdir(parents=True, exist_ok=True)
|
|
5029
|
+
|
|
5030
|
+
with rich_utils.client_status(
|
|
5031
|
+
ux_utils.spinner_message(f'Downloading {noun} logs...')):
|
|
5032
|
+
if pool:
|
|
5033
|
+
managed_jobs.pool_sync_down_logs(service_name,
|
|
5034
|
+
str(log_dir),
|
|
5035
|
+
targets=targets_to_sync,
|
|
5036
|
+
worker_ids=list(replica_ids),
|
|
5037
|
+
tail=tail)
|
|
5038
|
+
else:
|
|
5039
|
+
serve_lib.sync_down_logs(service_name,
|
|
5040
|
+
str(log_dir),
|
|
5041
|
+
targets=targets_to_sync,
|
|
5042
|
+
replica_ids=list(replica_ids),
|
|
5043
|
+
tail=tail)
|
|
5044
|
+
style = colorama.Style
|
|
5045
|
+
fore = colorama.Fore
|
|
5046
|
+
logger.info(f'{fore.CYAN}{capnoun} {service_name} logs: '
|
|
5047
|
+
f'{log_dir}{style.RESET_ALL}')
|
|
5048
|
+
return
|
|
5049
|
+
|
|
5050
|
+
# Tailing requires exactly one target.
|
|
5051
|
+
num_targets = len(chosen_components)
|
|
5052
|
+
# If REPLICA component is chosen, len(replica_ids) must be 1 for tailing.
|
|
5053
|
+
if serve_lib.ServiceComponent.REPLICA in chosen_components:
|
|
5054
|
+
if len(replica_ids) != 1:
|
|
5055
|
+
raise click.UsageError(
|
|
5056
|
+
f'Can only tail logs from a single {repnoun} at a time. '
|
|
5057
|
+
f'Provide exactly one {repnoun.upper()}_ID or use --sync-down '
|
|
5058
|
+
f'to download logs from multiple {repnoun}s.')
|
|
5059
|
+
# If replica is chosen and len is 1, num_targets effectively counts it.
|
|
5060
|
+
# We need to ensure no other component (controller/LB) is selected.
|
|
5061
|
+
if num_targets > 1:
|
|
5062
|
+
raise click.UsageError(
|
|
5063
|
+
'Can only tail logs from one target at a time (controller, '
|
|
5064
|
+
f'load balancer, or a single {repnoun}). Use --sync-down '
|
|
5065
|
+
'to download logs from multiple sources.')
|
|
5066
|
+
elif num_targets == 0:
|
|
5067
|
+
raise click.UsageError(
|
|
5068
|
+
'Specify a target to tail: --controller, --load-balancer, or '
|
|
5069
|
+
f'a {repnoun.upper()}_ID.')
|
|
5070
|
+
elif num_targets > 1:
|
|
5071
|
+
raise click.UsageError(
|
|
5072
|
+
'Can only tail logs from one target at a time. Use --sync-down '
|
|
5073
|
+
'to download logs from multiple sources.')
|
|
5074
|
+
|
|
5075
|
+
# At this point, we have exactly one target for tailing.
|
|
5076
|
+
assert len(chosen_components) == 1
|
|
5077
|
+
assert len(replica_ids) in [0, 1]
|
|
5078
|
+
target_component = chosen_components.pop()
|
|
5079
|
+
target_replica_id: Optional[int] = replica_ids[0] if replica_ids else None
|
|
5080
|
+
|
|
5081
|
+
try:
|
|
5082
|
+
if pool:
|
|
5083
|
+
managed_jobs.pool_tail_logs(service_name,
|
|
5084
|
+
target=target_component,
|
|
5085
|
+
worker_id=target_replica_id,
|
|
5086
|
+
follow=follow,
|
|
5087
|
+
tail=tail)
|
|
5088
|
+
else:
|
|
5089
|
+
serve_lib.tail_logs(service_name,
|
|
5090
|
+
target=target_component,
|
|
5091
|
+
replica_id=target_replica_id,
|
|
5092
|
+
follow=follow,
|
|
5093
|
+
tail=tail)
|
|
5094
|
+
except exceptions.ClusterNotUpError:
|
|
5095
|
+
with ux_utils.print_exception_no_traceback():
|
|
5096
|
+
raise
|
|
5097
|
+
|
|
5098
|
+
|
|
5099
|
+
@pool.command('logs', cls=_DocumentedCodeCommand)
|
|
5100
|
+
@flags.config_option(expose_value=False)
|
|
5101
|
+
@click.option(
|
|
5102
|
+
'--follow/--no-follow',
|
|
5103
|
+
is_flag=True,
|
|
5104
|
+
default=True,
|
|
5105
|
+
help=('Follow the logs of the job. [default: --follow] '
|
|
5106
|
+
'If --no-follow is specified, print the log so far and exit.'))
|
|
5107
|
+
@click.option('--controller',
|
|
5108
|
+
is_flag=True,
|
|
5109
|
+
default=False,
|
|
5110
|
+
required=False,
|
|
5111
|
+
help='Show the controller logs of this pool.')
|
|
5112
|
+
@click.option('--sync-down',
|
|
5113
|
+
'-s',
|
|
5114
|
+
is_flag=True,
|
|
5115
|
+
default=False,
|
|
5116
|
+
help='Sync down logs to the local machine. Can be combined with '
|
|
5117
|
+
'--controller or worker ID to narrow scope.')
|
|
5118
|
+
@click.option(
|
|
5119
|
+
'--tail',
|
|
5120
|
+
default=None,
|
|
5121
|
+
type=int,
|
|
5122
|
+
help='The number of lines to display from the end of the log file. '
|
|
5123
|
+
'Default is None, which means print all lines.')
|
|
5124
|
+
@click.argument('pool_name', required=True, type=str)
|
|
5125
|
+
@click.argument('worker_ids', required=False, type=int, nargs=-1)
|
|
5126
|
+
@usage_lib.entrypoint
|
|
5127
|
+
# TODO(tian): Add default argument for this CLI if none of the flags are
|
|
5128
|
+
# specified.
|
|
5129
|
+
def pool_logs(
|
|
5130
|
+
pool_name: str,
|
|
5131
|
+
follow: bool,
|
|
5132
|
+
controller: bool,
|
|
5133
|
+
worker_ids: Tuple[int, ...],
|
|
5134
|
+
sync_down: bool,
|
|
5135
|
+
tail: Optional[int],
|
|
5136
|
+
):
|
|
5137
|
+
"""Tail or sync down logs of a pool.
|
|
5138
|
+
|
|
5139
|
+
Logs can be tailed from one target (controller, or a single worker) or
|
|
5140
|
+
synced down from multiple targets simultaneously.
|
|
5141
|
+
|
|
5142
|
+
Example:
|
|
5143
|
+
|
|
5144
|
+
.. code-block:: bash
|
|
5145
|
+
|
|
5146
|
+
# Tail the controller logs of a pool
|
|
5147
|
+
sky pool logs --controller [POOL_NAME]
|
|
5148
|
+
\b
|
|
5149
|
+
# Print the worker logs so far and exit
|
|
5150
|
+
sky pool logs --no-follow [POOL_NAME]
|
|
5151
|
+
\b
|
|
5152
|
+
# Tail the logs of worker 1
|
|
5153
|
+
sky pool logs [POOL_NAME] 1
|
|
5154
|
+
\b
|
|
5155
|
+
# Show the last 100 lines of the controller logs
|
|
5156
|
+
sky pool logs --controller --tail 100 [POOL_NAME]
|
|
5157
|
+
\b
|
|
5158
|
+
# Sync down all logs of the pool (controller, all workers)
|
|
5159
|
+
sky pool logs [POOL_NAME] --sync-down
|
|
5160
|
+
\b
|
|
5161
|
+
# Sync down controller logs and logs for workers 1 and 3
|
|
5162
|
+
sky pool logs [POOL_NAME] 1 3 --controller --sync-down
|
|
5163
|
+
"""
|
|
5164
|
+
_handle_serve_logs(pool_name,
|
|
5165
|
+
follow=follow,
|
|
5166
|
+
controller=controller,
|
|
5167
|
+
load_balancer=False,
|
|
5168
|
+
replica_ids=worker_ids,
|
|
5169
|
+
sync_down=sync_down,
|
|
5170
|
+
tail=tail,
|
|
5171
|
+
pool=True)
|
|
5172
|
+
|
|
5173
|
+
|
|
4975
5174
|
@cli.command(cls=_DocumentedCodeCommand)
|
|
4976
5175
|
@flags.config_option(expose_value=False)
|
|
4977
5176
|
@usage_lib.entrypoint
|
|
@@ -5555,6 +5754,7 @@ def serve_down(
|
|
|
5555
5754
|
show_default=True)
|
|
5556
5755
|
|
|
5557
5756
|
if replica_id_is_defined:
|
|
5757
|
+
assert replica_id is not None
|
|
5558
5758
|
request_id = serve_lib.terminate_replica(service_names[0], replica_id,
|
|
5559
5759
|
purge)
|
|
5560
5760
|
else:
|
|
@@ -5635,99 +5835,14 @@ def serve_logs(
|
|
|
5635
5835
|
# Sync down controller logs and logs for replicas 1 and 3
|
|
5636
5836
|
sky serve logs [SERVICE_NAME] 1 3 --controller --sync-down
|
|
5637
5837
|
"""
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
'--tail and --follow cannot be used together. '
|
|
5647
|
-
f'Changed the mode to --no-follow.{colorama.Style.RESET_ALL}')
|
|
5648
|
-
|
|
5649
|
-
chosen_components: Set[serve_lib.ServiceComponent] = set()
|
|
5650
|
-
if controller:
|
|
5651
|
-
chosen_components.add(serve_lib.ServiceComponent.CONTROLLER)
|
|
5652
|
-
if load_balancer:
|
|
5653
|
-
chosen_components.add(serve_lib.ServiceComponent.LOAD_BALANCER)
|
|
5654
|
-
# replica_ids contains the specific replica IDs provided by the user.
|
|
5655
|
-
# If it's not empty, it implies the user wants replica logs.
|
|
5656
|
-
if replica_ids:
|
|
5657
|
-
chosen_components.add(serve_lib.ServiceComponent.REPLICA)
|
|
5658
|
-
|
|
5659
|
-
if sync_down:
|
|
5660
|
-
# For sync-down, multiple targets are allowed.
|
|
5661
|
-
# If no specific components/replicas are mentioned, sync all.
|
|
5662
|
-
# Note: Multiple replicas or targets can only be specified when
|
|
5663
|
-
# using --sync-down.
|
|
5664
|
-
targets_to_sync = list(chosen_components)
|
|
5665
|
-
if not targets_to_sync and not replica_ids:
|
|
5666
|
-
# Default to all components if nothing specific is requested
|
|
5667
|
-
targets_to_sync = [
|
|
5668
|
-
serve_lib.ServiceComponent.CONTROLLER,
|
|
5669
|
-
serve_lib.ServiceComponent.LOAD_BALANCER,
|
|
5670
|
-
serve_lib.ServiceComponent.REPLICA,
|
|
5671
|
-
]
|
|
5672
|
-
|
|
5673
|
-
timestamp = sky_logging.get_run_timestamp()
|
|
5674
|
-
log_dir = (pathlib.Path(constants.SKY_LOGS_DIRECTORY) / 'service' /
|
|
5675
|
-
f'{service_name}_{timestamp}').expanduser()
|
|
5676
|
-
log_dir.mkdir(parents=True, exist_ok=True)
|
|
5677
|
-
|
|
5678
|
-
with rich_utils.client_status(
|
|
5679
|
-
ux_utils.spinner_message('Downloading service logs...')):
|
|
5680
|
-
serve_lib.sync_down_logs(service_name,
|
|
5681
|
-
local_dir=str(log_dir),
|
|
5682
|
-
targets=targets_to_sync,
|
|
5683
|
-
replica_ids=list(replica_ids),
|
|
5684
|
-
tail=tail)
|
|
5685
|
-
style = colorama.Style
|
|
5686
|
-
fore = colorama.Fore
|
|
5687
|
-
logger.info(f'{fore.CYAN}Service {service_name} logs: '
|
|
5688
|
-
f'{log_dir}{style.RESET_ALL}')
|
|
5689
|
-
return
|
|
5690
|
-
|
|
5691
|
-
# Tailing requires exactly one target.
|
|
5692
|
-
num_targets = len(chosen_components)
|
|
5693
|
-
# If REPLICA component is chosen, len(replica_ids) must be 1 for tailing.
|
|
5694
|
-
if serve_lib.ServiceComponent.REPLICA in chosen_components:
|
|
5695
|
-
if len(replica_ids) != 1:
|
|
5696
|
-
raise click.UsageError(
|
|
5697
|
-
'Can only tail logs from a single replica at a time. '
|
|
5698
|
-
'Provide exactly one REPLICA_ID or use --sync-down '
|
|
5699
|
-
'to download logs from multiple replicas.')
|
|
5700
|
-
# If replica is chosen and len is 1, num_targets effectively counts it.
|
|
5701
|
-
# We need to ensure no other component (controller/LB) is selected.
|
|
5702
|
-
if num_targets > 1:
|
|
5703
|
-
raise click.UsageError(
|
|
5704
|
-
'Can only tail logs from one target at a time (controller, '
|
|
5705
|
-
'load balancer, or a single replica). Use --sync-down '
|
|
5706
|
-
'to download logs from multiple sources.')
|
|
5707
|
-
elif num_targets == 0:
|
|
5708
|
-
raise click.UsageError(
|
|
5709
|
-
'Specify a target to tail: --controller, --load-balancer, or '
|
|
5710
|
-
'a REPLICA_ID.')
|
|
5711
|
-
elif num_targets > 1:
|
|
5712
|
-
raise click.UsageError(
|
|
5713
|
-
'Can only tail logs from one target at a time. Use --sync-down '
|
|
5714
|
-
'to download logs from multiple sources.')
|
|
5715
|
-
|
|
5716
|
-
# At this point, we have exactly one target for tailing.
|
|
5717
|
-
assert len(chosen_components) == 1
|
|
5718
|
-
assert len(replica_ids) in [0, 1]
|
|
5719
|
-
target_component = chosen_components.pop()
|
|
5720
|
-
target_replica_id: Optional[int] = replica_ids[0] if replica_ids else None
|
|
5721
|
-
|
|
5722
|
-
try:
|
|
5723
|
-
serve_lib.tail_logs(service_name,
|
|
5724
|
-
target=target_component,
|
|
5725
|
-
replica_id=target_replica_id,
|
|
5726
|
-
follow=follow,
|
|
5727
|
-
tail=tail)
|
|
5728
|
-
except exceptions.ClusterNotUpError:
|
|
5729
|
-
with ux_utils.print_exception_no_traceback():
|
|
5730
|
-
raise
|
|
5838
|
+
_handle_serve_logs(service_name,
|
|
5839
|
+
follow=follow,
|
|
5840
|
+
controller=controller,
|
|
5841
|
+
load_balancer=load_balancer,
|
|
5842
|
+
replica_ids=replica_ids,
|
|
5843
|
+
sync_down=sync_down,
|
|
5844
|
+
tail=tail,
|
|
5845
|
+
pool=False)
|
|
5731
5846
|
|
|
5732
5847
|
|
|
5733
5848
|
@cli.group(cls=_NaturalOrderGroup, hidden=True)
|
|
@@ -352,7 +352,14 @@ def validate(
|
|
|
352
352
|
validation. This is only required when a admin policy is in use,
|
|
353
353
|
see: https://docs.skypilot.co/en/latest/cloud-setup/policy.html
|
|
354
354
|
"""
|
|
355
|
+
remote_api_version = versions.get_remote_api_version()
|
|
356
|
+
# TODO(kevin): remove this in v0.13.0
|
|
357
|
+
omit_user_specified_yaml = (remote_api_version is None or
|
|
358
|
+
remote_api_version < 15)
|
|
355
359
|
for task in dag.tasks:
|
|
360
|
+
if omit_user_specified_yaml:
|
|
361
|
+
# pylint: disable=protected-access
|
|
362
|
+
task._user_specified_yaml = None
|
|
356
363
|
task.expand_and_validate_workdir()
|
|
357
364
|
if not workdir_only:
|
|
358
365
|
task.expand_and_validate_file_mounts()
|
|
@@ -1874,6 +1881,10 @@ def stream_and_get(
|
|
|
1874
1881
|
with ux_utils.print_exception_no_traceback():
|
|
1875
1882
|
raise RuntimeError(f'Failed to stream logs: {detail}')
|
|
1876
1883
|
elif response.status_code != 200:
|
|
1884
|
+
# TODO(syang): handle the case where the requestID is not provided
|
|
1885
|
+
# see https://github.com/skypilot-org/skypilot/issues/6549
|
|
1886
|
+
if request_id is None:
|
|
1887
|
+
return None
|
|
1877
1888
|
return get(request_id)
|
|
1878
1889
|
return stream_response(request_id, response, output_stream)
|
|
1879
1890
|
|
|
@@ -2420,7 +2431,9 @@ def api_login(endpoint: Optional[str] = None,
|
|
|
2420
2431
|
_save_config_updates(endpoint=endpoint)
|
|
2421
2432
|
dashboard_url = server_common.get_dashboard_url(endpoint)
|
|
2422
2433
|
|
|
2423
|
-
|
|
2434
|
+
# see https://github.com/python/mypy/issues/5107 on why
|
|
2435
|
+
# typing is disabled on this line
|
|
2436
|
+
server_common.get_api_server_status.cache_clear() # type: ignore
|
|
2424
2437
|
# After successful authentication, check server health again to get user
|
|
2425
2438
|
# identity
|
|
2426
2439
|
server_status, final_api_server_info = server_common.check_server_healthy(
|
{skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/client/sdk_async.py
RENAMED
|
@@ -244,6 +244,10 @@ async def stream_and_get(
|
|
|
244
244
|
with ux_utils.print_exception_no_traceback():
|
|
245
245
|
raise RuntimeError(f'Failed to stream logs: {detail}')
|
|
246
246
|
elif response.status != 200:
|
|
247
|
+
# TODO(syang): handle the case where the requestID is not
|
|
248
|
+
# provided. https://github.com/skypilot-org/skypilot/issues/6549
|
|
249
|
+
if request_id is None:
|
|
250
|
+
return None
|
|
247
251
|
return await get(request_id)
|
|
248
252
|
|
|
249
253
|
return await stream_response_async(request_id, response,
|
{skypilot_nightly-1.0.0.dev20250806 → skypilot_nightly-1.0.0.dev20250807}/sky/dashboard/out/404.html
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-76efbdad99742559.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-1e6de35d15a8d432.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/YAirOGsV1z6B2RJ0VIUmD/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/YAirOGsV1z6B2RJ0VIUmD/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"YAirOGsV1z6B2RJ0VIUmD","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,c,e,a,t,f,u,n,o,r,j,i,b,k,h){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-444f1804401f04ea.js"],"/_error":["static/chunks/pages/_error-c66a4e8afc46f17b.js"],"/clusters":["static/chunks/pages/clusters-b30460f683e6ba96.js"],"/clusters/[cluster]":[s,c,e,f,u,j,r,a,t,n,i,b,o,k,h,"static/chunks/1871-980a395e92633a5c.js","static/chunks/pages/clusters/[cluster]-155d477a6c3e04e2.js"],"/clusters/[cluster]/[job]":[s,c,e,f,a,t,o,"static/chunks/pages/clusters/[cluster]/[job]-6fd1d2d8441aa54b.js"],"/config":["static/chunks/pages/config-dfb9bf07b13045f4.js"],"/infra":["static/chunks/pages/infra-fc9222e26c8e2f0d.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-13d53fffc03ccb52.js"],"/jobs":["static/chunks/pages/jobs-cdc60fb5d371e16a.js"],"/jobs/pools/[pool]":[s,c,e,u,r,a,t,n,"static/chunks/pages/jobs/pools/[pool]-f5ccf5d39d87aebe.js"],"/jobs/[job]":[s,c,e,f,u,r,a,t,n,o,"static/chunks/pages/jobs/[job]-154f55cf8af55be5.js"],"/users":["static/chunks/pages/users-7ed36e44e779d5c7.js"],"/volumes":["static/chunks/pages/volumes-c9695d657f78b5dc.js"],"/workspace/new":["static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js"],"/workspaces":["static/chunks/pages/workspaces-8f67be60165724cc.js"],"/workspaces/[name]":[s,c,e,f,u,j,a,t,n,i,b,o,k,h,"static/chunks/1141-a8a8f1adba34c892.js","static/chunks/pages/workspaces/[name]-f72f73bcef9541dc.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/pools/[pool]","/jobs/[job]","/users","/volumes","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/616-3d59f75e2ccf9321.js","static/chunks/6130-2be46d70a38f1e82.js","static/chunks/5739-d67458fcb1386c92.js","static/chunks/6989-6129c1cfbcf51063.js","static/chunks/3850-ff4a9a69d978632b.js","static/chunks/7411-b15471acd2cba716.js","static/chunks/1272-1ef0bf0237faccdb.js","static/chunks/8969-318c3dca725e8e5d.js","static/chunks/6135-85426374db04811e.js","static/chunks/6212-7bd06f60ba693125.js","static/chunks/1559-6c00e20454194859.js","static/chunks/6990-0f886f16e0d55ff8.js","static/chunks/8056-019615038d6ce427.js","static/chunks/6601-3e21152fe16da09c.js","static/chunks/9159-11421c0f2909236f.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|