skypilot-nightly 1.0.0.dev20250926__tar.gz → 1.0.0.dev20251001__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of skypilot-nightly might be problematic. Click here for more details.

Files changed (604) hide show
  1. {skypilot_nightly-1.0.0.dev20250926/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20251001}/PKG-INFO +36 -36
  2. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/backend_utils.py +43 -14
  4. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/cloud_vm_ray_backend.py +153 -38
  5. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/check.py +0 -29
  6. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/cli/command.py +48 -26
  7. skypilot_nightly-1.0.0.dev20251001/sky/client/cli/table_utils.py +91 -0
  8. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/sdk.py +14 -23
  9. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/sdk_async.py +5 -5
  10. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/core.py +18 -20
  11. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/404.html +1 -1
  12. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/3294.03e02ae73455f48e.js → skypilot_nightly-1.0.0.dev20251001/sky/dashboard/out/_next/static/chunks/3294.93d9336bdc032b3a.js +1 -1
  13. skypilot_nightly-1.0.0.dev20251001/sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js +1 -0
  14. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js → skypilot_nightly-1.0.0.dev20251001/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-509b2977a6373bf6.js +1 -1
  15. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/webpack-8e64d11e58eab5cb.js → skypilot_nightly-1.0.0.dev20251001/sky/dashboard/out/_next/static/chunks/webpack-4f0c389a4ce5fd9c.js +1 -1
  16. {skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/VXU6_xE28M55BOdwmUUJS → skypilot_nightly-1.0.0.dev20251001/sky/dashboard/out/_next/static/m3YT2i5s6v4SsIdYc8WZa}/_buildManifest.js +1 -1
  17. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  18. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/clusters/[cluster].html +1 -1
  19. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/clusters.html +1 -1
  20. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/config.html +1 -1
  21. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/index.html +1 -1
  22. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/infra/[context].html +1 -1
  23. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/infra.html +1 -1
  24. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/jobs/[job].html +1 -1
  25. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
  26. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/jobs.html +1 -1
  27. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/users.html +1 -1
  28. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/volumes.html +1 -1
  29. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/workspace/new.html +1 -1
  30. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/workspaces/[name].html +1 -1
  31. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/workspaces.html +1 -1
  32. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/data/storage.py +11 -0
  33. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/data/storage_utils.py +1 -45
  34. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/execution.py +0 -1
  35. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/global_user_state.py +3 -3
  36. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/client/sdk.py +3 -2
  37. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/controller.py +15 -0
  38. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/server/core.py +120 -28
  39. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/server/server.py +1 -1
  40. skypilot_nightly-1.0.0.dev20251001/sky/jobs/server/utils.py +115 -0
  41. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/state.py +145 -3
  42. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/utils.py +87 -8
  43. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/instance.py +1 -1
  44. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/api/responses.py +73 -0
  45. skypilot_nightly-1.0.0.dev20251001/sky/schemas/generated/managed_jobsv1_pb2.py +70 -0
  46. skypilot_nightly-1.0.0.dev20251001/sky/schemas/generated/managed_jobsv1_pb2.pyi +262 -0
  47. skypilot_nightly-1.0.0.dev20251001/sky/schemas/generated/managed_jobsv1_pb2_grpc.py +278 -0
  48. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/serve_utils.py +16 -0
  49. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/server/core.py +1 -1
  50. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/server/impl.py +6 -6
  51. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/common.py +2 -1
  52. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/serializers/decoders.py +10 -6
  53. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/serializers/encoders.py +13 -8
  54. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/constants.py +1 -1
  55. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/job_lib.py +2 -32
  56. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/log_lib.py +211 -0
  57. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/log_lib.pyi +30 -1
  58. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/services.py +208 -2
  59. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/skylet.py +3 -0
  60. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/task.py +4 -0
  61. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/cluster_utils.py +23 -5
  62. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/command_runner.py +21 -5
  63. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/command_runner.pyi +11 -0
  64. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/volume.py +5 -0
  65. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001/skypilot_nightly.egg-info}/PKG-INFO +36 -36
  66. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/skypilot_nightly.egg-info/SOURCES.txt +10 -6
  67. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/6856-2b3600ff2854d066.js +0 -1
  68. skypilot_nightly-1.0.0.dev20250926/sky/jobs/server/utils.py +0 -82
  69. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/LICENSE +0 -0
  70. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/MANIFEST.in +0 -0
  71. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/README.md +0 -0
  72. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/pyproject.toml +0 -0
  73. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/setup.cfg +0 -0
  74. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/setup.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/__init__.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/aws.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/azure.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/cloudflare.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/common.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/cudo.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/do.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/docker.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/gcp.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/hyperbolic.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/ibm.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/kubernetes.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/nebius.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/oci.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/primeintellect.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/runpod.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/seeweb.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/vast.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/adaptors/vsphere.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/admin_policy.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/authentication.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/__init__.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/backend.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/docker_utils.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/local_docker_backend.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/backends/wheel_utils.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/__init__.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/aws_catalog.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/azure_catalog.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/common.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/config.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/cudo_catalog.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/__init__.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/analyze.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_seeweb.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/do_catalog.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/fluidstack_catalog.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/gcp_catalog.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/hyperbolic_catalog.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/ibm_catalog.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/kubernetes_catalog.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/lambda_catalog.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/nebius_catalog.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/oci_catalog.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/paperspace_catalog.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/primeintellect_catalog.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/runpod_catalog.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/scp_catalog.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/seeweb_catalog.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/ssh_catalog.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/vast_catalog.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/catalog/vsphere_catalog.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/cli.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/__init__.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/cli/__init__.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/cli/deprecation_utils.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/cli/flags.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/common.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/oauth.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/client/service_account_auth.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/cloud_stores.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/__init__.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/aws.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/azure.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/cloud.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/cudo.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/do.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/fluidstack.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/gcp.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/hyperbolic.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/ibm.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/kubernetes.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/lambda_cloud.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/nebius.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/oci.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/paperspace.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/primeintellect.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/runpod.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/scp.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/seeweb.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/ssh.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/utils/__init__.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/utils/aws_utils.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/utils/azure_utils.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/utils/gcp_utils.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/utils/oci_utils.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/utils/scp_utils.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/vast.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/clouds/vsphere.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dag.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js +0 -0
  178. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js +0 -0
  179. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  180. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js +0 -0
  181. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
  182. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/3015-88c7c8d69b0b6dba.js +0 -0
  183. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/3785.0fa442e16dd3f00e.js +0 -0
  184. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
  185. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
  186. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -0
  187. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -0
  188. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
  189. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/5339.4a881570243431a5.js +0 -0
  190. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
  191. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
  192. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
  193. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
  194. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js +0 -0
  195. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
  196. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
  197. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -0
  198. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -0
  199. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
  200. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -0
  202. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/8969-d8bc3a2b9cf839a9.js +0 -0
  203. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -0
  204. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/9037-d0c00018a5ba198c.js +0 -0
  205. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
  206. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
  207. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
  208. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
  209. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
  210. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  211. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-ad77b12fc736dca3.js +0 -0
  212. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-e052384df65ef200.js +0 -0
  213. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -0
  214. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
  215. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
  216. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-6563820e094f68ca.js +0 -0
  217. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/infra-aabba60d57826e0f.js +0 -0
  218. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +0 -0
  219. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js +0 -0
  220. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -0
  221. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -0
  222. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
  223. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js +0 -0
  224. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/pages/workspaces-7528cc0ef8c522c5.js +0 -0
  225. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  226. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
  227. {skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/VXU6_xE28M55BOdwmUUJS → skypilot_nightly-1.0.0.dev20251001/sky/dashboard/out/_next/static/m3YT2i5s6v4SsIdYc8WZa}/_ssgManifest.js +0 -0
  228. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/favicon.ico +0 -0
  229. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/skypilot.svg +0 -0
  230. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  231. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/data/__init__.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/data/data_transfer.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/data/data_utils.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/data/mounting_utils.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/exceptions.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/__init__.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/client/__init__.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/client/sdk_async.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/constants.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/recovery_strategy.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/scheduler.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/jobs/server/__init__.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/logs/__init__.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/logs/agent.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/logs/aws.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/logs/gcp.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/metrics/__init__.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/metrics/utils.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/models.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/optimizer.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/__init__.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/aws/__init__.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/aws/config.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/aws/instance.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/aws/utils.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/azure/__init__.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/azure/azure-config-template.json +0 -0
  258. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/azure/config.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/azure/instance.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/common.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/constants.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/cudo/__init__.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/cudo/config.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/cudo/cudo_machine_type.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/cudo/cudo_utils.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/cudo/cudo_wrapper.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/cudo/instance.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/do/__init__.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/do/config.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/do/constants.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/do/instance.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/do/utils.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/docker_utils.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/fluidstack/__init__.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/fluidstack/config.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/fluidstack/instance.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/__init__.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/config.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/constants.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/instance.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/instance_utils.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/mig_utils.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/gcp/volume_utils.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/hyperbolic/__init__.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/hyperbolic/config.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/hyperbolic/instance.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/hyperbolic/utils.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/instance_setup.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/__init__.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/config.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/constants.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  294. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/network.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/network_utils.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/utils.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/kubernetes/volume.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/lambda_cloud/__init__.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/lambda_cloud/config.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/lambda_cloud/instance.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/logging.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/metadata_utils.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/nebius/__init__.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/nebius/config.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/nebius/constants.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/nebius/instance.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/nebius/utils.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/oci/__init__.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/oci/config.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/oci/instance.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/oci/query_utils.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/paperspace/__init__.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/paperspace/config.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/paperspace/constants.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/paperspace/instance.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/paperspace/utils.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/primeintellect/__init__.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/primeintellect/config.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/primeintellect/instance.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/primeintellect/utils.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/provisioner.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/__init__.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/api/__init__.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/api/commands.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/api/pods.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/config.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/instance.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/utils.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/runpod/volume.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/scp/__init__.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/scp/config.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/scp/instance.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/seeweb/__init__.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/seeweb/config.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/seeweb/instance.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/ssh/__init__.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vast/__init__.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vast/config.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vast/instance.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vast/utils.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/__init__.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/__init__.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/custom_script.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/id_generator.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/service_manager.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/common/vim_utils.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/config.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/instance.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/provision/vsphere/vsphere_utils.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/py.typed +0 -0
  358. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/resources.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/__init__.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/api/__init__.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/README +0 -0
  362. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/env.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/script.py.mako +0 -0
  373. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/__init__.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/autostopv1_pb2.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
  380. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/jobsv1_pb2.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/jobsv1_pb2.pyi +0 -0
  383. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/jobsv1_pb2_grpc.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/servev1_pb2.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/servev1_pb2.pyi +0 -0
  386. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/schemas/generated/servev1_pb2_grpc.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/__init__.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/autoscalers.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/client/__init__.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/client/impl.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/client/sdk.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/client/sdk_async.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/constants.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/controller.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/load_balancer.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/load_balancing_policies.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/replica_managers.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/serve_rpc_utils.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/serve_state.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/server/__init__.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/server/server.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/service.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/service_spec.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/serve/spot_placer.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/__init__.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/auth/__init__.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/auth/authn.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/auth/oauth2_proxy.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/config.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/constants.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/daemons.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/html/log.html +0 -0
  413. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/html/token_page.html +0 -0
  414. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/metrics.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/__init__.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/event_loop.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/executor.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/payloads.py +0 -0
  419. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/preconditions.py +0 -0
  420. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/process.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/queues/__init__.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/queues/local_queue.py +0 -0
  423. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/queues/mp_queue.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/requests.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/requests/serializers/__init__.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/rest.py +0 -0
  427. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/server.py +0 -0
  428. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/state.py +0 -0
  429. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/stream_utils.py +0 -0
  430. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/uvicorn.py +0 -0
  431. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/server/versions.py +0 -0
  432. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/setup_files/MANIFEST.in +0 -0
  433. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/setup_files/alembic.ini +0 -0
  434. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/setup_files/dependencies.py +0 -0
  435. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/setup_files/setup.py +0 -0
  436. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/sky_logging.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/LICENSE +0 -0
  438. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/__init__.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/attempt_skylet.py +0 -0
  440. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/autostop_lib.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/configs.py +0 -0
  442. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/events.py +0 -0
  443. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/providers/__init__.py +0 -0
  444. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/providers/command_runner.py +0 -0
  445. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/providers/ibm/__init__.py +0 -0
  446. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/providers/ibm/node_provider.py +0 -0
  447. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/providers/ibm/utils.py +0 -0
  448. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  449. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/__init__.py +0 -0
  450. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
  451. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  452. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/cli.py.diff +0 -0
  453. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/cli.py.patch +0 -0
  454. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
  455. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  456. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
  457. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  458. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
  459. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  460. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/updater.py.diff +0 -0
  461. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/updater.py.patch +0 -0
  462. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/worker.py.diff +0 -0
  463. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/ray_patches/worker.py.patch +0 -0
  464. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skylet/subprocess_daemon.py +0 -0
  465. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/skypilot_config.py +0 -0
  466. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/ssh_node_pools/__init__.py +0 -0
  467. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/ssh_node_pools/core.py +0 -0
  468. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/ssh_node_pools/server.py +0 -0
  469. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/aws-ray.yml.j2 +0 -0
  470. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/azure-ray.yml.j2 +0 -0
  471. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/cudo-ray.yml.j2 +0 -0
  472. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/do-ray.yml.j2 +0 -0
  473. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  474. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/gcp-ray.yml.j2 +0 -0
  475. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  476. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/ibm-ray.yml.j2 +0 -0
  477. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/jobs-controller.yaml.j2 +0 -0
  478. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  479. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  480. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  481. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  482. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  483. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/lambda-ray.yml.j2 +0 -0
  484. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/local-ray.yml.j2 +0 -0
  485. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/nebius-ray.yml.j2 +0 -0
  486. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/oci-ray.yml.j2 +0 -0
  487. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/paperspace-ray.yml.j2 +0 -0
  488. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/primeintellect-ray.yml.j2 +0 -0
  489. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/runpod-ray.yml.j2 +0 -0
  490. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/scp-ray.yml.j2 +0 -0
  491. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/seeweb-ray.yml.j2 +0 -0
  492. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  493. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  494. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/vast-ray.yml.j2 +0 -0
  495. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/vsphere-ray.yml.j2 +0 -0
  496. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/templates/websocket_proxy.py +0 -0
  497. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/usage/__init__.py +0 -0
  498. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/usage/constants.py +0 -0
  499. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/usage/usage_lib.py +0 -0
  500. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/users/__init__.py +0 -0
  501. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/users/model.conf +0 -0
  502. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/users/permission.py +0 -0
  503. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/users/rbac.py +0 -0
  504. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/users/server.py +0 -0
  505. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/users/token_service.py +0 -0
  506. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/__init__.py +0 -0
  507. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/accelerator_registry.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/admin_policy_utils.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/annotations.py +0 -0
  510. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/atomic.py +0 -0
  511. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/aws/__init__.py +0 -0
  512. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/aws/get_default_security_group.py +0 -0
  513. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/benchmark_utils.py +0 -0
  514. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/cli_utils/__init__.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/cli_utils/status_utils.py +0 -0
  516. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/common.py +0 -0
  517. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/common_utils.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/config_utils.py +0 -0
  519. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/context.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/context_utils.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/control_master_utils.py +0 -0
  522. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/controller_utils.py +0 -0
  523. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/dag_utils.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/db/__init__.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/db/db_utils.py +0 -0
  526. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/db/migration_utils.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/directory_utils.py +0 -0
  528. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/env_options.py +0 -0
  529. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/git.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/git_clone.sh +0 -0
  531. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/infra_utils.py +0 -0
  532. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/__init__.py +0 -0
  533. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  534. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/config_map_utils.py +0 -0
  535. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/create_cluster.sh +0 -0
  536. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  537. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  538. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  539. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  540. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  541. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  542. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  543. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  544. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  545. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  546. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  547. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  548. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes/ssh_utils.py +0 -0
  549. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/kubernetes_enums.py +0 -0
  550. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/lock_events.py +0 -0
  551. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/locks.py +0 -0
  552. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/log_utils.py +0 -0
  553. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/message_utils.py +0 -0
  554. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/perf_utils.py +0 -0
  555. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/registry.py +0 -0
  556. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/resource_checker.py +0 -0
  557. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/resources_utils.py +0 -0
  558. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/rich_console_utils.py +0 -0
  559. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/rich_utils.py +0 -0
  560. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/schemas.py +0 -0
  561. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/serialize_utils.py +0 -0
  562. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/status_lib.py +0 -0
  563. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/subprocess_utils.py +0 -0
  564. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/tempstore.py +0 -0
  565. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/timeline.py +0 -0
  566. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/ux_utils.py +0 -0
  567. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/validator.py +0 -0
  568. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/utils/yaml_utils.py +0 -0
  569. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/__init__.py +0 -0
  570. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/client/__init__.py +0 -0
  571. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/client/sdk.py +0 -0
  572. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/server/__init__.py +0 -0
  573. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/server/core.py +0 -0
  574. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/server/server.py +0 -0
  575. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/utils.py +0 -0
  576. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/volumes/volume.py +0 -0
  577. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/workspaces/__init__.py +0 -0
  578. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/workspaces/core.py +0 -0
  579. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/workspaces/server.py +0 -0
  580. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/sky/workspaces/utils.py +0 -0
  581. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  582. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  583. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/skypilot_nightly.egg-info/requires.txt +34 -34
  584. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/skypilot_nightly.egg-info/top_level.txt +0 -0
  585. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_api.py +0 -0
  586. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_api_compatibility.py +0 -0
  587. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_cli.py +0 -0
  588. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_config.py +0 -0
  589. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_db_utils.py +0 -0
  590. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_failover.py +0 -0
  591. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_global_user_state.py +0 -0
  592. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_jobs.py +0 -0
  593. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_jobs_and_serve.py +0 -0
  594. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_jobs_state_async_vs_sync.py +0 -0
  595. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_list_accelerators.py +0 -0
  596. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_no_parellel.py +0 -0
  597. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_optimizer_dryruns.py +0 -0
  598. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_optimizer_random_dag.py +0 -0
  599. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_serve_autoscaler.py +0 -0
  600. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_smoke.py +0 -0
  601. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_ssh_proxy_lag.py +0 -0
  602. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_storage.py +0 -0
  603. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/tests/test_wheels.py +0 -0
  604. {skypilot_nightly-1.0.0.dev20250926 → skypilot_nightly-1.0.0.dev20251001}/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.dev20250926
