skypilot-nightly 1.0.0.dev20250113__tar.gz → 1.0.0.dev20250115__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. {skypilot_nightly-1.0.0.dev20250113/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250115}/PKG-INFO +3 -1
  2. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/README.md +2 -0
  3. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/__init__.py +2 -2
  4. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/common.py +15 -9
  5. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/cloud_vm_ray_backend.py +1 -1
  6. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/__init__.py +7 -3
  7. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/kubernetes_catalog.py +14 -0
  8. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/data/mounting_utils.py +7 -1
  9. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/optimizer.py +6 -3
  10. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/azure/instance.py +1 -1
  11. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/instance.py +2 -1
  12. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/usage/usage_lib.py +10 -2
  13. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/accelerator_registry.py +12 -8
  14. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/db_utils.py +18 -4
  15. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/log_utils.py +2 -0
  16. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/subprocess_utils.py +7 -2
  17. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115/skypilot_nightly.egg-info}/PKG-INFO +3 -1
  18. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/LICENSE +0 -0
  19. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/MANIFEST.in +0 -0
  20. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/pyproject.toml +0 -0
  21. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/setup.cfg +0 -0
  22. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/setup.py +0 -0
  23. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/__init__.py +0 -0
  24. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/aws.py +0 -0
  25. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/azure.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/cloudflare.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/cudo.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/do.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/docker.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/gcp.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/ibm.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/kubernetes.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/oci.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/runpod.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/adaptors/vsphere.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/admin_policy.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/authentication.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/__init__.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/backend.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/backend_utils.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/docker_utils.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/local_docker_backend.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/backends/wheel_utils.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/benchmark/__init__.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/benchmark/benchmark_state.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/benchmark/benchmark_utils.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/check.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/cli.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/cloud_stores.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/__init__.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/aws.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/azure.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/cloud.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/cloud_registry.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/cudo.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/do.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/fluidstack.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/gcp.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/ibm.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/kubernetes.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/lambda_cloud.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/oci.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/paperspace.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/runpod.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/scp.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/common.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/config.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/constants.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/do_catalog.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/oci_catalog.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/utils/__init__.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/utils/aws_utils.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/utils/azure_utils.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/utils/gcp_utils.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/utils/oci_utils.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/utils/scp_utils.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/clouds/vsphere.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/core.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/dag.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/data/__init__.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/data/data_transfer.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/data/data_utils.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/data/storage.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/data/storage_utils.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/exceptions.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/execution.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/global_user_state.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/__init__.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/constants.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/controller.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/core.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/dashboard/dashboard.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/dashboard/static/favicon.ico +0 -0
  114. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/dashboard/templates/index.html +0 -0
  115. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/recovery_strategy.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/state.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/jobs/utils.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/__init__.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/aws/__init__.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/aws/config.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/aws/instance.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/aws/utils.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/azure/__init__.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/azure/azure-config-template.json +0 -0
  125. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/azure/config.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/common.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/constants.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/cudo/__init__.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/cudo/config.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/cudo/cudo_machine_type.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/cudo/cudo_utils.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/cudo/cudo_wrapper.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/cudo/instance.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/do/__init__.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/do/config.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/do/constants.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/do/instance.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/do/utils.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/docker_utils.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/fluidstack/__init__.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/fluidstack/config.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/fluidstack/instance.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/gcp/__init__.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/gcp/config.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/gcp/constants.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/gcp/instance.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/gcp/instance_utils.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/gcp/mig_utils.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/instance_setup.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/__init__.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/config.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
  154. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
  155. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/network.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/network_utils.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/kubernetes/utils.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/lambda_cloud/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/lambda_cloud/config.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/lambda_cloud/instance.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/logging.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/metadata_utils.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/oci/__init__.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/oci/config.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/oci/instance.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/oci/query_utils.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/paperspace/__init__.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/paperspace/config.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/paperspace/constants.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/paperspace/instance.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/paperspace/utils.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/provisioner.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/__init__.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/api/__init__.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/api/commands.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/api/pods.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/config.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/instance.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/runpod/utils.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/__init__.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/__init__.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/custom_script.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/id_generator.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/service_manager.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/common/vim_utils.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/config.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/instance.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/provision/vsphere/vsphere_utils.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/resources.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/__init__.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/autoscalers.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/constants.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/controller.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/core.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/load_balancer.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/load_balancing_policies.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/replica_managers.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/serve_state.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/serve_utils.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/service.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/serve/service_spec.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/setup_files/MANIFEST.in +0 -0
  210. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/setup_files/dependencies.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/setup_files/setup.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/sky_logging.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/LICENSE +0 -0
  214. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/__init__.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/attempt_skylet.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/autostop_lib.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/configs.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/constants.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/events.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/job_lib.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/log_lib.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/log_lib.pyi +0 -0
  223. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/__init__.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/command_runner.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/ibm/__init__.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/ibm/node_provider.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/ibm/utils.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/scp/__init__.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/scp/config.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/providers/scp/node_provider.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/__init__.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  234. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/cli.py.patch +0 -0
  235. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  236. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  237. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  238. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/updater.py.patch +0 -0
  239. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/ray_patches/worker.py.patch +0 -0
  240. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/skylet.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skylet/subprocess_daemon.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/skypilot_config.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/status_lib.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/task.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/aws-ray.yml.j2 +0 -0
  246. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/azure-ray.yml.j2 +0 -0
  247. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/cudo-ray.yml.j2 +0 -0
  248. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/do-ray.yml.j2 +0 -0
  249. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  250. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/gcp-ray.yml.j2 +0 -0
  251. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/ibm-ray.yml.j2 +0 -0
  252. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/jobs-controller.yaml.j2 +0 -0
  253. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  254. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  255. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  256. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  257. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  258. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/lambda-ray.yml.j2 +0 -0
  259. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/local-ray.yml.j2 +0 -0
  260. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/oci-ray.yml.j2 +0 -0
  261. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/paperspace-ray.yml.j2 +0 -0
  262. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/runpod-ray.yml.j2 +0 -0
  263. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/scp-ray.yml.j2 +0 -0
  264. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  265. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/templates/vsphere-ray.yml.j2 +0 -0
  266. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/usage/__init__.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/usage/constants.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/__init__.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/admin_policy_utils.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/cli_utils/__init__.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/cli_utils/status_utils.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/cluster_yaml_utils.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/command_runner.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/command_runner.pyi +0 -0
  275. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/common_utils.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/control_master_utils.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/controller_utils.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/dag_utils.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/env_options.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/__init__.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/create_cluster.sh +0 -0
  282. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  283. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  284. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  286. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  288. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  289. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  290. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/kubernetes_enums.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/resources_utils.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/rich_utils.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/schemas.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/timeline.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/ux_utils.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/sky/utils/validator.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
  299. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  300. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  301. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/skypilot_nightly.egg-info/requires.txt +0 -0
  302. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/skypilot_nightly.egg-info/top_level.txt +0 -0
  303. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_api.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_cli.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_config.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_global_user_state.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_jobs.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_jobs_and_serve.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_list_accelerators.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_optimizer_dryruns.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_optimizer_random_dag.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_serve_autoscaler.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_smoke.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_storage.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_wheels.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250113 → skypilot_nightly-1.0.0.dev20250115}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250113
