skypilot-nightly 1.0.0.dev20250501__tar.gz → 1.0.0.dev20250503__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.
Files changed (417) hide show
  1. {skypilot_nightly-1.0.0.dev20250501/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250503}/PKG-INFO +1 -7
  2. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/backend_utils.py +1 -1
  4. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/cli.py +62 -32
  5. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/client/cli.py +62 -32
  6. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/gcp.py +38 -26
  7. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/nebius.py +3 -2
  8. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/404.html +1 -1
  9. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  10. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/clusters/[cluster].html +1 -1
  11. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/clusters.html +1 -1
  12. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/index.html +1 -1
  13. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/jobs/[job].html +1 -1
  14. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/jobs.html +1 -1
  15. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/utils.py +6 -4
  16. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/setup_files/dependencies.py +0 -5
  17. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503/skypilot_nightly.egg-info}/PKG-INFO +1 -7
  18. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/skypilot_nightly.egg-info/SOURCES.txt +2 -2
  19. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/skypilot_nightly.egg-info/requires.txt +0 -4
  20. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/LICENSE +0 -0
  21. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/MANIFEST.in +0 -0
  22. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/README.md +0 -0
  23. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/pyproject.toml +0 -0
  24. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/setup.cfg +0 -0
  25. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/setup.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/__init__.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/aws.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/azure.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/cloudflare.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/common.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/cudo.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/do.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/docker.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/gcp.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/ibm.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/kubernetes.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/nebius.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/oci.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/runpod.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/vast.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/adaptors/vsphere.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/admin_policy.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/authentication.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/__init__.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/backend.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/cloud_vm_ray_backend.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/docker_utils.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/local_docker_backend.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/backends/wheel_utils.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/benchmark/__init__.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/benchmark/benchmark_state.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/benchmark/benchmark_utils.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/check.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/client/__init__.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/client/common.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/client/sdk.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/cloud_stores.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/__init__.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/aws.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/azure.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/cloud.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/cudo.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/do.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/fluidstack.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/ibm.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/kubernetes.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/lambda_cloud.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/oci.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/paperspace.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/runpod.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/scp.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/__init__.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/common.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/config.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/constants.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_ibm.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_vast.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/do_catalog.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/nebius_catalog.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/oci_catalog.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/vast_catalog.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/utils/__init__.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/utils/aws_utils.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/utils/azure_utils.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/utils/gcp_utils.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/utils/oci_utils.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/utils/scp_utils.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/vast.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/clouds/vsphere.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/core.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dag.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/236-2db3ee3fba33dd9e.js +0 -0
  114. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js +0 -0
  115. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/37-0a572fe0dbb89c4d.js +0 -0
  116. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/678-206dddca808e6d16.js +0 -0
  117. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/845-9e60713e0c441abc.js +0 -0
  118. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/979-7bf73a4c7cea0f5c.js +0 -0
  119. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js +0 -0
  120. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js +0 -0
  121. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js +0 -0
  122. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js +0 -0
  123. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js +0 -0
  124. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +0 -0
  125. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-6ac338bc2239cb45.js +0 -0
  126. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-f383db7389368ea7.js +0 -0
  127. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js +0 -0
  128. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/index-f9f039532ca8cbc4.js +0 -0
  129. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-1c519e1afc523dc9.js +0 -0
  130. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js +0 -0
  131. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  132. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/chunks/webpack-830f59b8404e96b8.js +0 -0
  133. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/_next/static/css/c6933bbb2ce7f4dd.css +0 -0
  134. {skypilot_nightly-1.0.0.dev20250501/sky/dashboard/out/_next/static/G3FnjFknc_-MUJ5QoSnJ_ → skypilot_nightly-1.0.0.dev20250503/sky/dashboard/out/_next/static/zldaM4b2C9dqzAfQFKH9d}/_buildManifest.js +0 -0
  135. {skypilot_nightly-1.0.0.dev20250501/sky/dashboard/out/_next/static/G3FnjFknc_-MUJ5QoSnJ_ → skypilot_nightly-1.0.0.dev20250503/sky/dashboard/out/_next/static/zldaM4b2C9dqzAfQFKH9d}/_ssgManifest.js +0 -0
  136. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/favicon.ico +0 -0
  137. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/skypilot.svg +0 -0
  138. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  139. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/data/__init__.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/data/data_transfer.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/data/data_utils.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/data/mounting_utils.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/data/storage.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/data/storage_utils.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/exceptions.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/execution.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/global_user_state.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/__init__.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/client/__init__.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/client/sdk.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/constants.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/controller.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/dashboard/dashboard.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/dashboard/static/favicon.ico +0 -0
  155. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/dashboard/templates/index.html +0 -0
  156. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/recovery_strategy.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/scheduler.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/server/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/server/core.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/server/dashboard_utils.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/server/server.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/jobs/state.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/models.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/optimizer.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/__init__.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/aws/__init__.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/aws/config.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/aws/instance.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/aws/utils.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/azure/__init__.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/azure/azure-config-template.json +0 -0
  172. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/azure/config.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/azure/instance.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/common.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/constants.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/cudo/__init__.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/cudo/config.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/cudo/cudo_machine_type.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/cudo/cudo_utils.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/cudo/cudo_wrapper.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/cudo/instance.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/do/__init__.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/do/config.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/do/constants.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/do/instance.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/do/utils.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/docker_utils.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/fluidstack/__init__.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/fluidstack/config.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/fluidstack/instance.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/gcp/__init__.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/gcp/config.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/gcp/constants.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/gcp/instance.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/gcp/instance_utils.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/gcp/mig_utils.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/instance_setup.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/__init__.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/config.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/constants.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/instance.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  204. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/network.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/network_utils.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/kubernetes/utils.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/lambda_cloud/__init__.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/lambda_cloud/config.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/lambda_cloud/instance.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/logging.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/metadata_utils.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/nebius/__init__.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/nebius/config.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/nebius/instance.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/nebius/utils.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/oci/__init__.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/oci/config.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/oci/instance.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/oci/query_utils.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/paperspace/__init__.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/paperspace/config.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/paperspace/constants.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/paperspace/instance.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/paperspace/utils.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/provisioner.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/__init__.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/api/__init__.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/api/commands.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/api/pods.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/config.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/instance.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/runpod/utils.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vast/__init__.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vast/config.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vast/instance.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vast/utils.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/__init__.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/__init__.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/custom_script.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/id_generator.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/service_manager.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/common/vim_utils.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/config.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/instance.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/provision/vsphere/vsphere_utils.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/resources.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/__init__.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/autoscalers.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/client/__init__.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/client/sdk.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/constants.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/controller.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/load_balancer.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/load_balancing_policies.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/replica_managers.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/serve_state.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/serve_utils.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/server/__init__.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/server/core.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/server/server.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/service.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/service_spec.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/serve/spot_placer.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/__init__.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/common.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/config.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/constants.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/html/log.html +0 -0
  276. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/__init__.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/event_loop.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/executor.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/payloads.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/preconditions.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/process.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/queues/__init__.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/queues/local_queue.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/queues/mp_queue.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/requests.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/serializers/__init__.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/serializers/decoders.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/requests/serializers/encoders.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/server.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/stream_utils.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/server/uvicorn.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/setup_files/MANIFEST.in +0 -0
  293. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/setup_files/setup.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/sky_logging.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/LICENSE +0 -0
  296. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/__init__.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/attempt_skylet.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/autostop_lib.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/configs.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/constants.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/events.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/job_lib.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/log_lib.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/log_lib.pyi +0 -0
  305. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/__init__.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/command_runner.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/ibm/__init__.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/ibm/node_provider.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/ibm/utils.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/scp/__init__.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/scp/config.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/providers/scp/node_provider.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/__init__.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  316. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/cli.py.patch +0 -0
  317. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  318. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  319. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  320. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/updater.py.patch +0 -0
  321. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/ray_patches/worker.py.patch +0 -0
  322. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/skylet.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skylet/subprocess_daemon.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/skypilot_config.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/task.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/aws-ray.yml.j2 +0 -0
  327. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/azure-ray.yml.j2 +0 -0
  328. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/cudo-ray.yml.j2 +0 -0
  329. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/do-ray.yml.j2 +0 -0
  330. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  331. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/gcp-ray.yml.j2 +0 -0
  332. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/ibm-ray.yml.j2 +0 -0
  333. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/jobs-controller.yaml.j2 +0 -0
  334. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  335. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  336. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  337. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  338. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  339. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/lambda-ray.yml.j2 +0 -0
  340. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/local-ray.yml.j2 +0 -0
  341. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/nebius-ray.yml.j2 +0 -0
  342. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/oci-ray.yml.j2 +0 -0
  343. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/paperspace-ray.yml.j2 +0 -0
  344. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/runpod-ray.yml.j2 +0 -0
  345. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/scp-ray.yml.j2 +0 -0
  346. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  347. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  348. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/vast-ray.yml.j2 +0 -0
  349. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/vsphere-ray.yml.j2 +0 -0
  350. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/templates/websocket_proxy.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/usage/__init__.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/usage/constants.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/usage/usage_lib.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/__init__.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/accelerator_registry.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/admin_policy_utils.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/annotations.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/atomic.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/aws/__init__.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/aws/get_default_security_group.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/cli_utils/__init__.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/cli_utils/status_utils.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/cluster_utils.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/command_runner.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/command_runner.pyi +0 -0
  366. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/common.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/common_utils.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/config_utils.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/control_master_utils.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/controller_utils.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/dag_utils.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/db_utils.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/env_options.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/__init__.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/create_cluster.sh +0 -0
  376. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  377. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  378. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  381. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  383. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  384. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  386. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/kubernetes_enums.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/log_utils.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/message_utils.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/registry.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/resources_utils.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/rich_console_utils.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/rich_utils.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/schemas.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/status_lib.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/subprocess_utils.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/timeline.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/ux_utils.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/sky/utils/validator.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  401. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  402. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/skypilot_nightly.egg-info/top_level.txt +0 -0
  403. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_api.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_cli.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_config.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_failover.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_global_user_state.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_jobs.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_jobs_and_serve.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_list_accelerators.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_optimizer_dryruns.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_optimizer_random_dag.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_serve_autoscaler.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_smoke.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_storage.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/tests/test_wheels.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250501 → skypilot_nightly-1.0.0.dev20250503}/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.dev20250501