3
+ Version: 1.0.0.dev20251001
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -154,51 +154,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
154
154
  Requires-Dist: aiosqlite; extra == "server"
155
155
  Requires-Dist: greenlet; extra == "server"
156
156
  Provides-Extra: all
157
- Requires-Dist: botocore>=1.29.10; extra == "all"
158
- Requires-Dist: pyjwt; extra == "all"
157
+ Requires-Dist: anyio; extra == "all"
158
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
159
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
160
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
161
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
162
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
163
+ Requires-Dist: casbin; extra == "all"
164
+ Requires-Dist: awscli>=1.27.10; extra == "all"
165
+ Requires-Dist: azure-common; extra == "all"
159
166
  Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
160
167
  Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
161
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
162
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
163
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
164
- Requires-Dist: google-cloud-storage; extra == "all"
165
- Requires-Dist: passlib; extra == "all"
168
+ Requires-Dist: aiohttp; extra == "all"
166
169
  Requires-Dist: greenlet; extra == "all"
167
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
168
- Requires-Dist: oci; extra == "all"
169
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
170
+ Requires-Dist: pyjwt; extra == "all"
171
+ Requires-Dist: nebius>=0.2.47; extra == "all"
172
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
173
+ Requires-Dist: runpod>=1.6.1; extra == "all"
174
+ Requires-Dist: msgraph-sdk; extra == "all"
175
+ Requires-Dist: botocore>=1.29.10; extra == "all"
176
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
177
+ Requires-Dist: pydo>=0.3.0; extra == "all"
170
178
  Requires-Dist: websockets; extra == "all"