3
+ Version: 1.0.0.dev20250115
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -351,6 +351,8 @@ Read the research:
351
351
  - [Sky Computing vision paper](https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s02-stoica.pdf) (HotOS 2021)
352
352
  - [Policy for Managed Spot Jobs](https://www.usenix.org/conference/nsdi24/presentation/wu-zhanghao) (NSDI 2024)
353
353
 
354
+ SkyPilot was initially started at the [Sky Computing Lab](https://sky.cs.berkeley.edu) at UC Berkeley and has since gained many industry contributors. Read more about the project's origin [here](https://docs.skypilot.co/en/latest/sky-computing.html).
355
+
354
356
  ## Support and Questions
355
357
  We are excited to hear your feedback!
356
358
  * For issues and feature requests, please [open a GitHub issue](https://github.com/skypilot-org/skypilot/issues/new).
@@ -199,6 +199,8 @@ Read the research:
199
199
  - [Sky Computing vision paper](https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s02-stoica.pdf) (HotOS 2021)
200
200
  - [Policy for Managed Spot Jobs](https://www.usenix.org/conference/nsdi24/presentation/wu-zhanghao) (NSDI 2024)
201
201
 
202
+ SkyPilot was initially started at the [Sky Computing Lab](https://sky.cs.berkeley.edu) at UC Berkeley and has since gained many industry contributors. Read more about the project's origin [here](https://docs.skypilot.co/en/latest/sky-computing.html).
203
+
202
204
  ## Support and Questions
203
205
  We are excited to hear your feedback!
204
206
  * For issues and feature requests, please [open a GitHub issue](https://github.com/skypilot-org/skypilot/issues/new).
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = 'fd1ac0e6fbde830ac6be9e42f523a0e460fd84e8'
8
+ _SKYPILOT_COMMIT_SHA = 'd9bb51a66a33ed06f9f0c791ac3ed5ad93ffa587'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20250113'
38
+ __version__ = '1.0.0.dev20250115'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -1,6 +1,7 @@
1
1
  """Lazy import for modules to avoid import error when not used."""
2
2
  import functools
3
3
  import importlib
4
+ import threading
4
5
  from typing import Any, Callable, Optional, Tuple
5
6
 
6
7
 
@@ -24,17 +25,22 @@ class LazyImport:
24
25
  self._module = None
25
26
  self._import_error_message = import_error_message
26
27
  self._set_loggers = set_loggers
28
+ self._lock = threading.RLock()
27
29
 
28
30
  def load_module(self):
29
- if self._module is None:
30
- try:
31
- self._module = importlib.import_module(self._module_name)
32
- if self._set_loggers is not None:
33
- self._set_loggers()
34
- except ImportError as e:
35
- if self._import_error_message is not None:
36
- raise ImportError(self._import_error_message) from e
37
- raise
31
+ # Avoid extra imports when multiple threads try to import the same
32
+ # module. The overhead is minor since import can only run in serial
33
+ # due to GIL even in multi-threaded environments.
34
+ with self._lock:
35
+ if self._module is None:
36
+ try:
37
+ self._module = importlib.import_module(self._module_name)
38
+ if self._set_loggers is not None:
39
+ self._set_loggers()
40
+ except ImportError as e:
41
+ if self._import_error_message is not None:
42
+ raise ImportError(self._import_error_message) from e
43
+ raise
38
44
  return self._module
39
45
 
40
46
  def __getattr__(self, name: str) -> Any:
@@ -3327,7 +3327,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3327
3327
  # even if some of them raise exceptions. We should replace it with
3328
3328
  # multi-process.
3329
3329
  rich_utils.stop_safe_status()
3330
- subprocess_utils.run_in_parallel(_setup_node, range(num_nodes))
3330
+ subprocess_utils.run_in_parallel(_setup_node, list(range(num_nodes)))
3331
3331
 
3332
3332
  if detach_setup:
3333
3333
  # Only set this when setup needs to be run outside the self._setup()
@@ -10,6 +10,7 @@ from sky.clouds.service_catalog.constants import CATALOG_DIR
10
10
  from sky.clouds.service_catalog.constants import CATALOG_SCHEMA_VERSION
11
11
  from sky.clouds.service_catalog.constants import HOSTED_CATALOG_DIR_URL
12
12
  from sky.utils import resources_utils
13
+ from sky.utils import subprocess_utils
13
14
 
14
15
  if typing.TYPE_CHECKING:
15
16
  from sky.clouds import cloud
@@ -31,8 +32,7 @@ def _map_clouds_catalog(clouds: CloudFilter, method_name: str, *args, **kwargs):
31
32
  if single:
32
33
  clouds = [clouds] # type: ignore
33
34
 
34
- results = []
35
- for cloud in clouds:
35
+ def _execute_catalog_method(cloud: str):
36
36
  try:
37
37
  cloud_module = importlib.import_module(
38
38
  f'sky.clouds.service_catalog.{cloud.lower()}_catalog')
@@ -46,7 +46,11 @@ def _map_clouds_catalog(clouds: CloudFilter, method_name: str, *args, **kwargs):
46
46
  raise AttributeError(
47
47
  f'Module "{cloud}_catalog" does not '
48
48
  f'implement the "{method_name}" method') from None
49
- results.append(method(*args, **kwargs))
49
+ return method(*args, **kwargs)
50
+
51
+ results = subprocess_utils.run_in_parallel(_execute_catalog_method,
52
+ args=list(clouds),
53
+ num_threads=len(clouds))
50
54
  if single:
51
55
  return results[0]
52
56
  return results
@@ -115,6 +115,16 @@ def _list_accelerators(
115
115
 
116
116
  If the user does not have sufficient permissions to list pods in all
117
117
  namespaces, the function will return free GPUs as -1.
118
+
119
+ Returns:
120
+ A tuple of three dictionaries:
121
+ - qtys_map: Dict mapping accelerator names to lists of InstanceTypeInfo
122
+ objects with quantity information.
123
+ - total_accelerators_capacity: Dict mapping accelerator names to their
124
+ total capacity in the cluster.
125
+ - total_accelerators_available: Dict mapping accelerator names to their
126
+ current availability. Returns -1 for each accelerator if
127
+ realtime=False or if insufficient permissions.
118
128
  """
119
129
  # TODO(romilb): This should be refactored to use get_kubernetes_node_info()
120
130
  # function from kubernetes_utils.
@@ -243,6 +253,10 @@ def _list_accelerators(
243
253
 
244
254
  accelerators_available = accelerator_count - allocated_qty
245
255
 
256
+ # Initialize the entry if it doesn't exist yet
257
+ if accelerator_name not in total_accelerators_available:
258
+ total_accelerators_available[accelerator_name] = 0
259
+
246
260
  if accelerators_available >= min_quantity_filter:
247
261
  quantized_availability = min_quantity_filter * (
248
262
  accelerators_available // min_quantity_filter)
@@ -122,15 +122,21 @@ def get_az_mount_cmd(container_name: str,
122
122
  cache_path = _BLOBFUSE_CACHE_DIR.format(
123
123
  storage_account_name=storage_account_name,
124
124
  container_name=container_name)
125
+ # The line below ensures the cache directory is new before mounting to
126
+ # avoid "config error in file_cache [temp directory not empty]" error, which
127
+ # can occur after stopping and starting the same cluster on Azure.
128
+ # This helps ensure a clean state for blobfuse2 operations.
129
+ remote_boot_time_cmd = 'date +%s -d "$(uptime -s)"'
125
130
  if _bucket_sub_path is None:
126
131
  bucket_sub_path_arg = ''
127
132
  else:
128
133
  bucket_sub_path_arg = f'--subdirectory={_bucket_sub_path}/ '
134
+ # TODO(zpoint): clear old cache that has been created in the previous boot.
129
135
  mount_cmd = (f'AZURE_STORAGE_ACCOUNT={storage_account_name} '
130
136
  f'{key_env_var} '
131
137
  f'blobfuse2 {mount_path} --allow-other --no-symlinks '
132
138
  '-o umask=022 -o default_permissions '
133
- f'--tmp-path {cache_path} '
139
+ f'--tmp-path {cache_path}_$({remote_boot_time_cmd}) '
134
140
  f'{bucket_sub_path_arg}'
135
141
  f'--container-name {container_name}')
136
142
  return mount_cmd
@@ -1293,9 +1293,12 @@ def _fill_in_launchable_resources(
1293
1293
  if resources.cloud is not None else enabled_clouds)
1294
1294
  # If clouds provide hints, store them for later printing.
1295
1295
  hints: Dict[clouds.Cloud, str] = {}
1296
- for cloud in clouds_list:
1297
- feasible_resources = cloud.get_feasible_launchable_resources(
1298
- resources, num_nodes=task.num_nodes)
1296
+
1297
+ feasible_list = subprocess_utils.run_in_parallel(
1298
+ lambda cloud, r=resources, n=task.num_nodes:
1299
+ (cloud, cloud.get_feasible_launchable_resources(r, n)),
1300
+ clouds_list)
1301
+ for cloud, feasible_resources in feasible_list:
1299
1302
  if feasible_resources.hint is not None:
1300
1303
  hints[cloud] = feasible_resources.hint
1301
1304
  if feasible_resources.resources_list:
@@ -343,7 +343,7 @@ def _create_instances(compute_client: 'azure_compute.ComputeManagementClient',
343
343
  _create_vm(compute_client, vm_name, node_tags, provider_config,
344
344
  node_config, network_interface.id)
345
345
 
346
- subprocess_utils.run_in_parallel(create_single_instance, range(count))
346
+ subprocess_utils.run_in_parallel(create_single_instance, list(range(count)))
347
347
 
348
348
  # Update disk performance tier
349
349
  performance_tier = node_config.get('disk_performance_tier', None)
@@ -804,7 +804,8 @@ def _create_pods(region: str, cluster_name_on_cloud: str,
804
804
 
805
805
  # Create pods in parallel
806
806
  pods = subprocess_utils.run_in_parallel(_create_pod_thread,
807
- range(to_start_count), _NUM_THREADS)
807
+ list(range(to_start_count)),
808
+ _NUM_THREADS)
808
809
 
809
810
  # Process created pods
810
811
  for pod in pods:
@@ -3,7 +3,6 @@
3
3
  import contextlib
4
4
  import datetime
5
5
  import enum
6
- import inspect
7
6
  import json
8
7
  import os
9
8
  import time
@@ -12,19 +11,28 @@ import typing
12
11
  from typing import Any, Callable, Dict, List, Optional, Union
13
12
 
14
13
  import click
15
- import requests
16
14
 
17
15
  import sky
18
16
  from sky import sky_logging
17
+ from sky.adaptors import common as adaptors_common
19
18
  from sky.usage import constants
20
19
  from sky.utils import common_utils
21
20
  from sky.utils import env_options
22
21
  from sky.utils import ux_utils
23
22
 
24
23
  if typing.TYPE_CHECKING:
24
+ import inspect
25
+
26
+ import requests
27
+
25
28
  from sky import resources as resources_lib
26
29
  from sky import status_lib
27
30
  from sky import task as task_lib
31
+ else:
32
+ # requests and inspect cost ~100ms to load, which can be postponed to
33
+ # collection phase or skipped if user specifies no collection
34
+ requests = adaptors_common.LazyImport('requests')
35
+ inspect = adaptors_common.LazyImport('inspect')
28
36
 
29
37
  logger = sky_logging.init_logger(__name__)
30
38
 
@@ -3,6 +3,7 @@ import typing
3
3
  from typing import Optional
4
4
 
5
5
  from sky.clouds import service_catalog
6
+ from sky.utils import rich_utils
6
7
  from sky.utils import ux_utils
7
8
 
8
9
  if typing.TYPE_CHECKING:
@@ -88,14 +89,17 @@ def canonicalize_accelerator_name(accelerator: str,
88
89
  if accelerator.lower() in mapping:
89
90
  return mapping[accelerator.lower()]
90
91
 
91
- # _ACCELERATORS may not be comprehensive.
92
- # Users may manually add new accelerators to the catalogs, or download new
93
- # catalogs (that have new accelerators) without upgrading SkyPilot.
94
- # To cover such cases, we should search the accelerator name
95
- # in the service catalog.
96
- searched = service_catalog.list_accelerators(name_filter=accelerator,
97
- case_sensitive=False,
98
- clouds=cloud_str)
92
+ # Listing accelerators can be time-consuming since canonicalizing usually
93
+ # involves catalog reading with cache not warmed up.
94
+ with rich_utils.safe_status('Listing accelerators...'):
95
+ # _ACCELERATORS may not be comprehensive.
96
+ # Users may manually add new accelerators to the catalogs, or download
97
+ # new catalogs (that have new accelerators) without upgrading SkyPilot.
98
+ # To cover such cases, we should search the accelerator name
99
+ # in the service catalog.
100
+ searched = service_catalog.list_accelerators(name_filter=accelerator,
101
+ case_sensitive=False,
102
+ clouds=cloud_str)
99
103
  names = list(searched.keys())
100
104
 
101
105
  # Exact match.
@@ -4,11 +4,27 @@ import sqlite3
4
4
  import threading
5
5
  from typing import Any, Callable, Optional
6
6
 
7
+ # This parameter (passed to sqlite3.connect) controls how long we will wait to
8
+ # obtains a database lock (not necessarily during connection, but whenever it is
9
+ # needed). It is not a connection timeout.
10
+ # Even in WAL mode, only a single writer is allowed at a time. Other writers
11
+ # will block until the write lock can be obtained. This behavior is described in
12
+ # the SQLite documentation for WAL: https://www.sqlite.org/wal.html
13
+ # Python's default timeout is 5s. In normal usage, lock contention is very low,
14
+ # and this is more than sufficient. However, in some highly concurrent cases,
15
+ # such as a jobs controller suddenly recovering thousands of jobs at once, we
16
+ # can see a small number of processes that take much longer to obtain the lock.
17
+ # In contrived highly contentious cases, around 0.1% of transactions will take
18
+ # >30s to take the lock. We have not seen cases that take >60s. For cases up to
19
+ # 1000x parallelism, this is thus thought to be a conservative setting.
20
+ # For more info, see the PR description for #4552.
21
+ _DB_TIMEOUT_S = 60
22
+
7
23
 
8
24
  @contextlib.contextmanager
9
25
  def safe_cursor(db_path: str):
10
26
  """A newly created, auto-committing, auto-closing cursor."""
11
- conn = sqlite3.connect(db_path)
27
+ conn = sqlite3.connect(db_path, timeout=_DB_TIMEOUT_S)
12
28
  cursor = conn.cursor()
13
29
  try:
14
30
  yield cursor
@@ -79,8 +95,6 @@ class SQLiteConn(threading.local):
79
95
  def __init__(self, db_path: str, create_table: Callable):
80
96
  super().__init__()
81
97
  self.db_path = db_path
82
- # NOTE: We use a timeout of 10 seconds to avoid database locked
83
- # errors. This is a hack, but it works.
84
- self.conn = sqlite3.connect(db_path, timeout=10)
98
+ self.conn = sqlite3.connect(db_path, timeout=_DB_TIMEOUT_S)
85
99
  self.cursor = self.conn.cursor()
86
100
  create_table(self.cursor, self.conn)
@@ -5,6 +5,8 @@ import types
5
5
  from typing import Callable, Iterator, List, Optional, TextIO, Type
6
6
 
7
7
  import colorama
8
+ # slow due to https://github.com/python-pendulum/pendulum/issues/808
9
+ # FIXME(aylei): bump pendulum if it get fixed
8
10
  import pendulum
9
11
  import prettytable
10
12
 
@@ -5,7 +5,7 @@ import random
5
5
  import resource
6
6
  import subprocess
7
7
  import time
8
- from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union
8
+ from typing import Any, Callable, Dict, List, Optional, Tuple, Union
9
9
 
10
10
  import colorama
11
11
  import psutil
@@ -97,7 +97,7 @@ def get_parallel_threads(cloud_str: Optional[str] = None) -> int:
97
97
 
98
98
 
99
99
  def run_in_parallel(func: Callable,
100
- args: Iterable[Any],
100
+ args: List[Any],
101
101
  num_threads: Optional[int] = None) -> List[Any]:
102
102
  """Run a function in parallel on a list of arguments.
103
103
 
@@ -113,6 +113,11 @@ def run_in_parallel(func: Callable,
113
113
  A list of the return values of the function func, in the same order as the
114
114
  arguments.
115
115
  """
116
+ if len(args) == 0:
117
+ return []
118
+ # Short-circuit for single element
119
+ if len(args) == 1:
120
+ return [func(args[0])]
116
121
  # Reference: https://stackoverflow.com/questions/25790279/python-multiprocessing-early-termination # pylint: disable=line-too-long
117
122
  processes = num_threads if num_threads is not None else get_parallel_threads(
118
123
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250113
3
+ Version: 1.0.0.dev20250115
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -351,6 +351,8 @@ Read the research:
351
351
  - [Sky Computing vision paper](https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s02-stoica.pdf) (HotOS 2021)
352
352
  - [Policy for Managed Spot Jobs](https://www.usenix.org/conference/nsdi24/presentation/wu-zhanghao) (NSDI 2024)
353
353
 
354
+ SkyPilot was initially started at the [Sky Computing Lab](https://sky.cs.berkeley.edu) at UC Berkeley and has since gained many industry contributors. Read more about the project's origin [here](https://docs.skypilot.co/en/latest/sky-computing.html).
355
+
354
356
  ## Support and Questions
355
357
  We are excited to hear your feedback!
356
358
  * For issues and feature requests, please [open a GitHub issue](https://github.com/skypilot-org/skypilot/issues/new).