3
+ Version: 1.0.0.dev20250503
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -48,7 +48,6 @@ Requires-Dist: aiofiles
48
48
  Requires-Dist: httpx
49
49
  Requires-Dist: setproctitle
50
50
  Provides-Extra: aws
51
- Requires-Dist: urllib3<2; extra == "aws"
52
51
  Requires-Dist: awscli>=1.27.10; extra == "aws"
53
52
  Requires-Dist: botocore>=1.29.10; extra == "aws"
54
53
  Requires-Dist: boto3>=1.26.1; extra == "aws"
@@ -76,7 +75,6 @@ Requires-Dist: docker; extra == "docker"
76
75
  Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "docker"
77
76
  Provides-Extra: lambda
78
77
  Provides-Extra: cloudflare
79
- Requires-Dist: urllib3<2; extra == "cloudflare"
80
78
  Requires-Dist: awscli>=1.27.10; extra == "cloudflare"
81
79
  Requires-Dist: botocore>=1.29.10; extra == "cloudflare"
82
80
  Requires-Dist: boto3>=1.26.1; extra == "cloudflare"
@@ -109,13 +107,11 @@ Provides-Extra: vsphere
109
107
  Requires-Dist: pyvmomi==8.0.1.0.2; extra == "vsphere"
110
108
  Provides-Extra: nebius
