skypilot-nightly 1.0.0.dev20251026__tar.gz → 1.0.0.dev20251029__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.

Files changed (624) hide show
  1. {skypilot_nightly-1.0.0.dev20251026/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20251029}/PKG-INFO +51 -35
  2. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/README.md +1 -1
  3. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/__init__.py +2 -2
  4. skypilot_nightly-1.0.0.dev20251029/sky/adaptors/coreweave.py +278 -0
  5. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/backend_utils.py +9 -6
  6. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/cloud_vm_ray_backend.py +2 -3
  7. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/check.py +25 -13
  8. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/cli/command.py +34 -15
  9. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/cloud_stores.py +73 -0
  10. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/core.py +7 -5
  11. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/404.html +1 -1
  12. {skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/wDQ7aGvICzMNmjIaC37TT → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/DabuSAKsc_y0wyJxpTIdQ}/_buildManifest.js +1 -1
  13. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/1141-d5204f35a3388bf4.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/1141-c3c10e2c6ed71a8f.js +1 -1
  14. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/2755.a239c652bf8684dd.js +26 -0
  15. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/3294.87a13fba0058865b.js +1 -0
  16. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/3785.538eb23a098fc304.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/3785.170be320e0060eaf.js +1 -1
  17. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/4282-49b2065b7336e496.js +1 -0
  18. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/7615-80aa7b09f45a86d2.js +1 -0
  19. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/8969-4ed9236db997b42b.js +1 -0
  20. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/9360.10a3aac7aad5e3aa.js +31 -0
  21. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-ac4a217f17b087cb.js +16 -0
  22. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-fbf2907ce2bb67e2.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-1704039ccaf997cf.js +1 -1
  23. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/jobs-0dc34cf9a8710a9f.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/jobs-7eee823559e5cf9f.js +1 -1
  24. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/users-96d6b8bb2dec055f.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/users-2b172f13f8538a7a.js +1 -1
  25. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-fb1b4d3bfb047cad.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-bbfe5860c93470fd.js +1 -1
  26. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/workspaces-6fc994fa1ee6c6bf.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/workspaces-1891376c08050940.js +1 -1
  27. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/webpack-4abaae354da0ba13.js → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/webpack-485984ca04e021d0.js +1 -1
  28. skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/css/0748ce22df867032.css +3 -0
  29. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  30. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/clusters/[cluster].html +1 -1
  31. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/clusters.html +1 -1
  32. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/config.html +1 -1
  33. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/index.html +1 -1
  34. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/infra/[context].html +1 -1
  35. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/infra.html +1 -1
  36. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/jobs/[job].html +1 -1
  37. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
  38. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/jobs.html +1 -1
  39. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/users.html +1 -1
  40. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/volumes.html +1 -1
  41. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/workspace/new.html +1 -1
  42. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/workspaces/[name].html +1 -1
  43. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/workspaces.html +1 -1
  44. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/data/data_utils.py +92 -1
  45. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/data/mounting_utils.py +39 -0
  46. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/data/storage.py +166 -9
  47. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/global_user_state.py +59 -83
  48. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/server/server.py +2 -2
  49. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/utils.py +5 -6
  50. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/optimizer.py +1 -1
  51. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/instance.py +88 -19
  52. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/volume.py +2 -2
  53. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/api/responses.py +2 -5
  54. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/replica_managers.py +2 -2
  55. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/serve_utils.py +9 -2
  56. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/payloads.py +2 -0
  57. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/requests.py +182 -84
  58. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/serializers/decoders.py +3 -3
  59. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/serializers/encoders.py +33 -6
  60. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/server.py +34 -7
  61. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/stream_utils.py +56 -13
  62. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/setup_files/dependencies.py +2 -0
  63. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/task.py +10 -0
  64. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/nebius-ray.yml.j2 +1 -0
  65. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/cli_utils/status_utils.py +8 -2
  66. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/context_utils.py +13 -1
  67. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/resources_utils.py +53 -29
  68. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029/skypilot_nightly.egg-info}/PKG-INFO +51 -35
  69. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/skypilot_nightly.egg-info/SOURCES.txt +20 -19
  70. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/skypilot_nightly.egg-info/requires.txt +49 -32
  71. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_cli.py +15 -21
  72. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/2755.227c84f5adf75c6b.js +0 -26
  73. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/3015-2dcace420c8939f4.js +0 -1
  74. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/3294.6d5054a953a818cb.js +0 -1
  75. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/4282-d2f3ef2fbf78e347.js +0 -1
  76. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/8969-0389e2cb52412db3.js +0 -1
  77. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/9360.07d78b8552bc9d17.js +0 -31
  78. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-c815b90e296b8075.js +0 -16
  79. skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/css/4c052b4444e52a58.css +0 -3
  80. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/LICENSE +0 -0
  81. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/MANIFEST.in +0 -0
  82. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/pyproject.toml +0 -0
  83. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/setup.cfg +0 -0
  84. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/setup.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/__init__.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/aws.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/azure.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/cloudflare.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/common.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/cudo.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/do.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/docker.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/gcp.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/hyperbolic.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/ibm.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/kubernetes.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/nebius.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/oci.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/primeintellect.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/runpod.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/seeweb.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/shadeform.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/vast.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/adaptors/vsphere.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/admin_policy.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/authentication.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/__init__.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/backend.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/docker_utils.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/local_docker_backend.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/backends/wheel_utils.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/__init__.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/aws_catalog.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/azure_catalog.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/common.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/config.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/cudo_catalog.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/__init__.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/analyze.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_seeweb.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_shadeform.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/do_catalog.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/fluidstack_catalog.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/gcp_catalog.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/hyperbolic_catalog.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/ibm_catalog.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/kubernetes_catalog.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/lambda_catalog.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/nebius_catalog.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/oci_catalog.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/paperspace_catalog.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/primeintellect_catalog.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/runpod_catalog.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/scp_catalog.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/seeweb_catalog.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/shadeform_catalog.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/ssh_catalog.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/vast_catalog.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/catalog/vsphere_catalog.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/cli.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/__init__.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/cli/__init__.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/cli/deprecation_utils.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/cli/flags.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/cli/table_utils.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/common.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/oauth.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/sdk.py +4 -4
  161. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/sdk_async.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/client/service_account_auth.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/__init__.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/aws.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/azure.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/cloud.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/cudo.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/do.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/fluidstack.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/gcp.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/hyperbolic.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/ibm.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/kubernetes.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/lambda_cloud.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/nebius.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/oci.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/paperspace.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/primeintellect.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/runpod.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/scp.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/seeweb.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/shadeform.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/ssh.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/utils/__init__.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/utils/aws_utils.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/utils/azure_utils.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/utils/gcp_utils.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/utils/oci_utils.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/utils/scp_utils.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/vast.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/clouds/vsphere.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dag.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/wDQ7aGvICzMNmjIaC37TT → skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/DabuSAKsc_y0wyJxpTIdQ}/_ssgManifest.js +0 -0
  194. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  195. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/1871-81adbc5f25dff78f.js +0 -0
  196. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
  197. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +0 -0
  198. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
  199. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
  200. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/4725.a830b5c9e7867c92.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +0 -0
  202. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
  203. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
  204. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
  205. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +0 -0
  206. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
  207. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/6856-5c94d394259cdb6e.js +0 -0
  208. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
  209. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -0
  210. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js +0 -0
  211. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
  212. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js +0 -0
  213. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -0
  214. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/9353-cff34f7e773b2e2b.js +0 -0
  215. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js +0 -0
  216. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
  217. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
  218. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
  219. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
  220. /skypilot_nightly-1.0.0.dev20251026/sky/dashboard/out/_next/static/chunks/pages/_app-513d332313670f2a.js → /skypilot_nightly-1.0.0.dev20251029/sky/dashboard/out/_next/static/chunks/pages/_app-bde01e4a2beec258.js +0 -0
  221. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  222. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/clusters-9e0df5442b04f7d0.js +0 -0
  223. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
  224. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
  225. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-9b6e47c2e8b485a2.js +0 -0
  226. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/infra-c84a3b8a9d599b02.js +0 -0
  227. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-eb5822dac0c9509b.js +0 -0
  228. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-e020fd69dbe76cea.js +0 -0
  229. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/volumes-d2af9d22e87cc4ba.js +0 -0
  230. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
  231. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  232. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/favicon.ico +0 -0
  233. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/skypilot.svg +0 -0
  234. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  235. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/data/__init__.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/data/data_transfer.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/data/storage_utils.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/exceptions.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/execution.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/__init__.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/client/__init__.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/client/sdk.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/client/sdk_async.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/constants.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/controller.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/recovery_strategy.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/scheduler.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/server/__init__.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/server/core.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/server/utils.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/jobs/state.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/logs/__init__.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/logs/agent.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/logs/aws.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/logs/gcp.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/metrics/__init__.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/metrics/utils.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/models.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/__init__.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/aws/__init__.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/aws/config.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/aws/instance.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/aws/utils.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/azure/__init__.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/azure/azure-config-template.json +0 -0
  266. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/azure/config.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/azure/instance.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/common.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/constants.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/cudo/__init__.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/cudo/config.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/cudo/cudo_machine_type.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/cudo/cudo_utils.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/cudo/cudo_wrapper.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/cudo/instance.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/do/__init__.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/do/config.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/do/constants.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/do/instance.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/do/utils.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/docker_utils.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/fluidstack/__init__.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/fluidstack/config.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/fluidstack/instance.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/__init__.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/config.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/constants.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/instance.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/instance_utils.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/mig_utils.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/gcp/volume_utils.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/hyperbolic/__init__.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/hyperbolic/config.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/hyperbolic/instance.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/hyperbolic/utils.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/instance_setup.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/__init__.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/config.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/constants.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  302. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/network.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/network_utils.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/kubernetes/utils.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/lambda_cloud/__init__.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/lambda_cloud/config.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/lambda_cloud/instance.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/logging.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/metadata_utils.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/nebius/__init__.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/nebius/config.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/nebius/constants.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/nebius/instance.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/nebius/utils.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/oci/__init__.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/oci/config.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/oci/instance.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/oci/query_utils.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/paperspace/__init__.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/paperspace/config.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/paperspace/constants.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/paperspace/instance.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/paperspace/utils.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/primeintellect/__init__.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/primeintellect/config.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/primeintellect/instance.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/primeintellect/utils.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/provisioner.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/__init__.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/api/__init__.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/api/commands.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/api/pods.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/config.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/instance.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/utils.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/runpod/volume.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/scp/__init__.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/scp/config.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/scp/instance.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/seeweb/__init__.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/seeweb/config.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/seeweb/instance.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/shadeform/__init__.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/shadeform/config.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/shadeform/instance.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/shadeform/shadeform_utils.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/ssh/__init__.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vast/__init__.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vast/config.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vast/instance.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vast/utils.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/__init__.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/__init__.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/custom_script.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/id_generator.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/service_manager.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/common/vim_utils.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/config.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/instance.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/provision/vsphere/vsphere_utils.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/py.typed +0 -0
  369. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/resources.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/__init__.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/api/__init__.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/README +0 -0
  373. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/env.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/global_user_state/010_save_ssh_key.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/script.py.mako +0 -0
  385. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/skypilot_config/001_initial_schema.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/__init__.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/autostopv1_pb2.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
  393. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/jobsv1_pb2.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/jobsv1_pb2.pyi +0 -0
  396. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/jobsv1_pb2_grpc.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/managed_jobsv1_pb2.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/managed_jobsv1_pb2.pyi +0 -0
  399. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/managed_jobsv1_pb2_grpc.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/servev1_pb2.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/servev1_pb2.pyi +0 -0
  402. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/schemas/generated/servev1_pb2_grpc.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/__init__.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/autoscalers.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/client/__init__.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/client/impl.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/client/sdk.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/client/sdk_async.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/constants.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/controller.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/load_balancer.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/load_balancing_policies.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/serve_rpc_utils.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/serve_state.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/server/__init__.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/server/core.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/server/impl.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/server/server.py +0 -0
  419. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/service.py +0 -0
  420. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/service_spec.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/serve/spot_placer.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/__init__.py +0 -0
  423. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/auth/__init__.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/auth/authn.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/auth/loopback.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/auth/oauth2_proxy.py +0 -0
  427. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/common.py +0 -0
  428. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/config.py +0 -0
  429. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/constants.py +0 -0
  430. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/daemons.py +0 -0
  431. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/html/log.html +0 -0
  432. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/html/token_page.html +0 -0
  433. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/metrics.py +0 -0
  434. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/__init__.py +0 -0
  435. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/event_loop.py +0 -0
  436. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/executor.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/preconditions.py +0 -0
  438. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/process.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/queues/__init__.py +0 -0
  440. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/queues/local_queue.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/queues/mp_queue.py +0 -0
  442. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/serializers/__init__.py +0 -0
  443. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/requests/threads.py +0 -0
  444. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/rest.py +0 -0
  445. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/state.py +0 -0
  446. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/uvicorn.py +0 -0
  447. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/server/versions.py +0 -0
  448. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/setup_files/MANIFEST.in +0 -0
  449. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/setup_files/alembic.ini +0 -0
  450. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/setup_files/setup.py +0 -0
  451. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/sky_logging.py +0 -0
  452. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/LICENSE +0 -0
  453. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/__init__.py +0 -0
  454. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/attempt_skylet.py +0 -0
  455. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/autostop_lib.py +0 -0
  456. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/configs.py +0 -0
  457. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/constants.py +0 -0
  458. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/events.py +0 -0
  459. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/job_lib.py +0 -0
  460. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/log_lib.py +0 -0
  461. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/log_lib.pyi +0 -0
  462. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/providers/__init__.py +0 -0
  463. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/providers/command_runner.py +0 -0
  464. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/providers/ibm/__init__.py +0 -0
  465. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/providers/ibm/node_provider.py +0 -0
  466. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/providers/ibm/utils.py +0 -0
  467. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  468. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/__init__.py +0 -0
  469. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
  470. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  471. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/cli.py.diff +0 -0
  472. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/cli.py.patch +0 -0
  473. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
  474. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  475. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
  476. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  477. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
  478. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  479. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/updater.py.diff +0 -0
  480. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/updater.py.patch +0 -0
  481. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/worker.py.diff +0 -0
  482. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/ray_patches/worker.py.patch +0 -0
  483. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/services.py +0 -0
  484. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/skylet.py +0 -0
  485. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skylet/subprocess_daemon.py +0 -0
  486. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/skypilot_config.py +0 -0
  487. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/ssh_node_pools/__init__.py +0 -0
  488. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/ssh_node_pools/core.py +0 -0
  489. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/ssh_node_pools/server.py +0 -0
  490. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/aws-ray.yml.j2 +0 -0
  491. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/azure-ray.yml.j2 +0 -0
  492. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/cudo-ray.yml.j2 +0 -0
  493. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/do-ray.yml.j2 +0 -0
  494. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  495. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/gcp-ray.yml.j2 +0 -0
  496. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  497. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/ibm-ray.yml.j2 +0 -0
  498. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/jobs-controller.yaml.j2 +0 -0
  499. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  500. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  501. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  502. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  503. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/lambda-ray.yml.j2 +0 -0
  504. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/local-ray.yml.j2 +0 -0
  505. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/oci-ray.yml.j2 +0 -0
  506. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/paperspace-ray.yml.j2 +0 -0
  507. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/primeintellect-ray.yml.j2 +0 -0
  508. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/runpod-ray.yml.j2 +0 -0
  509. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/scp-ray.yml.j2 +0 -0
  510. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/seeweb-ray.yml.j2 +0 -0
  511. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/shadeform-ray.yml.j2 +0 -0
  512. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  513. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  514. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/vast-ray.yml.j2 +0 -0
  515. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/vsphere-ray.yml.j2 +0 -0
  516. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/templates/websocket_proxy.py +0 -0
  517. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/usage/__init__.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/usage/constants.py +0 -0
  519. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/usage/usage_lib.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/users/__init__.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/users/model.conf +0 -0
  522. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/users/permission.py +0 -0
  523. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/users/rbac.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/users/server.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/users/token_service.py +0 -0
  526. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/__init__.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/accelerator_registry.py +0 -0
  528. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/admin_policy_utils.py +0 -0
  529. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/annotations.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/asyncio_utils.py +0 -0
  531. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/atomic.py +0 -0
  532. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/auth_utils.py +0 -0
  533. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/aws/__init__.py +0 -0
  534. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/aws/get_default_security_group.py +0 -0
  535. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/benchmark_utils.py +0 -0
  536. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/cli_utils/__init__.py +0 -0
  537. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/cluster_utils.py +0 -0
  538. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/command_runner.py +0 -0
  539. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/command_runner.pyi +0 -0
  540. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/common.py +0 -0
  541. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/common_utils.py +0 -0
  542. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/config_utils.py +0 -0
  543. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/context.py +0 -0
  544. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/control_master_utils.py +0 -0
  545. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/controller_utils.py +0 -0
  546. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/dag_utils.py +0 -0
  547. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/db/__init__.py +0 -0
  548. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/db/db_utils.py +0 -0
  549. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/db/migration_utils.py +0 -0
  550. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/directory_utils.py +0 -0
  551. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/env_options.py +0 -0
  552. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/git.py +0 -0
  553. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/git_clone.sh +0 -0
  554. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/infra_utils.py +0 -0
  555. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/__init__.py +0 -0
  556. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  557. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/config_map_utils.py +0 -0
  558. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/create_cluster.sh +0 -0
  559. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  560. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  561. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  562. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  563. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  564. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  565. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  566. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  567. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  568. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  569. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  570. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes/ssh_utils.py +0 -0
  571. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/kubernetes_enums.py +0 -0
  572. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/lock_events.py +0 -0
  573. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/locks.py +0 -0
  574. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/log_utils.py +0 -0
  575. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/message_utils.py +0 -0
  576. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/perf_utils.py +0 -0
  577. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/registry.py +0 -0
  578. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/resource_checker.py +0 -0
  579. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/rich_console_utils.py +0 -0
  580. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/rich_utils.py +0 -0
  581. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/schemas.py +0 -0
  582. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/serialize_utils.py +0 -0
  583. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/status_lib.py +0 -0
  584. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/subprocess_utils.py +0 -0
  585. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/tempstore.py +0 -0
  586. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/timeline.py +0 -0
  587. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/ux_utils.py +0 -0
  588. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/validator.py +0 -0
  589. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/volume.py +0 -0
  590. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/utils/yaml_utils.py +0 -0
  591. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/__init__.py +0 -0
  592. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/client/__init__.py +0 -0
  593. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/client/sdk.py +0 -0
  594. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/server/__init__.py +0 -0
  595. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/server/core.py +0 -0
  596. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/server/server.py +0 -0
  597. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/volumes/volume.py +0 -0
  598. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/workspaces/__init__.py +0 -0
  599. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/workspaces/core.py +0 -0
  600. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/workspaces/server.py +0 -0
  601. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/sky/workspaces/utils.py +0 -0
  602. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  603. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  604. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/skypilot_nightly.egg-info/top_level.txt +0 -0
  605. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_api.py +0 -0
  606. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_api_compatibility.py +0 -0
  607. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_config.py +0 -0
  608. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_db_utils.py +0 -0
  609. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_failover.py +0 -0
  610. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_global_user_state.py +0 -0
  611. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_infra_k8s_alias.py +0 -0
  612. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_jobs.py +0 -0
  613. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_jobs_and_serve.py +0 -0
  614. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_jobs_state_async_vs_sync.py +0 -0
  615. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_list_accelerators.py +0 -0
  616. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_no_parellel.py +0 -0
  617. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_optimizer_dryruns.py +0 -0
  618. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_optimizer_random_dag.py +0 -0
  619. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_serve_autoscaler.py +0 -0
  620. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_smoke.py +0 -0
  621. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_ssh_proxy_lag.py +0 -0
  622. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_storage.py +0 -0
  623. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/tests/test_wheels.py +0 -0
  624. {skypilot_nightly-1.0.0.dev20251026 → skypilot_nightly-1.0.0.dev20251029}/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.dev20251026