171
- Requires-Dist: azure-core>=1.31.0; extra == "all"
172
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
179
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
180
+ Requires-Dist: tomli; python_version < "3.11" and extra == "all"
181
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
173
182
  Requires-Dist: boto3>=1.26.1; extra == "all"
174
- Requires-Dist: ibm-vpc; extra == "all"
183
+ Requires-Dist: aiosqlite; extra == "all"
184
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
185
+ Requires-Dist: colorama<0.4.5; extra == "all"
186
+ Requires-Dist: docker; extra == "all"
187
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
175
188
  Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
176
- Requires-Dist: azure-common; extra == "all"
189
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
190
+ Requires-Dist: ibm-cos-sdk; extra == "all"
177
191
  Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
192
+ Requires-Dist: ibm-vpc; extra == "all"
178
193
  Requires-Dist: msrestazure; extra == "all"
179
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
180
- Requires-Dist: tomli; python_version < "3.11" and extra == "all"
181
- Requires-Dist: msgraph-sdk; extra == "all"
182
- Requires-Dist: ibm-cos-sdk; extra == "all"
183
- Requires-Dist: awscli>=1.27.10; extra == "all"
184
- Requires-Dist: azure-core>=1.24.0; extra == "all"
185
- Requires-Dist: anyio; extra == "all"
186
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
187
- Requires-Dist: aiosqlite; extra == "all"
194
+ Requires-Dist: passlib; extra == "all"
195
+ Requires-Dist: oci; extra == "all"
188
196
  Requires-Dist: ecsapi>=0.2.0; extra == "all"