111
109
  Requires-Dist: nebius>=0.2.0; extra == "nebius"
112
- Requires-Dist: urllib3<2; extra == "nebius"
113
110
  Requires-Dist: awscli>=1.27.10; extra == "nebius"
114
111
  Requires-Dist: botocore>=1.29.10; extra == "nebius"
115
112
  Requires-Dist: boto3>=1.26.1; extra == "nebius"
116
113
  Requires-Dist: colorama<0.4.5; extra == "nebius"
117
114
  Provides-Extra: all
118
- Requires-Dist: urllib3<2; extra == "all"
119
115
  Requires-Dist: awscli>=1.27.10; extra == "all"
120
116
  Requires-Dist: botocore>=1.29.10; extra == "all"
121
117
  Requires-Dist: boto3>=1.26.1; extra == "all"
@@ -137,7 +133,6 @@ Requires-Dist: ibm-cos-sdk; extra == "all"
137
133
  Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
138
134
  Requires-Dist: docker; extra == "all"
139
135
  Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
140
- Requires-Dist: urllib3<2; extra == "all"
141
136
  Requires-Dist: awscli>=1.27.10; extra == "all"
142
137
  Requires-Dist: botocore>=1.29.10; extra == "all"
143
138
  Requires-Dist: boto3>=1.26.1; extra == "all"
@@ -158,7 +153,6 @@ Requires-Dist: azure-common; extra == "all"
158
153
  Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
159
154
  Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
160
155
  Requires-Dist: nebius>=0.2.0; extra == "all"
161
- Requires-Dist: urllib3<2; extra == "all"
162
156
  Requires-Dist: awscli>=1.27.10; extra == "all"
163
157
  Requires-Dist: botocore>=1.29.10; extra == "all"
164
158
  Requires-Dist: boto3>=1.26.1; extra == "all"
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = '7fa02b5078e1041e98e4b78b8cada505a720d9eb'
8
+ _SKYPILOT_COMMIT_SHA = 'df96e4a84e06a1eb91897c1594b4c63c4eca64d2'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20250501'
38
+ __version__ = '1.0.0.dev20250503'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -713,7 +713,7 @@ def write_cluster_config(
713
713
  # this feature has been checked by
714
714
  # CloudImplementationFeatures.HIGH_AVAILABILITY_CONTROLLERS
715
715
  high_availability_specified = controller_utils.high_availability_specified(
716
- cluster_name_on_cloud)
716
+ cluster_name)
717
717
 
718
718
  # Use a tmp file path to avoid incomplete YAML file being re-used in the
719
719
  # future.