3
+ Version: 1.0.0.dev20251029
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -44,6 +44,7 @@ Requires-Dist: psutil
44
44
  Requires-Dist: pulp
45
45
  Requires-Dist: pyyaml!=5.4.*,>3.13
46
46
  Requires-Dist: ijson
47
+ Requires-Dist: orjson
47
48
  Requires-Dist: requests
48
49
  Requires-Dist: uvicorn[standard]<0.36.0,>=0.33.0
49
50
  Requires-Dist: fastapi
@@ -170,6 +171,21 @@ Requires-Dist: grpcio>=1.63.0; extra == "cloudflare"
170
171
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "cloudflare"
171
172
  Requires-Dist: aiosqlite; extra == "cloudflare"
172
173
  Requires-Dist: greenlet; extra == "cloudflare"
174
+ Provides-Extra: coreweave
175
+ Requires-Dist: awscli>=1.27.10; extra == "coreweave"
176
+ Requires-Dist: botocore>=1.29.10; extra == "coreweave"
177
+ Requires-Dist: boto3>=1.26.1; extra == "coreweave"
178
+ Requires-Dist: colorama<0.4.5; extra == "coreweave"
179
+ Requires-Dist: casbin; extra == "coreweave"
180
+ Requires-Dist: sqlalchemy_adapter; extra == "coreweave"
181
+ Requires-Dist: passlib; extra == "coreweave"
182
+ Requires-Dist: pyjwt; extra == "coreweave"
183
+ Requires-Dist: aiohttp; extra == "coreweave"
184
+ Requires-Dist: anyio; extra == "coreweave"
185
+ Requires-Dist: grpcio>=1.63.0; extra == "coreweave"
186
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "coreweave"
187
+ Requires-Dist: aiosqlite; extra == "coreweave"
188
+ Requires-Dist: greenlet; extra == "coreweave"
173
189
  Provides-Extra: scp