189
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
190
- Requires-Dist: grpcio>=1.63.0; extra == "all"
191
- Requires-Dist: pydo>=0.3.0; extra == "all"
192
- Requires-Dist: casbin; extra == "all"
193
- Requires-Dist: aiohttp; extra == "all"
194
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
197
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
198
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
199
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
200
+ Requires-Dist: google-cloud-storage; extra == "all"
195
201
  Requires-Dist: python-dateutil; extra == "all"
196
- Requires-Dist: nebius>=0.2.47; extra == "all"
197
- Requires-Dist: docker; extra == "all"
198
- Requires-Dist: colorama<0.4.5; extra == "all"
199
- Requires-Dist: runpod>=1.6.1; extra == "all"
200
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
201
- Requires-Dist: sqlalchemy_adapter; extra == "all"
202
202
  Dynamic: author
203
203
  Dynamic: classifier
204
204
  Dynamic: description
@@ -7,7 +7,7 @@ import urllib.request
7
7
  from sky.utils import directory_utils
8
8
 
9
9
  # Replaced with the current commit when building the wheels.
10
- _SKYPILOT_COMMIT_SHA = '827d534c8bbfa61b895467b9431283e923dd9841'
10
+ _SKYPILOT_COMMIT_SHA = '047e366ad4c073a5753b62cc5d4c3c4660b1476a'
11
11
 
12
12
 
13
13
  def _get_git_commit():
@@ -37,7 +37,7 @@ def _get_git_commit():
37
37
 
38
38
 
39
39
  __commit__ = _get_git_commit()
40
- __version__ = '1.0.0.dev20250926'
40
+ __version__ = '1.0.0.dev20251001'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -16,8 +16,8 @@ import tempfile
16
16
  import threading
17
17
  import time
18
18
  import typing
19
- from typing import (Any, Callable, Dict, List, Optional, Sequence, Set, Tuple,
20
- TypeVar, Union)
19
+ from typing import (Any, Callable, Dict, Iterator, List, Optional, Sequence,
20
+ Set, Tuple, TypeVar, Union)
21
21
  import uuid
22
22
 
23
23
  import aiohttp
@@ -723,11 +723,15 @@ def write_cluster_config(
723
723
  'is not supported by this cloud. Remove the config or set: '
724
724
  '`remote_identity: LOCAL_CREDENTIALS`.')
725
725
  if isinstance(cloud, clouds.Kubernetes):
726
- if skypilot_config.get_effective_region_config(
726
+ allowed_contexts = skypilot_config.get_workspace_cloud(
727
+ 'kubernetes').get('allowed_contexts', None)
728
+ if allowed_contexts is None:
729
+ allowed_contexts = skypilot_config.get_effective_region_config(
727
730
  cloud='kubernetes',
728
731
  region=None,
729
732
  keys=('allowed_contexts',),
730
- default_value=None) is None:
733
+ default_value=None)
734
+ if allowed_contexts is None:
731
735
  excluded_clouds.add(cloud)
732
736
  else:
733
737
  excluded_clouds.add(cloud)
@@ -1226,7 +1230,6 @@ def _deterministic_cluster_yaml_hash(tmp_yaml_path: str) -> str:
1226
1230
  Rather than constructing the whole byte sequence, which may be quite large,
1227
1231
  we construct it incrementally by using hash.update() to add new bytes.