@@ -3450,29 +3450,53 @@ def show_gpus(
3450
3450
  total_gpu_info: Dict[str, List[int]] = collections.defaultdict(
3451
3451
  lambda: [0, 0])
3452
3452
 
3453
- for (ctx, availability_list) in realtime_gpu_availability_lists:
3454
- realtime_gpu_table = log_utils.create_table(
3455
- ['GPU', qty_header, 'TOTAL_GPUS', free_header])
3456
- for realtime_gpu_availability in sorted(availability_list):
3457
- gpu_availability = models.RealtimeGpuAvailability(
3458
- *realtime_gpu_availability)
3459
- available_qty = (gpu_availability.available
3460
- if gpu_availability.available != -1 else
3461
- no_permissions_str)
3462
- realtime_gpu_table.add_row([
3463
- gpu_availability.gpu,
3464
- _list_to_str(gpu_availability.counts),
3465
- gpu_availability.capacity,
3466
- available_qty,
3467
- ])
3468
- gpu = gpu_availability.gpu
3469
- capacity = gpu_availability.capacity
3470
- # we want total, so skip permission denied.
3471
- available = max(gpu_availability.available, 0)
3472
- if capacity > 0:
3473
- total_gpu_info[gpu][0] += capacity
3474
- total_gpu_info[gpu][1] += available
3475
- realtime_gpu_infos.append((ctx, realtime_gpu_table))
3453
+ # TODO(kyuds): remove backwards compatibility code (else branch)
3454
+ # when API version is bumped
3455
+ if realtime_gpu_availability_lists:
3456
+ # can't check for isinstance tuple as the tuple is converted to list
3457
+ if len(realtime_gpu_availability_lists[0]) == 2:
3458
+ for (ctx, availability_list) in realtime_gpu_availability_lists:
3459
+ realtime_gpu_table = log_utils.create_table(
3460
+ ['GPU', qty_header, 'TOTAL_GPUS', free_header])
3461
+ for realtime_gpu_availability in sorted(availability_list):
3462
+ gpu_availability = models.RealtimeGpuAvailability(
3463
+ *realtime_gpu_availability)
3464
+ available_qty = (gpu_availability.available
3465
+ if gpu_availability.available != -1
3466
+ else no_permissions_str)
3467
+ realtime_gpu_table.add_row([
3468
+ gpu_availability.gpu,
3469
+ _list_to_str(gpu_availability.counts),
3470
+ gpu_availability.capacity,
3471
+ available_qty,
3472
+ ])
3473
+ gpu = gpu_availability.gpu
3474
+ capacity = gpu_availability.capacity
3475
+ # we want total, so skip permission denied.
3476
+ available = max(gpu_availability.available, 0)
3477
+ if capacity > 0:
3478
+ total_gpu_info[gpu][0] += capacity
3479
+ total_gpu_info[gpu][1] += available
3480
+ realtime_gpu_infos.append((ctx, realtime_gpu_table))
3481
+ else:
3482
+ # can remove this with api server version bump.
3483
+ # 2025.05.03
3484
+ availability_list = realtime_gpu_availability_lists
3485
+ realtime_gpu_table = log_utils.create_table(
3486
+ ['GPU', qty_header, 'TOTAL_GPUS', free_header])
3487
+ for realtime_gpu_availability in sorted(availability_list):
3488
+ gpu_availability = models.RealtimeGpuAvailability(
3489
+ *realtime_gpu_availability)
3490
+ available_qty = (gpu_availability.available
3491
+ if gpu_availability.available != -1 else
3492
+ no_permissions_str)
3493
+ realtime_gpu_table.add_row([
3494
+ gpu_availability.gpu,
3495
+ _list_to_str(gpu_availability.counts),
3496
+ gpu_availability.capacity,
3497
+ available_qty,
3498
+ ])
3499
+ realtime_gpu_infos.append((context, realtime_gpu_table))
3476
3500
 
3477
3501
  # display an aggregated table for all contexts
3478
3502
  # if there are more than one contexts with GPUs
@@ -3497,15 +3521,17 @@ def show_gpus(
3497
3521
  available = node_info.free[
3498
3522
  'accelerators_available'] if node_info.free[
3499
3523
  'accelerators_available'] != -1 else no_permissions_str
3500
- node_table.add_row([
3501
- node_name, node_info.accelerator_type,
3502
- node_info.total['accelerator_count'], available
3503
- ])
3524
+ total = node_info.total['accelerator_count']
3525
+ if total > 0:
3526
+ node_table.add_row([
3527
+ node_name, node_info.accelerator_type,
3528
+ node_info.total['accelerator_count'], available
3529
+ ])
3504
3530
  k8s_per_node_acc_message = (
3505
3531
  'Kubernetes per node accelerator availability ')
3506
3532
  if nodes_info.hint:
3507
3533
  k8s_per_node_acc_message += nodes_info.hint
3508
- return (f'{colorama.Fore.LIGHTMAGENTA_EX}{colorama.Style.NORMAL}'
3534
+ return (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
3509
3535
  f'{k8s_per_node_acc_message}'
3510
3536
  f'{colorama.Style.RESET_ALL}\n'
3511
3537
  f'{node_table.get_string()}')
@@ -3557,17 +3583,21 @@ def show_gpus(
3557
3583
  'Total Kubernetes GPUs'
3558
3584
  f'{colorama.Style.RESET_ALL}\n')
3559
3585
  yield from total_table.get_string()
3560
- yield '\n-----\n\n'
3586
+ yield '\n\n'
3561
3587
 
3562
3588
  # print individual infos.
3563
- for (ctx, k8s_realtime_table) in k8s_realtime_infos:
3589
+ for (idx,
3590
+ (ctx,
3591
+ k8s_realtime_table)) in enumerate(k8s_realtime_infos):
3564
3592
  context_str = f'(Context: {ctx})' if ctx else ''
3565
3593
  yield (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
3566
3594
  f'Kubernetes GPUs {context_str}'
3567
3595
  f'{colorama.Style.RESET_ALL}\n')
3568
3596
  yield from k8s_realtime_table.get_string()
3569
3597
  yield '\n\n'
3570
- yield _format_kubernetes_node_info(ctx) + '\n-----\n\n'
3598
+ yield _format_kubernetes_node_info(ctx)
3599
+ if idx != len(k8s_realtime_infos) - 1:
3600
+ yield '\n\n'
3571
3601
  if kubernetes_autoscaling:
3572
3602
  k8s_messages += (
3573
3603
  '\n' + kubernetes_utils.KUBERNETES_AUTOSCALER_NOTE)
@@ -3669,7 +3699,7 @@ def show_gpus(
3669
3699
  'Total Kubernetes GPUs'
3670
3700
  f'{colorama.Style.RESET_ALL}\n')
3671
3701
  yield from total_table.get_string()
3672
- yield '\n-----\n\n'
3702
+ yield '\n\n'
3673
3703
 
3674
3704
  # print individual tables
3675
3705
  for (ctx, k8s_realtime_table) in k8s_realtime_infos:
@@ -3450,29 +3450,53 @@ def show_gpus(
3450
3450
  total_gpu_info: Dict[str, List[int]] = collections.defaultdict(
3451
3451
  lambda: [0, 0])
3452
3452
 
3453
- for (ctx, availability_list) in realtime_gpu_availability_lists:
3454
- realtime_gpu_table = log_utils.create_table(
3455
- ['GPU', qty_header, 'TOTAL_GPUS', free_header])
3456
- for realtime_gpu_availability in sorted(availability_list):
3457
- gpu_availability = models.RealtimeGpuAvailability(
3458
- *realtime_gpu_availability)
3459
- available_qty = (gpu_availability.available
3460
- if gpu_availability.available != -1 else
3461
- no_permissions_str)
3462
- realtime_gpu_table.add_row([
3463
- gpu_availability.gpu,
3464
- _list_to_str(gpu_availability.counts),
3465
- gpu_availability.capacity,
3466
- available_qty,
3467
- ])
3468
- gpu = gpu_availability.gpu
3469
- capacity = gpu_availability.capacity
3470
- # we want total, so skip permission denied.
3471
- available = max(gpu_availability.available, 0)
3472
- if capacity > 0:
3473
- total_gpu_info[gpu][0] += capacity
3474
- total_gpu_info[gpu][1] += available
3475
- realtime_gpu_infos.append((ctx, realtime_gpu_table))
3453
+ # TODO(kyuds): remove backwards compatibility code (else branch)
3454
+ # when API version is bumped
3455
+ if realtime_gpu_availability_lists:
3456
+ # can't check for isinstance tuple as the tuple is converted to list
3457
+ if len(realtime_gpu_availability_lists[0]) == 2:
3458
+ for (ctx, availability_list) in realtime_gpu_availability_lists:
3459
+ realtime_gpu_table = log_utils.create_table(
3460
+ ['GPU', qty_header, 'TOTAL_GPUS', free_header])
3461
+ for realtime_gpu_availability in sorted(availability_list):
3462
+ gpu_availability = models.RealtimeGpuAvailability(
3463
+ *realtime_gpu_availability)
3464
+ available_qty = (gpu_availability.available
3465
+ if gpu_availability.available != -1
3466
+ else no_permissions_str)
3467
+ realtime_gpu_table.add_row([
3468
+ gpu_availability.gpu,
3469
+ _list_to_str(gpu_availability.counts),
3470
+ gpu_availability.capacity,
3471
+ available_qty,
3472
+ ])
3473
+ gpu = gpu_availability.gpu
3474
+ capacity = gpu_availability.capacity
3475
+ # we want total, so skip permission denied.
3476
+ available = max(gpu_availability.available, 0)
3477
+ if capacity > 0:
3478
+ total_gpu_info[gpu][0] += capacity
3479
+ total_gpu_info[gpu][1] += available
3480
+ realtime_gpu_infos.append((ctx, realtime_gpu_table))
3481
+ else:
3482
+ # can remove this with api server version bump.
3483
+ # 2025.05.03
3484
+ availability_list = realtime_gpu_availability_lists
3485
+ realtime_gpu_table = log_utils.create_table(
3486
+ ['GPU', qty_header, 'TOTAL_GPUS', free_header])
3487
+ for realtime_gpu_availability in sorted(availability_list):
3488
+ gpu_availability = models.RealtimeGpuAvailability(
3489
+ *realtime_gpu_availability)
3490
+ available_qty = (gpu_availability.available
3491
+ if gpu_availability.available != -1 else
3492
+ no_permissions_str)
3493
+ realtime_gpu_table.add_row([
3494
+ gpu_availability.gpu,
3495
+ _list_to_str(gpu_availability.counts),
3496
+ gpu_availability.capacity,
3497
+ available_qty,
3498
+ ])
3499
+ realtime_gpu_infos.append((context, realtime_gpu_table))
3476
3500
 
3477
3501
  # display an aggregated table for all contexts
3478
3502
  # if there are more than one contexts with GPUs
@@ -3497,15 +3521,17 @@ def show_gpus(
3497
3521
  available = node_info.free[
3498
3522
  'accelerators_available'] if node_info.free[
3499
3523
  'accelerators_available'] != -1 else no_permissions_str
3500
- node_table.add_row([
3501
- node_name, node_info.accelerator_type,
3502
- node_info.total['accelerator_count'], available
3503
- ])
3524
+ total = node_info.total['accelerator_count']
3525
+ if total > 0:
3526
+ node_table.add_row([
3527
+ node_name, node_info.accelerator_type,
3528
+ node_info.total['accelerator_count'], available
3529
+ ])
3504
3530
  k8s_per_node_acc_message = (
3505
3531
  'Kubernetes per node accelerator availability ')
3506
3532
  if nodes_info.hint:
3507
3533
  k8s_per_node_acc_message += nodes_info.hint
3508
- return (f'{colorama.Fore.LIGHTMAGENTA_EX}{colorama.Style.NORMAL}'
3534
+ return (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
3509
3535
  f'{k8s_per_node_acc_message}'
3510
3536
  f'{colorama.Style.RESET_ALL}\n'
3511
3537
  f'{node_table.get_string()}')
@@ -3557,17 +3583,21 @@ def show_gpus(
3557
3583
  'Total Kubernetes GPUs'
3558
3584
  f'{colorama.Style.RESET_ALL}\n')
3559
3585
  yield from total_table.get_string()
3560
- yield '\n-----\n\n'
3586
+ yield '\n\n'
3561
3587
 
3562
3588
  # print individual infos.
3563
- for (ctx, k8s_realtime_table) in k8s_realtime_infos:
3589
+ for (idx,
3590
+ (ctx,
3591
+ k8s_realtime_table)) in enumerate(k8s_realtime_infos):
3564
3592
  context_str = f'(Context: {ctx})' if ctx else ''
3565
3593
  yield (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
3566
3594
  f'Kubernetes GPUs {context_str}'
3567
3595
  f'{colorama.Style.RESET_ALL}\n')
3568
3596
  yield from k8s_realtime_table.get_string()
3569
3597
  yield '\n\n'
3570
- yield _format_kubernetes_node_info(ctx) + '\n-----\n\n'
3598
+ yield _format_kubernetes_node_info(ctx)
3599
+ if idx != len(k8s_realtime_infos) - 1:
3600
+ yield '\n\n'
3571
3601
  if kubernetes_autoscaling:
3572
3602
  k8s_messages += (
3573
3603
  '\n' + kubernetes_utils.KUBERNETES_AUTOSCALER_NOTE)
@@ -3669,7 +3699,7 @@ def show_gpus(
3669
3699
  'Total Kubernetes GPUs'
3670
3700
  f'{colorama.Style.RESET_ALL}\n')
3671
3701
  yield from total_table.get_string()
3672
- yield '\n-----\n\n'
3702
+ yield '\n\n'
3673
3703
 
3674
3704
  # print individual tables
3675
3705
  for (ctx, k8s_realtime_table) in k8s_realtime_infos:
@@ -1017,28 +1017,11 @@ class GCP(clouds.Cloud):
1017
1017
 
1018
1018
  @classmethod
1019
1019
  def check_disk_tier(
1020
- cls, instance_type: Optional[str],
1021
- disk_tier: Optional[resources_utils.DiskTier]) -> Tuple[bool, str]:
1022
- if disk_tier != resources_utils.DiskTier.ULTRA or instance_type is None:
1023
- return True, ''
1024
- # Ultra disk tier (pd-extreme) only support m2, m3 and part of n2
1025
- # instance types. For a3 instances, we map the ULTRA tier to
1026
- # hyperdisk-balanced. For all other instance types, we failover to
1027
- # lower tiers. Reference:
1028
- # https://cloud.google.com/compute/docs/disks/extreme-persistent-disk#machine_shape_support # pylint: disable=line-too-long
1029
- series = instance_type.split('-')[0]
1030
- if series in ['m2', 'm3', 'n2', 'a3']:
1031
- if series == 'n2':
1032
- num_cpus = int(instance_type.split('-')[2])
1033
- if num_cpus < 64:
1034
- return False, ('n2 series with less than 64 vCPUs are '
1035
- 'not supported with pd-extreme.')
1036
- return True, ''
1037
- return False, (f'{series} series is not supported with pd-extreme '
1038
- 'or hyperdisk-balanced. Only m2, m3 series and n2 '
1039
- 'series with 64 or more vCPUs are supported with '
1040
- 'pd-extreme. Also, only a3 is supported with '
1041
- 'hyperdisk-balanced.')
1020
+ cls,
1021
+ instance_type: Optional[str], # pylint: disable=unused-argument
1022
+ disk_tier: Optional[resources_utils.DiskTier] # pylint: disable=unused-argument
1023
+ ) -> Tuple[bool, str]:
1024
+ return True, ''
1042
1025
 
1043
1026
  @classmethod
1044
1027
  def check_disk_tier_enabled(cls, instance_type: Optional[str],
@@ -1051,7 +1034,17 @@ class GCP(clouds.Cloud):
1051
1034
  @classmethod
1052
1035
  def _get_disk_type(cls, instance_type: Optional[str],
1053
1036
  disk_tier: Optional[resources_utils.DiskTier]) -> str:
1037
+
1038
+ def _propagate_disk_type(lowest: Optional[str] = None,
1039
+ highest: Optional[str] = None) -> None:
1040
+ if lowest is not None:
1041
+ tier2name[resources_utils.DiskTier.LOW] = lowest
1042
+ if highest is not None:
1043
+ tier2name[resources_utils.DiskTier.ULTRA] = highest
1044
+
1054
1045
  tier = cls._translate_disk_tier(disk_tier)
1046
+
1047
+ # Define the default mapping from disk tiers to disk types.
1055
1048
  tier2name = {
1056
1049
  resources_utils.DiskTier.ULTRA: 'pd-extreme',
1057
1050
  resources_utils.DiskTier.HIGH: 'pd-ssd',
@@ -1059,11 +1052,30 @@ class GCP(clouds.Cloud):
1059
1052
  resources_utils.DiskTier.LOW: 'pd-standard',
1060
1053
  }
1061
1054
 
1062
- # Remap series-specific disk types
1055
+ # Remap series-specific disk types.
1056
+ # Reference: https://github.com/skypilot-org/skypilot/issues/4705
1063
1057
  series = instance_type.split('-')[0] # type: ignore
1064
- if series == 'a3':
1065
- tier2name[resources_utils.DiskTier.LOW] = tier2name[
1066
- resources_utils.DiskTier.MEDIUM]
1058
+
1059
+ # General handling of unsupported disk types
1060
+ if series in ['n1', 'a2', 'g2']:
1061
+ # These series don't support pd-extreme, use pd-ssd for ULTRA.
1062
+ _propagate_disk_type(
1063
+ highest=tier2name[resources_utils.DiskTier.HIGH])
1064
+ if series in ['a3', 'g2']:
1065
+ # These series don't support pd-standard, use pd-balanced for LOW.
1066
+ _propagate_disk_type(
1067
+ lowest=tier2name[resources_utils.DiskTier.MEDIUM])
1068
+
1069
+ # Series specific handling
1070
+ if series == 'n2':
1071
+ num_cpus = int(instance_type.split('-')[2]) # type: ignore
1072
+ if num_cpus < 64:
1073
+ # n2 series with less than 64 vCPUs doesn't support pd-extreme, use pd-ssd for ULTRA.
1074
+ _propagate_disk_type(
1075
+ highest=tier2name[resources_utils.DiskTier.HIGH])
1076
+ elif series == 'a3':
1077
+ # LOW disk tier is already handled in general case, so in this branch
1078
+ # only the hyperdisk tier is addressed.
1067
1079
  tier2name[resources_utils.DiskTier.ULTRA] = 'hyperdisk-balanced'
1068
1080
 
1069
1081
  return tier2name[tier]
@@ -344,8 +344,9 @@ class Nebius(clouds.Cloud):
344
344
  f'~/.nebius/{filename}': f'~/.nebius/{filename}'
345
345
  for filename in _CREDENTIAL_FILES
346
346
  }
347
- credential_file_mounts['~/.aws/credentials'] = '~/.aws/credentials'
348
- credential_file_mounts['~/.aws/config'] = '~/.aws/config'
347
+ if nebius_profile_in_aws_cred_and_config():
348
+ credential_file_mounts['~/.aws/credentials'] = '~/.aws/credentials'
349
+ credential_file_mounts['~/.aws/config'] = '~/.aws/config'
349
350
  return credential_file_mounts
350
351
 
351
352
  @classmethod
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"G3FnjFknc_-MUJ5QoSnJ_","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-1be831200e60c5c0.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"zldaM4b2C9dqzAfQFKH9d","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-6ac338bc2239cb45.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"G3FnjFknc_-MUJ5QoSnJ_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-6ac338bc2239cb45.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"zldaM4b2C9dqzAfQFKH9d","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-2db3ee3fba33dd9e.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-f383db7389368ea7.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"G3FnjFknc_-MUJ5QoSnJ_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/236-2db3ee3fba33dd9e.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-f383db7389368ea7.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"zldaM4b2C9dqzAfQFKH9d","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/clusters">Sky Clusters</a></div><div class="flex items-center"><button class="justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-10 px-4 py-2 text-sky-blue hover:text-sky-blue-bright flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&amp;_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Started</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Actions</th></tr></thead><tbody class="[&amp;_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&amp;:has([role=checkbox])]:pr-0 text-center py-6 text-gray-500" colSpan="8">No active clusters</td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"G3FnjFknc_-MUJ5QoSnJ_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><link rel="preload" href="/dashboard/skypilot.svg" as="image" fetchpriority="high"/><meta name="next-head-count" content="3"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/312-c3c8845990db8ffc.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/845-9e60713e0c441abc.js" defer=""></script><script src="/dashboard/_next/static/chunks/37-0a572fe0dbb89c4d.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="min-h-screen bg-gray-50"><div class="fixed top-0 left-0 right-0 z-50 shadow-sm"><div class="fixed top-0 left-0 right-0 bg-white z-30 h-14 px-4 border-b border-gray-200 shadow-sm"><div class="flex items-center h-full"><div class="flex items-center space-x-4 mr-6"><a class="flex items-center px-1 pt-1 h-full" href="/dashboard"><div class="h-20 w-20 flex items-center justify-center"><img alt="SkyPilot Logo" fetchpriority="high" width="80" height="80" decoding="async" data-nimg="1" class="w-full h-full object-contain" style="color:transparent" src="/dashboard/skypilot.svg"/></div></a></div><div class="flex items-center space-x-2 md:space-x-6 mr-6"><a class="inline-flex items-center border-b-2 border-transparent text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/clusters"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span>Clusters</span></a><a class="inline-flex items-center border-b-2 border-transparent hover:text-blue-600 px-1 pt-1 space-x-2" href="/dashboard/jobs"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path><rect width="20" height="14" x="2" y="6" rx="2"></rect></svg><span>Jobs</span></a><div class="inline-flex items-center px-1 pt-1 text-gray-400"><svg class="w-4 h-4" viewBox="0 0 423.683 423.683" width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M54.376,287.577h310.459c26.48,0,48.02-13.979,48.02-40.453c0-17.916-10.001-34.07-25.559-42.292 c-19.021-72.951-86.061-125.196-162.002-125.223v-3.431h-3.854V61.814h3.854v-9.569h-31.38v9.569h3.854v14.363h-3.854v3.431 c-75.941,0.026-142.97,52.272-161.988,125.217c-15.56,8.216-25.573,24.376-25.573,42.291 C6.36,273.597,27.896,287.577,54.376,287.577z M47.676,227.145l7.214-2.424l1.617-7.447 c13.884-64.232,71.707-110.862,137.467-110.862h31.274c65.763,0,123.582,46.63,137.473,110.862l1.607,7.447l7.223,2.424 c8.678,2.92,14.506,10.946,14.506,19.979c0,11.703-9.517,13.647-21.221,13.647H54.376c-11.7,0-21.22-1.944-21.22-13.647 C33.162,238.091,38.984,230.065,47.676,227.145z M423.683,334.602v36.836H0v-36.836h25.348v-18.418h372.99v18.418H423.683z"></path></g></g></svg><span class="ml-2">Services</span><span class="text-xs ml-2 px-1.5 py-0.5 bg-gray-100 text-gray-500 rounded">Soon</span></div></div><div class="flex items-center space-x-1 ml-auto"><a href="https://skypilot.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-2 py-1 text-gray-600 hover:text-blue-600 transition-colors duration-150 cursor-pointer" title="Docs"><span class="mr-1">Docs</span><svg class="w-3.5 h-3.5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a><div class="border-l border-gray-200 h-6 mx-1"></div><a href="https://github.com/skypilot-org/skypilot" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="GitHub"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg></a><a href="https://slack.skypilot.co/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Slack"><svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path transform="scale(0.85) translate(1.8, 1.8)" d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"></path></svg></a><a href="https://github.com/skypilot-org/skypilot/issues/new" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center p-2 rounded-full text-gray-600 hover:bg-gray-100 transition-colors duration-150 cursor-pointer" title="Leave Feedback"><svg class="w-5 h-5" stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g><path fill="none" d="M0 0h24v24H0z"></path><path d="M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z"></path></g></svg></a></div></div></div></div><div class="transition-all duration-200 ease-in-out min-h-screen" style="padding-top:56px"><main class="p-6"><div class="flex items-center justify-between mb-4 h-5"><div class="text-base"><a class="text-sky-blue hover:underline leading-none" href="/dashboard/clusters">Sky Clusters</a></div><div class="flex items-center"><button class="justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent h-10 px-4 py-2 text-sky-blue hover:text-sky-blue-bright flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw h-4 w-4 mr-1.5"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg><span>Refresh</span></button></div></div><div><div class="rounded-lg border bg-card text-card-foreground shadow-sm"><div class="relative w-full overflow-auto"><table class="w-full caption-bottom text-base"><thead class="[&amp;_tr]:border-b"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Status</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Cluster</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">User</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Resources</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Region</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0 sortable whitespace-nowrap">Started</th><th class="h-12 px-4 text-left align-middle font-medium text-[hsl(var(--text-strong))] [&amp;:has([role=checkbox])]:pr-0">Actions</th></tr></thead><tbody class="[&amp;_tr:last-child]:border-0"><tr class="border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted"><td class="p-4 align-middle [&amp;:has([role=checkbox])]:pr-0 text-center py-6 text-gray-500" colSpan="8">No active clusters</td></tr></tbody></table></div></div></div></main></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"zldaM4b2C9dqzAfQFKH9d","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"G3FnjFknc_-MUJ5QoSnJ_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-f9f039532ca8cbc4.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"zldaM4b2C9dqzAfQFKH9d","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-1c519e1afc523dc9.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/G3FnjFknc_-MUJ5QoSnJ_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"G3FnjFknc_-MUJ5QoSnJ_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/c6933bbb2ce7f4dd.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-830f59b8404e96b8.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-87d061ee6ed71b28.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-e0e2335212e72357.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js" defer=""></script><script src="/dashboard/_next/static/chunks/678-206dddca808e6d16.js" defer=""></script><script src="/dashboard/_next/static/chunks/979-7bf73a4c7cea0f5c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-1c519e1afc523dc9.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/zldaM4b2C9dqzAfQFKH9d/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div>Loading...</div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"zldaM4b2C9dqzAfQFKH9d","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>