174
190
  Requires-Dist: ray[default]>=2.6.1; extra == "scp"
175
191
  Requires-Dist: casbin; extra == "scp"
@@ -371,51 +387,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "shadeform"
371
387
  Requires-Dist: aiosqlite; extra == "shadeform"
372
388
  Requires-Dist: greenlet; extra == "shadeform"
373
389
  Provides-Extra: all
374
- Requires-Dist: google-cloud-storage; extra == "all"
375
- Requires-Dist: pyjwt; extra == "all"
376
- Requires-Dist: sqlalchemy_adapter; extra == "all"
377
- Requires-Dist: greenlet; extra == "all"
390
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
391
+ Requires-Dist: ibm-cos-sdk; extra == "all"
392
+ Requires-Dist: awscli>=1.27.10; extra == "all"
393
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
378
394
  Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
379
- Requires-Dist: azure-core>=1.31.0; extra == "all"
380
- Requires-Dist: nebius>=0.2.47; extra == "all"
381
- Requires-Dist: boto3>=1.26.1; extra == "all"
382
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
383
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
395
+ Requires-Dist: docker; extra == "all"
384
396
  Requires-Dist: casbin; extra == "all"
385
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
386
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
387
- Requires-Dist: msrestazure; extra == "all"
388
- Requires-Dist: websockets; extra == "all"
389
397
  Requires-Dist: aiosqlite; extra == "all"