1228
1232
  """
1229
-
1230
1233
  # Load the yaml contents so that we can directly remove keys.
1231
1234
  yaml_config = yaml_utils.read_yaml(tmp_yaml_path)
1232
1235
  for key_list in _RAY_YAML_KEYS_TO_REMOVE_FOR_HASH:
@@ -2614,7 +2617,7 @@ def refresh_cluster_record(
2614
2617
  cluster_name: str,
2615
2618
  *,
2616
2619
  force_refresh_statuses: Optional[Set[status_lib.ClusterStatus]] = None,
2617
- acquire_per_cluster_status_lock: bool = True,
2620
+ cluster_lock_already_held: bool = False,
2618
2621
  cluster_status_lock_timeout: int = CLUSTER_STATUS_LOCK_TIMEOUT_SECONDS,
2619
2622
  include_user_info: bool = True,
2620
2623
  summary_response: bool = False) -> Optional[Dict[str, Any]]:
@@ -2634,9 +2637,13 @@ def refresh_cluster_record(
2634
2637
  _CLUSTER_STATUS_CACHE_DURATION_SECONDS old, and one of:
2635
2638
  1. the cluster is a spot cluster, or
2636
2639
  2. cluster autostop is set and the cluster is not STOPPED.
2637
- acquire_per_cluster_status_lock: Whether to acquire the per-cluster lock
2638
- before updating the status. Even if this is True, the lock may not be
2639
- acquired if the status does not need to be refreshed.
2640
+ cluster_lock_already_held: Whether the caller is already holding the
2641
+ per-cluster lock. You MUST NOT set this to True if the caller does not
2642
+ already hold the lock. If True, we will not acquire the lock before
2643
+ updating the status. Failing to hold the lock while updating the
2644
+ status can lead to correctness issues - e.g. an launch in-progress may
2645
+ appear to be DOWN incorrectly. Even if this is set to False, the lock
2646
+ may not be acquired if the status does not need to be refreshed.
2640
2647
  cluster_status_lock_timeout: The timeout to acquire the per-cluster
2641
2648
  lock. If timeout, the function will use the cached status. If the
2642
2649
  value is <0, do not timeout (wait for the lock indefinitely). By
@@ -2687,7 +2694,7 @@ def refresh_cluster_record(
2687
2694
  if not _must_refresh_cluster_status(record, force_refresh_statuses):
2688
2695
  return record
2689
2696
 
2690
- if not acquire_per_cluster_status_lock:
2697
+ if cluster_lock_already_held:
2691
2698
  return _update_cluster_status(cluster_name, include_user_info,
2692
2699
  summary_response)
2693
2700
 
@@ -2741,7 +2748,7 @@ def refresh_cluster_status_handle(
2741
2748
  cluster_name: str,
2742
2749
  *,
2743
2750
  force_refresh_statuses: Optional[Set[status_lib.ClusterStatus]] = None,
2744
- acquire_per_cluster_status_lock: bool = True,
2751
+ cluster_lock_already_held: bool = False,
2745
2752
  cluster_status_lock_timeout: int = CLUSTER_STATUS_LOCK_TIMEOUT_SECONDS
2746
2753
  ) -> Tuple[Optional[status_lib.ClusterStatus],
2747
2754
  Optional[backends.ResourceHandle]]:
@@ -2754,7 +2761,7 @@ def refresh_cluster_status_handle(
2754
2761
  record = refresh_cluster_record(
2755
2762
  cluster_name,
2756
2763
  force_refresh_statuses=force_refresh_statuses,
2757
- acquire_per_cluster_status_lock=acquire_per_cluster_status_lock,
2764
+ cluster_lock_already_held=cluster_lock_already_held,
2758
2765
  cluster_status_lock_timeout=cluster_status_lock_timeout,
2759
2766
  include_user_info=False,
2760
2767
  summary_response=True)
@@ -3079,7 +3086,7 @@ def _refresh_cluster(
3079
3086
  record = refresh_cluster_record(
3080
3087
  cluster_name,
3081
3088
  force_refresh_statuses=force_refresh_statuses,
3082
- acquire_per_cluster_status_lock=True,
3089
+ cluster_lock_already_held=False,
3083
3090
  include_user_info=include_user_info,
3084
3091
  summary_response=summary_response)
3085
3092
  except (exceptions.ClusterStatusFetchingError,
@@ -3859,13 +3866,35 @@ def invoke_skylet_with_retries(func: Callable[..., T]) -> T:
3859
3866
  ) from last_exception
3860
3867
 
3861
3868
 
3869
+ def invoke_skylet_streaming_with_retries(
3870
+ stream_func: Callable[..., Iterator[T]]) -> Iterator[T]:
3871
+ """Generic helper for making Skylet streaming gRPC requests."""
3872
+ max_attempts = 3
3873
+ backoff = common_utils.Backoff(initial_backoff=0.5)
3874
+ last_exception: Optional[Exception] = None
3875
+
3876
+ for _ in range(max_attempts):
3877
+ try:
3878
+ for response in stream_func():
3879
+ yield response
3880
+ return
3881
+ except grpc.RpcError as e:
3882
+ last_exception = e
3883
+ _handle_grpc_error(e, backoff.current_backoff())
3884
+
3885
+ raise RuntimeError(
3886
+ f'Failed to stream Skylet response after {max_attempts} attempts'
3887
+ ) from last_exception
3888
+
3889
+
3862
3890
  def _handle_grpc_error(e: 'grpc.RpcError', current_backoff: float) -> None:
3863
3891
  if e.code() == grpc.StatusCode.INTERNAL:
3864
3892
  with ux_utils.print_exception_no_traceback():
3865
3893
  raise exceptions.SkyletInternalError(e.details())
3866
3894
  elif e.code() == grpc.StatusCode.UNAVAILABLE:
3867
3895
  time.sleep(current_backoff)
3868
- elif e.code() == grpc.StatusCode.UNIMPLEMENTED:
3896
+ elif e.code() == grpc.StatusCode.UNIMPLEMENTED or e.code(
3897
+ ) == grpc.StatusCode.UNKNOWN:
3869
3898
  # Handle backwards compatibility: old server doesn't implement this RPC.
3870
3899
  # Let the caller fall back to legacy execution.
3871
3900
  raise exceptions.SkyletMethodNotImplementedError(
@@ -19,8 +19,8 @@ import textwrap
19
19
  import threading
20
20
  import time
21
21
  import typing
22
- from typing import (Any, Callable, Dict, Iterable, List, Optional, Set, Tuple,
23
- Union)
22
+ from typing import (Any, Callable, Dict, Iterable, Iterator, List, Optional,
23
+ Set, Tuple, Union)
24
24
 
25
25
  import colorama
26
26
  import psutil
@@ -91,6 +91,8 @@ if typing.TYPE_CHECKING:
91
91
  from sky.schemas.generated import autostopv1_pb2_grpc
92
92
  from sky.schemas.generated import jobsv1_pb2
93
93
  from sky.schemas.generated import jobsv1_pb2_grpc
94
+ from sky.schemas.generated import managed_jobsv1_pb2
95
+ from sky.schemas.generated import managed_jobsv1_pb2_grpc
94
96
  from sky.schemas.generated import servev1_pb2
95
97
  from sky.schemas.generated import servev1_pb2_grpc
96
98
  else:
@@ -111,6 +113,10 @@ else:
111
113
  'sky.schemas.generated.servev1_pb2')
112
114
  servev1_pb2_grpc = adaptors_common.LazyImport(
113
115
  'sky.schemas.generated.servev1_pb2_grpc')
116
+ managed_jobsv1_pb2 = adaptors_common.LazyImport(
117
+ 'sky.schemas.generated.managed_jobsv1_pb2')
118
+ managed_jobsv1_pb2_grpc = adaptors_common.LazyImport(
119
+ 'sky.schemas.generated.managed_jobsv1_pb2_grpc')
114
120
 
115
121
  Path = str
116
122
 
@@ -2737,6 +2743,11 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2737
2743
  (tunnel.port, tunnel.pid) if tunnel is not None else None)
2738
2744
 
2739
2745
  def get_grpc_channel(self) -> 'grpc.Channel':
2746
+ grpc_options = [
2747
+ # The task YAMLs can be large, so the default
2748
+ # max_receive_message_length of 4MB might not be enough.
2749
+ ('grpc.max_receive_message_length', -1),
2750
+ ]
2740
2751
  # It's fine to not grab the lock here, as we're only reading,
2741
2752
  # and writes are very rare.
2742
2753
  # It's acceptable to read while another process is opening a tunnel,
@@ -2753,7 +2764,8 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2753
2764
  with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
2754
2765
  s.settimeout(0.5)
2755
2766
  s.connect(('localhost', tunnel.port))
2756
- return grpc.insecure_channel(f'localhost:{tunnel.port}')
2767
+ return grpc.insecure_channel(f'localhost:{tunnel.port}',
2768
+ options=grpc_options)
2757
2769
  except socket.error as e:
2758
2770
  logger.warning(
2759
2771
  'Failed to connect to SSH tunnel for cluster '
@@ -2772,19 +2784,22 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2772
2784
  f'{self.cluster_name!r}, '
2773
2785
  'opening the tunnel')
2774
2786
  tunnel = self._open_and_update_skylet_tunnel()
2775
- return grpc.insecure_channel(f'localhost:{tunnel.port}')
2787
+ return grpc.insecure_channel(f'localhost:{tunnel.port}',
2788
+ options=grpc_options)
2776
2789
  try:
2777
2790
  with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
2778
2791
  s.settimeout(0.5)
2779
2792
  s.connect(('localhost', tunnel.port))
2780
- return grpc.insecure_channel(f'localhost:{tunnel.port}')
2793
+ return grpc.insecure_channel(f'localhost:{tunnel.port}',
2794
+ options=grpc_options)
2781
2795
  except socket.error as e:
2782
2796
  logger.warning(
2783
2797
  'Failed to connect to SSH tunnel for cluster '
2784
2798
  f'{self.cluster_name!r} on port {tunnel.port} ({e}), '
2785
2799
  'opening new tunnel')
2786
2800
  tunnel = self._open_and_update_skylet_tunnel()
2787
- return grpc.insecure_channel(f'localhost:{tunnel.port}')
2801
+ return grpc.insecure_channel(f'localhost:{tunnel.port}',
2802
+ options=grpc_options)
2788
2803
  except locks.LockTimeout as e:
2789
2804
  raise RuntimeError(
2790
2805
  'Failed to get gRPC channel for cluster '
@@ -3060,6 +3075,8 @@ class SkyletClient:
3060
3075
  self._autostop_stub = autostopv1_pb2_grpc.AutostopServiceStub(channel)
3061
3076
  self._jobs_stub = jobsv1_pb2_grpc.JobsServiceStub(channel)
3062
3077
  self._serve_stub = servev1_pb2_grpc.ServeServiceStub(channel)
3078
+ self._managed_jobs_stub = (
3079
+ managed_jobsv1_pb2_grpc.ManagedJobsServiceStub(channel))
3063
3080
 
3064
3081
  def set_autostop(
3065
3082
  self,
@@ -3146,6 +3163,13 @@ class SkyletClient:
3146
3163
  ) -> 'jobsv1_pb2.GetLogDirsForJobsResponse':
3147
3164
  return self._jobs_stub.GetLogDirsForJobs(request, timeout=timeout)
3148
3165
 
3166
+ def tail_logs(
3167
+ self,
3168
+ request: 'jobsv1_pb2.TailLogsRequest',
3169
+ timeout: Optional[float] = constants.SKYLET_GRPC_TIMEOUT_SECONDS
3170
+ ) -> Iterator['jobsv1_pb2.TailLogsResponse']:
3171
+ return self._jobs_stub.TailLogs(request, timeout=timeout)
3172
+
3149
3173
  def get_service_status(
3150
3174
  self,
3151
3175
  request: 'servev1_pb2.GetServiceStatusRequest',
@@ -3194,6 +3218,35 @@ class SkyletClient:
3194
3218
  ) -> 'servev1_pb2.UpdateServiceResponse':
3195
3219
  return self._serve_stub.UpdateService(request, timeout=timeout)
3196
3220
 
3221
+ def get_managed_job_controller_version(
3222
+ self,
3223
+ request: 'managed_jobsv1_pb2.GetVersionRequest',
3224
+ timeout: Optional[float] = constants.SKYLET_GRPC_TIMEOUT_SECONDS
3225
+ ) -> 'managed_jobsv1_pb2.GetVersionResponse':
3226
+ return self._managed_jobs_stub.GetVersion(request, timeout=timeout)
3227
+
3228
+ def get_managed_job_table(
3229
+ self,
3230
+ request: 'managed_jobsv1_pb2.GetJobTableRequest',
3231
+ timeout: Optional[float] = constants.SKYLET_GRPC_TIMEOUT_SECONDS
3232
+ ) -> 'managed_jobsv1_pb2.GetJobTableResponse':
3233
+ return self._managed_jobs_stub.GetJobTable(request, timeout=timeout)
3234
+
3235
+ def get_all_managed_job_ids_by_name(
3236
+ self,
3237
+ request: 'managed_jobsv1_pb2.GetAllJobIdsByNameRequest',
3238
+ timeout: Optional[float] = constants.SKYLET_GRPC_TIMEOUT_SECONDS
3239
+ ) -> 'managed_jobsv1_pb2.GetAllJobIdsByNameResponse':
3240
+ return self._managed_jobs_stub.GetAllJobIdsByName(request,
3241
+ timeout=timeout)
3242
+
3243
+ def cancel_managed_jobs(
3244
+ self,
3245
+ request: 'managed_jobsv1_pb2.CancelJobsRequest',
3246
+ timeout: Optional[float] = constants.SKYLET_GRPC_TIMEOUT_SECONDS
3247
+ ) -> 'managed_jobsv1_pb2.CancelJobsResponse':
3248
+ return self._managed_jobs_stub.CancelJobs(request, timeout=timeout)
3249
+
3197
3250
 
3198
3251
  @registry.BACKEND_REGISTRY.type_register(name='cloudvmray')
3199
3252
  class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
@@ -3706,7 +3759,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3706
3759
  ux_utils.spinner_message('Preparing SkyPilot runtime')):
3707
3760
  use_legacy = not handle.is_grpc_enabled_with_flag
3708
3761
 
3709
- if handle.is_grpc_enabled_with_flag:
3762
+ if not use_legacy:
3710
3763
  try:
3711
3764
  request = jobsv1_pb2.UpdateStatusRequest()
3712
3765
  backend_utils.invoke_skylet_with_retries(
@@ -3730,7 +3783,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3730
3783
  # 2. On next `sky start`, it gets reset to FAILED.
3731
3784
  use_legacy = not handle.is_grpc_enabled_with_flag
3732
3785
 
3733
- if handle.is_grpc_enabled_with_flag:
3786
+ if not use_legacy:
3734
3787
  try:
3735
3788
  fail_request = jobsv1_pb2.FailAllInProgressJobsRequest()
3736
3789
  backend_utils.invoke_skylet_with_retries(
@@ -4165,7 +4218,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4165
4218
  _dump_code_to_file(job_submit_cmd,
4166
4219
  constants.PERSISTENT_RUN_SCRIPT_DIR)
4167
4220
 
4168
- if handle.is_grpc_enabled_with_flag:
4221
+ if not use_legacy:
4169
4222
  try:
4170
4223
  managed_job_info: Optional[jobsv1_pb2.ManagedJobInfo] = None
4171
4224
  if managed_job_dag is not None:
@@ -4297,7 +4350,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4297
4350
  metadata: str) -> Tuple[int, str]:
4298
4351
  use_legacy = not handle.is_grpc_enabled_with_flag
4299
4352
 
4300
- if handle.is_grpc_enabled_with_flag:
4353
+ if not use_legacy:
4301
4354
  try:
4302
4355
  request = jobsv1_pb2.AddJobRequest(
4303
4356
  job_name=job_name,
@@ -4567,7 +4620,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4567
4620
  """