390
- Requires-Dist: runpod>=1.6.1; extra == "all"
391
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
392
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
393
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
398
+ Requires-Dist: websockets; extra == "all"
394
399
  Requires-Dist: tomli; python_version < "3.11" and extra == "all"
395
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
400
+ Requires-Dist: greenlet; extra == "all"
401
+ Requires-Dist: pyjwt; extra == "all"
402
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
403
+ Requires-Dist: runpod>=1.6.1; extra == "all"
404
+ Requires-Dist: colorama<0.4.5; extra == "all"
405
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
406
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
396
407
  Requires-Dist: ibm-vpc; extra == "all"
397
- Requires-Dist: docker; extra == "all"
408
+ Requires-Dist: nebius>=0.2.47; extra == "all"
409
+ Requires-Dist: oci; extra == "all"
398
410
  Requires-Dist: ibm-cloud-sdk-core; extra == "all"
411
+ Requires-Dist: aiohttp; extra == "all"
412
+ Requires-Dist: msrestazure; extra == "all"
399
413
  Requires-Dist: passlib; extra == "all"
400
- Requires-Dist: ibm-cos-sdk; extra == "all"
401
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
402
- Requires-Dist: msgraph-sdk; extra == "all"
403
- Requires-Dist: awscli>=1.27.10; extra == "all"
414
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
415
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
416
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
404
417
  Requires-Dist: python-dateutil; extra == "all"
418
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
419
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
420
+ Requires-Dist: boto3>=1.26.1; extra == "all"
405
421
  Requires-Dist: pydo>=0.3.0; extra == "all"
406
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
407
- Requires-Dist: botocore>=1.29.10; extra == "all"
408
- Requires-Dist: aiohttp; extra == "all"
409
- Requires-Dist: azure-core>=1.24.0; extra == "all"
410
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
422
+ Requires-Dist: msgraph-sdk; extra == "all"
411
423
  Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
424
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
412
425
  Requires-Dist: anyio; extra == "all"
413
- Requires-Dist: colorama<0.4.5; extra == "all"
414
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
426
+ Requires-Dist: google-cloud-storage; extra == "all"
427
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
428
+ Requires-Dist: botocore>=1.29.10; extra == "all"
429
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
415
430
  Requires-Dist: azure-common; extra == "all"
416
- Requires-Dist: oci; extra == "all"
417
- Requires-Dist: grpcio>=1.63.0; extra == "all"
418
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
431
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
432
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
433
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
434
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
419
435
  Provides-Extra: remote
420
436
  Requires-Dist: grpcio>=1.63.0; extra == "remote"
421
437
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
@@ -479,7 +495,7 @@ Dynamic: summary
479
495
  ----
480
496
 
481
497
  :fire: *News* :fire:
482
- - [Jul 2025] Run **RL training for LLMs** with SkyRL on your Kubernetes or clouds: [**example**](./llm/skyrl/)
498
+ - [Oct 2025] Run **RL training for LLMs** with SkyRL on your Kubernetes or clouds: [**example**](./llm/skyrl/)
483
499
  - [Oct 2025] Train and serve [Andrej Karpathy's](https://x.com/karpathy/status/1977755427569111362) **nanochat** - the best ChatGPT that $100 can buy: [**example**](./llm/nanochat)
484
500
  - [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./examples/training/torchtitan)
485
501
  - [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
@@ -39,7 +39,7 @@
39
39
  ----
40
40
 
41
41
  :fire: *News* :fire:
42
- - [Jul 2025] Run **RL training for LLMs** with SkyRL on your Kubernetes or clouds: [**example**](./llm/skyrl/)
42
+ - [Oct 2025] Run **RL training for LLMs** with SkyRL on your Kubernetes or clouds: [**example**](./llm/skyrl/)
43
43
  - [Oct 2025] Train and serve [Andrej Karpathy's](https://x.com/karpathy/status/1977755427569111362) **nanochat** - the best ChatGPT that $100 can buy: [**example**](./llm/nanochat)
44
44
  - [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./examples/training/torchtitan)
45
45
  - [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
@@ -7,7 +7,7 @@ import urllib.request
7
7
  from sky.utils import directory_utils
8
8
 
9
9
  # Replaced with the current commit when building the wheels.
10
- _SKYPILOT_COMMIT_SHA = 'bcdfc27fc33b719cef280e614aba187186530622'
10
+ _SKYPILOT_COMMIT_SHA = '501e7213a39f27c1a11db3aade5ef878b47bf066'
11
11
 
12
12
 
13
13
  def _get_git_commit():
@@ -37,7 +37,7 @@ def _get_git_commit():
37
37
 
38
38
 
39
39
  __commit__ = _get_git_commit()
40
- __version__ = '1.0.0.dev20251026'
40
+ __version__ = '1.0.0.dev20251029'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -0,0 +1,278 @@
1
+ """CoreWeave cloud adaptor."""
2
+
3
+ import configparser
4
+ import contextlib
5
+ import os
6
+ import threading
7
+ from typing import Dict, Optional, Tuple
8
+
9
+ from sky import exceptions
10
+ from sky import sky_logging
11
+ from sky.adaptors import common
12
+ from sky.clouds import cloud
13
+ from sky.utils import annotations
14
+ from sky.utils import ux_utils
15
+
16
+ logger = sky_logging.init_logger(__name__)
17
+
18
+ COREWEAVE_PROFILE_NAME = 'cw'
19
+ COREWEAVE_CREDENTIALS_PATH = '~/.coreweave/cw.credentials'
20
+ COREWEAVE_CONFIG_PATH = '~/.coreweave/cw.config'
21
+ NAME = 'CoreWeave'
22
+ DEFAULT_REGION = 'US-EAST-01A'
23
+ _DEFAULT_ENDPOINT = 'https://cwobject.com'
24
+ _INDENT_PREFIX = ' '
25
+
26
+ _IMPORT_ERROR_MESSAGE = ('Failed to import dependencies for CoreWeave.'
27
+ 'Try pip install "skypilot[coreweave]"')
28
+
29
+ boto3 = common.LazyImport('boto3', import_error_message=_IMPORT_ERROR_MESSAGE)
30
+ botocore = common.LazyImport('botocore',
31
+ import_error_message=_IMPORT_ERROR_MESSAGE)
32
+
33
+ _LAZY_MODULES = (boto3, botocore)
34
+ _session_creation_lock = threading.RLock()
35
+
36
+
37
+ @contextlib.contextmanager
38
+ def _load_cw_credentials_env():
39
+ """Context manager to temporarily change the AWS credentials file path."""
40
+ prev_credentials_path = os.environ.get('AWS_SHARED_CREDENTIALS_FILE')
41
+ prev_config_path = os.environ.get('AWS_CONFIG_FILE')
42
+ os.environ['AWS_SHARED_CREDENTIALS_FILE'] = COREWEAVE_CREDENTIALS_PATH
43
+ os.environ['AWS_CONFIG_FILE'] = COREWEAVE_CONFIG_PATH
44
+ try:
45
+ yield
46
+ finally:
47
+ if prev_credentials_path is None:
48
+ del os.environ['AWS_SHARED_CREDENTIALS_FILE']
49
+ else:
50
+ os.environ['AWS_SHARED_CREDENTIALS_FILE'] = prev_credentials_path
51
+ if prev_config_path is None:
52
+ del os.environ['AWS_CONFIG_FILE']
53
+ else:
54
+ os.environ['AWS_CONFIG_FILE'] = prev_config_path
55
+
56
+
57
+ def get_coreweave_credentials(boto3_session):
58
+ """Gets the CoreWeave credentials from the boto3 session object.
59
+
60
+ Args:
61
+ boto3_session: The boto3 session object.
62
+ Returns:
63
+ botocore.credentials.ReadOnlyCredentials object with the CoreWeave
64
+ credentials.
65
+ """
66
+ with _load_cw_credentials_env():
67
+ coreweave_credentials = boto3_session.get_credentials()
68
+ if coreweave_credentials is None:
69
+ with ux_utils.print_exception_no_traceback():
70
+ raise ValueError('CoreWeave credentials not found. Run '
71
+ '`sky check` to verify credentials are '
72
+ 'correctly set up.')
73
+ return coreweave_credentials.get_frozen_credentials()
74
+
75
+
76
+ @annotations.lru_cache(scope='global')
77
+ def session():
78
+ """Create an AWS session for CoreWeave."""
79
+ # Creating the session object is not thread-safe for boto3,
80
+ # so we add a reentrant lock to synchronize the session creation.
81
+ # Reference: https://github.com/boto/boto3/issues/1592
82
+ # However, the session object itself is thread-safe, so we are
83
+ # able to use lru_cache() to cache the session object.
84
+ with _session_creation_lock:
85
+ with _load_cw_credentials_env():
86
+ session_ = boto3.session.Session(
87
+ profile_name=COREWEAVE_PROFILE_NAME)
88
+ return session_
89
+
90
+
91
+ @annotations.lru_cache(scope='global')
92
+ def resource(resource_name: str, **kwargs):
93
+ """Create a CoreWeave resource.
94
+
95
+ Args:
96
+ resource_name: CoreWeave resource name (e.g., 's3').
97
+ kwargs: Other options.
98
+ """
99
+ # Need to use the resource retrieved from the per-thread session
100
+ # to avoid thread-safety issues (Directly creating the client
101
+ # with boto3.resource() is not thread-safe).
102
+ # Reference: https://stackoverflow.com/a/59635814
103
+
104
+ session_ = session()
105
+ coreweave_credentials = get_coreweave_credentials(session_)
106
+ endpoint = get_endpoint()
107
+
108
+ return session_.resource(
109
+ resource_name,
110
+ endpoint_url=endpoint,
111
+ aws_access_key_id=coreweave_credentials.access_key,
112
+ aws_secret_access_key=coreweave_credentials.secret_key,
113
+ region_name='auto',
114
+ config=botocore.config.Config(s3={'addressing_style': 'virtual'}),
115
+ **kwargs)
116
+
117
+
118
+ @annotations.lru_cache(scope='global')
119
+ def client(service_name: str):
120
+ """Create CoreWeave client of a certain service.
121
+
122
+ Args:
123
+ service_name: CoreWeave service name (e.g., 's3').
124
+ """
125
+ # Need to use the client retrieved from the per-thread session
126
+ # to avoid thread-safety issues (Directly creating the client
127
+ # with boto3.client() is not thread-safe).
128
+ # Reference: https://stackoverflow.com/a/59635814
129
+
130
+ session_ = session()
131
+ coreweave_credentials = get_coreweave_credentials(session_)
132
+ endpoint = get_endpoint()
133
+
134
+ return session_.client(
135
+ service_name,
136
+ endpoint_url=endpoint,
137
+ aws_access_key_id=coreweave_credentials.access_key,
138
+ aws_secret_access_key=coreweave_credentials.secret_key,
139
+ region_name='auto',
140
+ config=botocore.config.Config(s3={'addressing_style': 'virtual'}),
141
+ )
142
+
143
+
144
+ @common.load_lazy_modules(_LAZY_MODULES)
145
+ def botocore_exceptions():
146
+ """AWS botocore exception."""
147
+ # pylint: disable=import-outside-toplevel
148
+ from botocore import exceptions as boto_exceptions
149
+ return boto_exceptions
150
+
151
+
152
+ def get_endpoint():
153
+ """Parse the COREWEAVE_CONFIG_PATH to get the endpoint_url.
154
+
155
+ The config file is an AWS-style config file with format:
156
+ [profile cw]
157
+ endpoint_url = https://cwobject.com
158
+ s3 =
159
+ addressing_style = virtual
160
+
161
+ Returns:
162
+ str: The endpoint URL from the config file, or the default endpoint
163
+ if the file doesn't exist or doesn't contain the endpoint_url.
164
+ """
165
+ config_path = os.path.expanduser(COREWEAVE_CONFIG_PATH)
166
+ if not os.path.isfile(config_path):
167
+ return _DEFAULT_ENDPOINT
168
+
169
+ try:
170
+ config = configparser.ConfigParser()
171
+ config.read(config_path)
172
+
173
+ # Try to get endpoint_url from [profile cw] section
174
+ profile_section = f'profile {COREWEAVE_PROFILE_NAME}'
175
+ if config.has_section(profile_section):
176
+ if config.has_option(profile_section, 'endpoint_url'):
177
+ endpoint = config.get(profile_section, 'endpoint_url')
178
+ return endpoint.strip()
179
+ except (configparser.Error, OSError) as e:
180
+ logger.warning(f'Failed to parse CoreWeave config file: {e}. '
181
+ f'Using default endpoint: {_DEFAULT_ENDPOINT}')
182
+
183
+ return _DEFAULT_ENDPOINT
184
+
185
+
186
+ def check_credentials(
187
+ cloud_capability: cloud.CloudCapability) -> Tuple[bool, Optional[str]]:
188
+ if cloud_capability == cloud.CloudCapability.STORAGE:
189
+ return check_storage_credentials()
190
+ else:
191
+ raise exceptions.NotSupportedError(
192
+ f'{NAME} does not support {cloud_capability}.')
193
+
194
+
195
+ def check_storage_credentials() -> Tuple[bool, Optional[str]]:
196
+ """Checks if the user has access credentials to CoreWeave Object Storage.
197
+
198
+ Returns:
199
+ A tuple of a boolean value and a hint message where the bool
200
+ is True when both credentials needed for CoreWeave storage is set.
201
+ It is False when either of those are not set, which would hint with a
202
+ string on unset credential.
203
+ """
204
+ hints = None
205
+ profile_in_cred = coreweave_profile_in_cred()
206
+ profile_in_config = coreweave_profile_in_config()
207
+
208
+ if not profile_in_cred:
209
+ hints = (f'[{COREWEAVE_PROFILE_NAME}] profile is not set in '
210
+ f'{COREWEAVE_CREDENTIALS_PATH}.')
211
+ if not profile_in_config:
212
+ if hints:
213
+ hints += ' Additionally, '
214
+ else:
215
+ hints = ''
216
+ hints += (f'[{COREWEAVE_PROFILE_NAME}] profile is not set in '
217
+ f'{COREWEAVE_CONFIG_PATH}.')
218
+
219
+ if hints:
220
+ hints += ' Run the following commands:'
221
+ if not profile_in_cred:
222
+ hints += f'\n{_INDENT_PREFIX} $ pip install boto3'
223
+ hints += (f'\n{_INDENT_PREFIX} $ AWS_SHARED_CREDENTIALS_FILE='
224
+ f'{COREWEAVE_CREDENTIALS_PATH} aws configure --profile '
225
+ f'{COREWEAVE_PROFILE_NAME}')
226
+ if not profile_in_config:
227
+ hints += (f'\n{_INDENT_PREFIX} $ AWS_CONFIG_FILE='
228
+ f'{COREWEAVE_CONFIG_PATH} aws configure set endpoint_url'
229
+ f' <ENDPOINT_URL> --profile '
230
+ f'{COREWEAVE_PROFILE_NAME}')
231
+ hints += (f'\n{_INDENT_PREFIX} $ AWS_CONFIG_FILE='
232
+ f'{COREWEAVE_CONFIG_PATH} aws configure set '
233
+ f's3.addressing_style virtual --profile '
234
+ f'{COREWEAVE_PROFILE_NAME}')
235
+ hints += f'\n{_INDENT_PREFIX}For more info: '
236
+ hints += 'https://docs.coreweave.com/docs/products/storage/object-storage/get-started-caios' # pylint: disable=line-too-long
237
+
238
+ return (False, hints) if hints else (True, hints)
239
+
240
+
241
+ def coreweave_profile_in_config() -> bool:
242
+ """Checks if CoreWeave profile is set in config"""
243
+ conf_path = os.path.expanduser(COREWEAVE_CONFIG_PATH)
244
+ coreweave_profile_exists = False
245
+ if os.path.isfile(conf_path):
246
+ with open(conf_path, 'r', encoding='utf-8') as file:
247
+ for line in file:
248
+ if f'[profile {COREWEAVE_PROFILE_NAME}]' in line:
249
+ coreweave_profile_exists = True
250
+ break
251
+ return coreweave_profile_exists
252
+
253
+
254
+ def coreweave_profile_in_cred() -> bool:
255
+ """Checks if CoreWeave profile is set in credentials"""
256
+ cred_path = os.path.expanduser(COREWEAVE_CREDENTIALS_PATH)
257
+ coreweave_profile_exists = False
258
+ if os.path.isfile(cred_path):
259
+ with open(cred_path, 'r', encoding='utf-8') as file:
260
+ for line in file:
261
+ if f'[{COREWEAVE_PROFILE_NAME}]' in line:
262
+ coreweave_profile_exists = True
263
+ break
264
+ return coreweave_profile_exists
265
+
266
+
267
+ def get_credential_file_mounts() -> Dict[str, str]:
268
+ """Returns credential file mounts for CoreWeave.
269
+
270
+ Returns:
271
+ Dict[str, str]: A dictionary mapping source paths to destination paths
272
+ for credential files.
273
+ """
274
+ coreweave_credential_mounts = {
275
+ COREWEAVE_CREDENTIALS_PATH: COREWEAVE_CREDENTIALS_PATH,
276
+ COREWEAVE_CONFIG_PATH: COREWEAVE_CONFIG_PATH
277
+ }
278
+ return coreweave_credential_mounts
@@ -3157,6 +3157,7 @@ def get_clusters(
3157
3157
  all_users: bool = True,
3158
3158
  include_credentials: bool = False,
3159
3159
  summary_response: bool = False,
3160
+ include_handle: bool = True,
3160
3161
  # Internal only:
3161
3162
  # pylint: disable=invalid-name
3162
3163
  _include_is_managed: bool = False,
@@ -3240,13 +3241,13 @@ def get_clusters(
3240
3241
  """Add resource str to record"""
3241
3242
  for record in _get_records_with_handle(records):
3242
3243
  handle = record['handle']
3243
- record[
3244
- 'resources_str'] = resources_utils.get_readable_resources_repr(
3245
- handle, simplify=True)
3246
- record[
3247
- 'resources_str_full'] = resources_utils.get_readable_resources_repr(
3248
- handle, simplify=False)
3244
+ resource_str_simple, resource_str_full = (
3245
+ resources_utils.get_readable_resources_repr(
3246
+ handle, simplified_only=summary_response))
3247
+ record['resources_str'] = resource_str_simple
3249
3248
  if not summary_response:
3249
+ assert resource_str_full is not None
3250
+ record['resources_str_full'] = resource_str_full
3250
3251
  record['cluster_name_on_cloud'] = handle.cluster_name_on_cloud
3251
3252
 
3252
3253
  def _update_records_with_credentials(
@@ -3313,6 +3314,8 @@ def get_clusters(
3313
3314
  record['accelerators'] = (
3314
3315
  f'{handle.launched_resources.accelerators}'
3315
3316
  if handle.launched_resources.accelerators else None)
3317
+ if not include_handle:
3318
+ record.pop('handle', None)
3316
3319
 
3317
3320
  # Add handle info to the records
3318
3321
  _update_records_with_handle_info(records)
@@ -2369,9 +2369,8 @@ class RetryingVmProvisioner(object):
2369
2369
  for (resource, exception) in resource_exceptions.items():
2370
2370
  table.add_row([
2371
2371
  resource.infra.formatted_str(),
2372
- resources_utils.format_resource(resource,
2373
- simplify=True),
2374
- exception
2372
+ resources_utils.format_resource(
2373
+ resource, simplified_only=True)[0], exception
2375
2374
  ])
2376
2375
  # Set the max width of REASON column to 80 to avoid the table
2377
2376
  # being wrapped in a unreadable way.
@@ -14,6 +14,7 @@ from sky import global_user_state
14
14
  from sky import sky_logging
15
15
  from sky import skypilot_config
16
16
  from sky.adaptors import cloudflare
17
+ from sky.adaptors import coreweave
17
18
  from sky.clouds import cloud as sky_cloud
18
19
  from sky.skylet import constants
19
20
  from sky.utils import common_utils
@@ -33,7 +34,8 @@ def _get_workspace_allowed_clouds(workspace: str) -> List[str]:
33
34
  # clouds. Also validate names with get_cloud_tuple.
34
35
  config_allowed_cloud_names = skypilot_config.get_nested(
35
36
  ('allowed_clouds',),
36
- [repr(c) for c in registry.CLOUD_REGISTRY.values()] + [cloudflare.NAME])
37
+ [repr(c) for c in registry.CLOUD_REGISTRY.values()] +
38
+ [cloudflare.NAME, coreweave.NAME])
37
39
  # filter out the clouds that are disabled in the workspace config
38
40
  workspace_disabled_clouds = []
39
41
  for cloud in config_allowed_cloud_names:
@@ -81,7 +83,7 @@ def check_capabilities(
81
83
 
82
84
  def get_all_clouds() -> Tuple[str, ...]:
83
85
  return tuple([repr(c) for c in registry.CLOUD_REGISTRY.values()] +
84
- [cloudflare.NAME])
86
+ [cloudflare.NAME, coreweave.NAME])
85
87
 
86
88
  def _execute_check_logic_for_workspace(
87
89
  current_workspace_name: str,
@@ -121,9 +123,12 @@ def check_capabilities(
121
123
  cloud_name: str
122
124
  ) -> Tuple[str, Union[sky_clouds.Cloud, ModuleType]]:
123
125
  # Validates cloud_name and returns a tuple of the cloud's name and
124
- # the cloud object. Includes special handling for Cloudflare.
126
+ # the cloud object. Includes special handling for Cloudflare and
127
+ # CoreWeave.
125
128
  if cloud_name.lower().startswith('cloudflare'):
126
129
  return cloudflare.NAME, cloudflare
130
+ elif cloud_name.lower().startswith('coreweave'):
131
+ return coreweave.NAME, coreweave
127
132
  else:
128
133
  cloud_obj = registry.CLOUD_REGISTRY.from_str(cloud_name)
129
134
  assert cloud_obj is not None, f'Cloud {cloud_name!r} not found'
@@ -219,23 +224,24 @@ def check_capabilities(
219
224
  # allowed_clouds in config.yaml, it will be disabled.
220
225
  all_enabled_clouds: Set[str] = set()
221
226
  for capability in capabilities:
222
- # Cloudflare is not a real cloud in registry.CLOUD_REGISTRY, and
223
- # should not be inserted into the DB (otherwise `sky launch` and
224
- # other code would error out when it's trying to look it up in the
225
- # registry).
227
+ # Cloudflare and CoreWeave are not real clouds in
228
+ # registry.CLOUD_REGISTRY, and should not be inserted into the DB
229
+ # (otherwise `sky launch` and other code would error out when it's
230
+ # trying to look it up in the registry).
226
231
  enabled_clouds_set = {
227
232
  cloud for cloud, capabilities in enabled_clouds.items()
228
- if capability in capabilities and
229
- not cloud.startswith('Cloudflare')
233
+ if capability in capabilities and not cloud.startswith(
234
+ 'Cloudflare') and not cloud.startswith('CoreWeave')
230
235
  }
231
236
  disabled_clouds_set = {
232
237
  cloud for cloud, capabilities in disabled_clouds.items()
233
- if capability in capabilities and
234
- not cloud.startswith('Cloudflare')
238
+ if capability in capabilities and not cloud.startswith(
239
+ 'Cloudflare') and not cloud.startswith('CoreWeave')
235
240
  }
236
241
  config_allowed_clouds_set = {
237
242
  cloud for cloud in config_allowed_cloud_names
238
- if not cloud.startswith('Cloudflare')
243
+ if not cloud.startswith('Cloudflare') and
244
+ not cloud.startswith('CoreWeave')
239
245
  }
240
246
  previously_enabled_clouds_set = {
241
247
  repr(cloud)
@@ -430,6 +436,12 @@ def get_cloud_credential_file_mounts(
430
436
  if r2_is_enabled:
431
437
  r2_credential_mounts = cloudflare.get_credential_file_mounts()
432
438
  file_mounts.update(r2_credential_mounts)
439
+
440
+ # Similarly, handle CoreWeave storage credentials
441
+ coreweave_is_enabled, _ = coreweave.check_storage_credentials()
442
+ if coreweave_is_enabled:
443
+ coreweave_credential_mounts = coreweave.get_credential_file_mounts()
444
+ file_mounts.update(coreweave_credential_mounts)
433
445
  return file_mounts
434
446
 
435
447
 
@@ -494,7 +506,7 @@ def _print_checked_cloud(
494
506
  style_str = f'{colorama.Fore.GREEN}{colorama.Style.NORMAL}'
495
507
  status_msg = 'enabled'
496
508
  capability_string = f'[{", ".join(enabled_capabilities)}]'
497
- if verbose and cloud is not cloudflare:
509
+ if verbose and cloud is not cloudflare and cloud is not coreweave:
498
510
  activated_account = cloud.get_active_user_identity_str()
499
511
  if isinstance(cloud_tuple[1], (sky_clouds.SSH, sky_clouds.Kubernetes)):
500
512
  detail_string = _format_context_details(cloud_tuple[1],
@@ -3358,6 +3358,7 @@ def _down_or_stop_clusters(
3358
3358
  success_progress = True
3359
3359
  message = (f'{colorama.Fore.GREEN}{operation} '
3360
3360
  f'cluster {name!r}...done{colorama.Style.RESET_ALL}')
3361
+ successes.append(name)
3361
3362
  if idle_minutes_to_autostop >= 0:
3362
3363
  option_str = 'down' if down else 'stop'
3363
3364
  passive_str = 'downed' if down else 'stopped'
@@ -3428,17 +3429,30 @@ def _down_or_stop_clusters(
3428
3429
  click.secho(f'{operation} requests are sent. Check the requests\' '
3429
3430
  'status with `sky request get <request_id>`.')
3430
3431
 
3431
- click.echo('\nSummary:')
3432
- if successes:
3433
- click.echo(' ✓ Succeeded: ' + ', '.join(successes))
3432
+ show_summary = len(clusters) > 1
3433
+
3434
+ if show_summary:
3435
+ click.echo('\nSummary:')
3436
+ if successes:
3437
+ # Preserve the original order of clusters as provided by user.
3438
+ click.echo(' ✓ Succeeded: ' + ', '.join(successes))
3439
+ if failures:
3440
+ # Format failures: if one failure, keep on same line. If multiple,
3441
+ # indent each failed cluster on its own line for readability.
3442
+ if len(failures) == 1:
3443
+ name, reason = failures[0]
3444
+ first = reason.strip().splitlines()[0]
3445
+ first = first if len(first) <= 120 else first[:120] + '…'
3446
+ click.echo(f' ✗ Failed: {name} ({first})')
3447
+ else:
3448
+ click.echo(' ✗ Failed:')
3449
+ for name, reason in failures:
3450
+ first = reason.strip().splitlines()[0]
3451
+ first = first if len(first) <= 120 else first[:120] + '…'
3452
+ click.echo(f' {name} ({first})')
3453
+
3434
3454
  if failures:
3435
- failed_pretty = []
3436
- for name, reason in failures:
3437
- first = reason.strip().splitlines()[0]
3438
- first = first if len(first) <= 120 else first[:120] + '…'
3439
- failed_pretty.append(f'{name} ({first})')
3440
- click.echo(' ✗ Failed: ' + ', '.join(failed_pretty))
3441
- raise click.ClickException('Some clusters failed. See summary above.')
3455
+ click.echo('Cluster(s) failed. See details above.')
3442
3456
 
3443
3457
 
3444
3458
  @cli.command(cls=_DocumentedCodeCommand)
@@ -4239,6 +4253,10 @@ def volumes():
4239
4253
  pass
4240
4254
 
4241
4255
 
4256
+ # Add 'volume' as an alias for 'volumes'
4257
+ cli.add_command(volumes, name='volume')
4258
+
4259
+
4242
4260
  @volumes.command('apply', cls=_DocumentedCodeCommand)
4243
4261
  @flags.config_option(expose_value=False)
4244
4262
  @click.argument('entrypoint',
@@ -6340,7 +6358,7 @@ INT_OR_NONE = IntOrNone()
6340
6358
 
6341
6359
  @api.command('status', cls=_DocumentedCodeCommand)
6342
6360
  @flags.config_option(expose_value=False)
6343
- @click.argument('request_ids',
6361
+ @click.argument('request_id_prefixes',
6344
6362
  required=False,
6345
6363
  type=str,
6346
6364
  nargs=-1,
@@ -6362,15 +6380,16 @@ INT_OR_NONE = IntOrNone()
6362
6380
  @flags.verbose_option('Show more details.')
6363
6381
  @usage_lib.entrypoint
6364
6382
  # pylint: disable=redefined-builtin
6365
- def api_status(request_ids: Optional[List[str]], all_status: bool,
6383
+ def api_status(request_id_prefixes: Optional[List[str]], all_status: bool,
6366
6384
  verbose: bool, limit: Optional[int]):
6367
6385
  """List requests on SkyPilot API server."""
6368
- if not request_ids:
6369
- request_ids = None
6386
+ if not request_id_prefixes:
6387
+ request_id_prefixes = None
6370
6388
  fields = _DEFAULT_REQUEST_FIELDS_TO_SHOW
6371
6389
  if verbose:
6372
6390
  fields = _VERBOSE_REQUEST_FIELDS_TO_SHOW
6373
- request_list = sdk.api_status(request_ids, all_status, limit, fields)
6391
+ request_list = sdk.api_status(request_id_prefixes, all_status, limit,
6392
+ fields)
6374
6393
  columns = ['ID', 'User', 'Name']
6375
6394
  if verbose:
6376
6395
  columns.append('Cluster')