4568
4621
  use_legacy = not handle.is_grpc_enabled_with_flag
4569
4622
 
4570
- if handle.is_grpc_enabled_with_flag:
4623
+ if not use_legacy:
4571
4624
  try:
4572
4625
  request = jobsv1_pb2.CancelJobsRequest(job_ids=jobs,
4573
4626
  cancel_all=cancel_all,
@@ -4610,7 +4663,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4610
4663
  job_to_dir: Dict[str, str] = {}
4611
4664
  use_legacy = not handle.is_grpc_enabled_with_flag
4612
4665
 
4613
- if handle.is_grpc_enabled_with_flag:
4666
+ if not use_legacy:
4614
4667
  try:
4615
4668
  int_job_ids = []
4616
4669
  if job_ids:
@@ -4724,6 +4777,28 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4724
4777
  The exit code of the tail command. Returns code 100 if the job has
4725
4778
  failed. See exceptions.JobExitCode for possible return codes.
4726
4779
  """
4780
+ if handle.is_grpc_enabled_with_flag:
4781
+ last_exit_code = 0
4782
+ try:
4783
+ request = jobsv1_pb2.TailLogsRequest(
4784
+ job_id=job_id,
4785
+ managed_job_id=managed_job_id,
4786
+ follow=follow,
4787
+ tail=tail)
4788
+ for resp in backend_utils.invoke_skylet_streaming_with_retries(
4789
+ lambda: SkyletClient(handle.get_grpc_channel()
4790
+ ).tail_logs(request, timeout=None)):
4791
+ if resp.log_line:
4792
+ print(resp.log_line, end='', flush=True)
4793
+ last_exit_code = resp.exit_code
4794
+ return last_exit_code
4795
+ except exceptions.SkyletMethodNotImplementedError:
4796
+ pass
4797
+ except grpc.RpcError as e:
4798
+ if e.code() == grpc.StatusCode.CANCELLED:
4799
+ return last_exit_code
4800
+ raise e
4801
+
4727
4802
  code = job_lib.JobLibCodeGen.tail_logs(job_id,
4728
4803
  managed_job_id=managed_job_id,
4729
4804
  follow=follow,
@@ -4761,6 +4836,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4761
4836
  tail: Optional[int] = None) -> int:
4762
4837
  # if job_name is not None, job_id should be None
4763
4838
  assert job_name is None or job_id is None, (job_name, job_id)
4839
+ # TODO(kevin): Migrate stream_logs to gRPC
4764
4840
  code = managed_jobs.ManagedJobCodeGen.stream_logs(
4765
4841
  job_name, job_id, follow, controller, tail)
4766
4842
 
@@ -4806,20 +4882,37 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4806
4882
  assert job_name is None or job_id is None, (job_name, job_id)
4807
4883
 
4808
4884
  if job_id is None:
4809
- # generate code to get the job_id
4885
+ # get the job_id
4810
4886
  # if job_name is None, get all job_ids
4811
4887
  # TODO: Only get the latest job_id, since that's the only one we use
4812
- code = managed_jobs.ManagedJobCodeGen.get_all_job_ids_by_name(
4813
- job_name=job_name)
4814
- returncode, job_ids, stderr = self.run_on_head(handle,
4815
- code,
4816
- stream_logs=False,
4817
- require_outputs=True,
4818
- separate_stderr=True)
4819
- subprocess_utils.handle_returncode(returncode, code,
4820
- 'Failed to sync down logs.',
4821
- stderr)
4822
- job_ids = message_utils.decode_payload(job_ids)
4888
+
4889
+ use_legacy = not handle.is_grpc_enabled_with_flag
4890
+ logger.info(f'handle.is_grpc_enabled_with_flag: '
4891
+ f'{handle.is_grpc_enabled_with_flag}')
4892
+ if not use_legacy:
4893
+ try:
4894
+ request = managed_jobsv1_pb2.GetAllJobIdsByNameRequest(
4895
+ job_name=job_name)
4896
+ response = backend_utils.invoke_skylet_with_retries(
4897
+ lambda: SkyletClient(handle.get_grpc_channel(
4898
+ )).get_all_managed_job_ids_by_name(request))
4899
+ job_ids = list(response.job_ids)
4900
+ except exceptions.SkyletMethodNotImplementedError:
4901
+ use_legacy = True
4902
+
4903
+ if use_legacy:
4904
+ code = managed_jobs.ManagedJobCodeGen.get_all_job_ids_by_name(
4905
+ job_name=job_name)
4906
+ returncode, job_ids_payload, stderr = self.run_on_head(
4907
+ handle,
4908
+ code,
4909
+ stream_logs=False,
4910
+ require_outputs=True,
4911
+ separate_stderr=True)
4912
+ subprocess_utils.handle_returncode(returncode, code,
4913
+ 'Failed to sync down logs.',
4914
+ stderr)
4915
+ job_ids = message_utils.decode_payload(job_ids_payload)
4823
4916
  if not job_ids:
4824
4917
  logger.info(f'{colorama.Fore.YELLOW}'
4825
4918
  'No matching job found'
@@ -4847,18 +4940,39 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4847
4940
  else:
4848
4941
  # get the run_timestamp
4849
4942
  # the function takes in [job_id]
4850
- code = job_lib.JobLibCodeGen.get_log_dirs_for_jobs([str(job_id)])
4851
- returncode, run_timestamps_payload, stderr = self.run_on_head(
4852
- handle,
4853
- code,
4854
- stream_logs=False,
4855
- require_outputs=True,
4856
- separate_stderr=True)
4857
- subprocess_utils.handle_returncode(returncode, code,
4858
- 'Failed to sync logs.', stderr)
4859
- # returns with a dict of {job_id: run_timestamp}
4860
- run_timestamps = message_utils.decode_payload(
4861
- run_timestamps_payload)
4943
+ use_legacy = not handle.is_grpc_enabled_with_flag
4944
+ if not use_legacy:
4945
+ try:
4946
+ log_dirs_request = jobsv1_pb2.GetLogDirsForJobsRequest(
4947
+ job_ids=[job_id])
4948
+ log_dirs_response = (
4949
+ backend_utils.invoke_skylet_with_retries(
4950
+ lambda: SkyletClient(handle.get_grpc_channel(
4951
+ )).get_log_dirs_for_jobs(log_dirs_request)))
4952
+ job_log_dirs = log_dirs_response.job_log_dirs
4953
+ # Convert back to the expected format
4954
+ # {job_id: run_timestamp}
4955
+ run_timestamps = {}
4956
+ for jid, log_dir in job_log_dirs.items():
4957
+ run_timestamps[int(jid)] = log_dir
4958
+ except exceptions.SkyletMethodNotImplementedError:
4959
+ use_legacy = True
4960
+
4961
+ if use_legacy:
4962
+ code = job_lib.JobLibCodeGen.get_log_dirs_for_jobs(
4963
+ [str(job_id)])
4964
+ returncode, run_timestamps_payload, stderr = self.run_on_head(
4965
+ handle,
4966
+ code,
4967
+ stream_logs=False,
4968
+ require_outputs=True,
4969
+ separate_stderr=True)
4970
+ subprocess_utils.handle_returncode(returncode, code,
4971
+ 'Failed to sync logs.',
4972
+ stderr)
4973
+ # returns with a dict of {job_id: run_timestamp}
4974
+ run_timestamps = message_utils.decode_payload(
4975
+ run_timestamps_payload)
4862
4976
  if not run_timestamps:
4863
4977
  logger.info(f'{colorama.Fore.YELLOW}'
4864
4978
  'No matching log directories found'
@@ -4925,6 +5039,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4925
5039
  exist_ok=True)
4926
5040
  log_file = os.path.join(local_log_dir, 'run.log')
4927
5041
 
5042
+ # TODO(kevin): Migrate stream_logs to gRPC
4928
5043
  code = managed_jobs.ManagedJobCodeGen.stream_logs(
4929
5044
  job_name=None,
4930
5045
  job_id=int(job_id),
@@ -5006,7 +5121,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
5006
5121
  # observed in AWS. See also
5007
5122
  # _LAUNCH_DOUBLE_CHECK_WINDOW in backend_utils.py.
5008
5123
  force_refresh_statuses={status_lib.ClusterStatus.INIT},
5009
- acquire_per_cluster_status_lock=False))
5124
+ cluster_lock_already_held=True))
5010
5125
  cluster_status_fetched = True
5011
5126
  except exceptions.ClusterStatusFetchingError:
5012
5127
  logger.warning(
@@ -5610,7 +5725,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
5610
5725
  record = backend_utils.refresh_cluster_record(
5611
5726
  cluster_name,
5612
5727
  force_refresh_statuses={status_lib.ClusterStatus.INIT},
5613
- acquire_per_cluster_status_lock=False,
5728
+ cluster_lock_already_held=True,
5614
5729
  include_user_info=False,
5615
5730
  summary_response=True,
5616
5731
  )
@@ -621,35 +621,6 @@ def _format_enabled_cloud(cloud_name: str,
621
621
  if cloud_name in [repr(sky_clouds.Kubernetes()), repr(sky_clouds.SSH())]:
622
622
  return (f'{title}' + _format_context_details(
623
623
  cloud_name, show_details=False, ctx2text=ctx2text))
624
-
625
- if cloud_name == repr(sky_clouds.Kubernetes()):
626
- # Get enabled contexts for Kubernetes
627
- existing_contexts = sky_clouds.Kubernetes.existing_allowed_contexts()
628
- if not existing_contexts:
629
- return _green_color(cloud_and_capabilities)
630
-
631
- # Check if allowed_contexts is explicitly set in config
632
- allowed_contexts = skypilot_config.get_effective_region_config(
633
- cloud='kubernetes',
634
- region=None,
635
- keys=('allowed_contexts',),
636
- default_value=None)
637
-
638
- # Format the context info with consistent styling
639
- if allowed_contexts is not None:
640
- contexts_formatted = []
641
- for i, context in enumerate(existing_contexts):
642
- symbol = (ux_utils.INDENT_LAST_SYMBOL
643
- if i == len(existing_contexts) -
644
- 1 else ux_utils.INDENT_SYMBOL)
645
- contexts_formatted.append(f'\n {symbol}{context}')
646
- context_info = f' Allowed contexts:{"".join(contexts_formatted)}'
647
- else:
648
- context_info = f' Active context: {existing_contexts[0]}'
649
-
650
- return (f'{_green_color(cloud_and_capabilities)}\n'
651
- f' {colorama.Style.DIM}{context_info}'
652
- f'{colorama.Style.RESET_ALL}')
653
624
  return _green_color(cloud_and_capabilities)
654
625
 
655
626