skypilot-nightly 1.0.0.dev20241209__tar.gz → 1.0.0.dev20241210__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 (307) hide show
  1. {skypilot_nightly-1.0.0.dev20241209/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20241210}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/runpod.py +11 -8
  4. skypilot_nightly-1.0.0.dev20241210/sky/provision/runpod/api/__init__.py +3 -0
  5. skypilot_nightly-1.0.0.dev20241210/sky/provision/runpod/api/commands.py +119 -0
  6. skypilot_nightly-1.0.0.dev20241210/sky/provision/runpod/api/pods.py +142 -0
  7. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/runpod/instance.py +4 -1
  8. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/runpod/utils.py +32 -18
  9. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/runpod-ray.yml.j2 +2 -0
  10. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  11. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/skypilot_nightly.egg-info/SOURCES.txt +3 -0
  12. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/LICENSE +0 -0
  13. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/MANIFEST.in +0 -0
  14. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/README.md +0 -0
  15. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/pyproject.toml +0 -0
  16. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/setup.cfg +0 -0
  17. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/setup.py +0 -0
  18. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/__init__.py +0 -0
  19. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/aws.py +0 -0
  20. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/azure.py +0 -0
  21. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/cloudflare.py +0 -0
  22. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/common.py +0 -0
  23. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/cudo.py +0 -0
  24. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/docker.py +0 -0
  25. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/gcp.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/ibm.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/kubernetes.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/oci.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/runpod.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/adaptors/vsphere.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/admin_policy.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/authentication.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/__init__.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/backend.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/backend_utils.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/cloud_vm_ray_backend.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/docker_utils.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/local_docker_backend.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/backends/wheel_utils.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/benchmark/__init__.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/benchmark/benchmark_state.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/benchmark/benchmark_utils.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/check.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/cli.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/cloud_stores.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/__init__.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/aws.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/azure.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/cloud.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/cloud_registry.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/cudo.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/fluidstack.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/gcp.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/ibm.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/kubernetes.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/lambda_cloud.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/oci.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/paperspace.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/scp.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/__init__.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/common.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/config.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/constants.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/oci_catalog.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/utils/__init__.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/utils/aws_utils.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/utils/azure_utils.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/utils/gcp_utils.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/utils/oci_utils.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/utils/scp_utils.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/clouds/vsphere.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/core.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/dag.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/data/__init__.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/data/data_transfer.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/data/data_utils.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/data/mounting_utils.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/data/storage.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/data/storage_utils.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/exceptions.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/execution.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/global_user_state.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/__init__.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/constants.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/controller.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/core.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/dashboard/dashboard.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/dashboard/static/favicon.ico +0 -0
  110. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/dashboard/templates/index.html +0 -0
  111. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/recovery_strategy.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/state.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/jobs/utils.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/optimizer.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/__init__.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/aws/__init__.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/aws/config.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/aws/instance.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/aws/utils.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/azure/__init__.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/azure/azure-config-template.json +0 -0
  122. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/azure/config.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/azure/instance.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/common.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/constants.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/cudo/__init__.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/cudo/config.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/cudo/cudo_machine_type.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/cudo/cudo_utils.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/cudo/cudo_wrapper.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/cudo/instance.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/docker_utils.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/fluidstack/__init__.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/fluidstack/config.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/fluidstack/instance.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/gcp/__init__.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/gcp/config.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/gcp/constants.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/gcp/instance.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/gcp/instance_utils.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/gcp/mig_utils.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/instance_setup.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/__init__.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/config.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/instance.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
  148. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
  149. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/network.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/network_utils.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/kubernetes/utils.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/lambda_cloud/__init__.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/lambda_cloud/config.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/lambda_cloud/instance.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/logging.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/metadata_utils.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/oci/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/oci/config.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/oci/instance.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/oci/query_utils.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/paperspace/__init__.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/paperspace/config.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/paperspace/constants.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/paperspace/instance.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/paperspace/utils.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/provisioner.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/runpod/__init__.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/runpod/config.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/__init__.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/__init__.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/custom_script.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/id_generator.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/service_manager.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/common/vim_utils.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/config.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/instance.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/provision/vsphere/vsphere_utils.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/resources.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/__init__.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/autoscalers.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/constants.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/controller.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/core.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/load_balancer.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/load_balancing_policies.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/replica_managers.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/serve_state.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/serve_utils.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/service.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/serve/service_spec.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/setup_files/MANIFEST.in +0 -0
  199. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/setup_files/dependencies.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/setup_files/setup.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/sky_logging.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/LICENSE +0 -0
  203. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/__init__.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/attempt_skylet.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/autostop_lib.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/configs.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/constants.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/events.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/job_lib.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/log_lib.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/log_lib.pyi +0 -0
  212. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/__init__.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/command_runner.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/ibm/__init__.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/ibm/node_provider.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/ibm/utils.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/scp/__init__.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/scp/config.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/providers/scp/node_provider.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/__init__.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  223. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/cli.py.patch +0 -0
  224. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  225. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  226. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  227. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/updater.py.patch +0 -0
  228. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/ray_patches/worker.py.patch +0 -0
  229. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/skylet.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skylet/subprocess_daemon.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/skypilot_config.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/status_lib.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/task.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/aws-ray.yml.j2 +0 -0
  235. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/azure-ray.yml.j2 +0 -0
  236. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/cudo-ray.yml.j2 +0 -0
  237. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  238. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/gcp-ray.yml.j2 +0 -0
  239. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/ibm-ray.yml.j2 +0 -0
  240. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/jobs-controller.yaml.j2 +0 -0
  241. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  242. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  243. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  244. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  245. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  246. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/lambda-ray.yml.j2 +0 -0
  247. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/local-ray.yml.j2 +0 -0
  248. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/oci-ray.yml.j2 +0 -0
  249. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/paperspace-ray.yml.j2 +0 -0
  250. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/scp-ray.yml.j2 +0 -0
  251. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  252. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/templates/vsphere-ray.yml.j2 +0 -0
  253. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/usage/__init__.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/usage/constants.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/usage/usage_lib.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/__init__.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/accelerator_registry.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/admin_policy_utils.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/cli_utils/__init__.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/cli_utils/status_utils.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/cluster_yaml_utils.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/command_runner.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/command_runner.pyi +0 -0
  264. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/common_utils.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/control_master_utils.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/controller_utils.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/dag_utils.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/db_utils.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/env_options.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/__init__.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/create_cluster.sh +0 -0
  272. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  273. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  274. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  276. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  278. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  279. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  280. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/kubernetes_enums.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/log_utils.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/resources_utils.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/rich_utils.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/schemas.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/subprocess_utils.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/timeline.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/ux_utils.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/sky/utils/validator.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  291. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  292. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/skypilot_nightly.egg-info/requires.txt +0 -0
  293. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/skypilot_nightly.egg-info/top_level.txt +0 -0
  294. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_api.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_cli.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_config.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_global_user_state.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_jobs.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_jobs_and_serve.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_list_accelerators.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_optimizer_dryruns.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_optimizer_random_dag.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_serve_autoscaler.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_smoke.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_storage.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_wheels.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20241209 → skypilot_nightly-1.0.0.dev20241210}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241209
3
+ Version: 1.0.0.dev20241210
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -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 = 'ace064c5fdf91d34e738dae8c0cd30e1c011528d'
8
+ _SKYPILOT_COMMIT_SHA = 'e0368888b6e64fd42cbafc698835b7aef0ce1a4c'
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.dev20241209'
38
+ __version__ = '1.0.0.dev20241210'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -24,8 +24,6 @@ class RunPod(clouds.Cloud):
24
24
  _REPR = 'RunPod'
25
25
  _CLOUD_UNSUPPORTED_FEATURES = {
26
26
  clouds.CloudImplementationFeatures.STOP: 'Stopping not supported.',
27
- clouds.CloudImplementationFeatures.SPOT_INSTANCE:
28
- ('Spot is not supported, as runpod API does not implement spot.'),
29
27
  clouds.CloudImplementationFeatures.MULTI_NODE:
30
28
  ('Multi-node not supported yet, as the interconnection among nodes '
31
29
  'are non-trivial on RunPod.'),
@@ -70,11 +68,8 @@ class RunPod(clouds.Cloud):
70
68
  zone: Optional[str]) -> List[clouds.Region]:
71
69
  assert zone is None, 'RunPod does not support zones.'
72
70
  del accelerators, zone # unused
73
- if use_spot:
74
- return []
75
- else:
76
- regions = service_catalog.get_region_zones_for_instance_type(
77
- instance_type, use_spot, 'runpod')
71
+ regions = service_catalog.get_region_zones_for_instance_type(
72
+ instance_type, use_spot, 'runpod')
78
73
 
79
74
  if region is not None:
80
75
  regions = [r for r in regions if r.name == region]
@@ -176,11 +171,19 @@ class RunPod(clouds.Cloud):
176
171
  else:
177
172
  image_id = r.image_id[r.region]
178
173
 
174
+ instance_type = resources.instance_type
175
+ use_spot = resources.use_spot
176
+
177
+ hourly_cost = self.instance_type_to_hourly_cost(
178
+ instance_type=instance_type, use_spot=use_spot)
179
+
179
180
  return {
180
- 'instance_type': resources.instance_type,
181
+ 'instance_type': instance_type,
181
182
  'custom_resources': custom_resources,
182
183
  'region': region.name,
183
184
  'image_id': image_id,
185
+ 'use_spot': use_spot,
186
+ 'bid_per_gpu': str(hourly_cost),
184
187
  }
185
188
 
186
189
  def _get_feasible_launchable_resources(
@@ -0,0 +1,3 @@
1
+ """RunPod low level API support for spot pod."""
2
+
3
+ from sky.provision.runpod.api.commands import create_spot_pod
@@ -0,0 +1,119 @@
1
+ """This module provides functions to generate GraphQL mutations for deploying
2
+ spot instance Pods on RunPod.
3
+
4
+ Reference:
5
+ https://github.com/runpod/runpod-python/blob/main/runpod/api/ctl_commands.py
6
+
7
+ Functions:
8
+ generate_spot_pod_deployment_mutation: Generates a GraphQL mutation string
9
+ for deploying a spot instance Pod on RunPod.
10
+
11
+ Example:
12
+ >>> mutation = generate_spot_pod_deployment_mutation(
13
+ name='test',
14
+ image_name='runpod/stack',
15
+ gpu_type_id='NVIDIA GeForce RTX 3070',
16
+ bid_per_gpu=0.3
17
+ )
18
+ """
19
+ from typing import List, Optional
20
+
21
+ from sky.adaptors import runpod
22
+ from sky.provision.runpod.api.pods import generate_spot_pod_deployment_mutation
23
+
24
+ _INTERRUPTABLE_POD_FIELD: str = 'podRentInterruptable'
25
+ _RESPONSE_DATA_FIELD: str = 'data'
26
+
27
+
28
+ def create_spot_pod(
29
+ name: str,
30
+ image_name: str,
31
+ gpu_type_id: str,
32
+ bid_per_gpu: float,
33
+ cloud_type: str = 'ALL',
34
+ volume_mount_path: str = '/runpod-volume',
35
+ gpu_count: Optional[int] = 1,
36
+ min_memory_in_gb: Optional[int] = 1,
37
+ min_vcpu_count: Optional[int] = 1,
38
+ container_disk_in_gb: Optional[int] = None,
39
+ volume_in_gb: Optional[int] = 0,
40
+ ports: Optional[str] = None,
41
+ start_ssh: Optional[bool] = True,
42
+ start_jupyter: Optional[bool] = False,
43
+ env: Optional[dict] = None,
44
+ docker_args: Optional[str] = '',
45
+ support_public_ip: Optional[bool] = True,
46
+ terminate_after: Optional[str] = None,
47
+ stop_after: Optional[str] = None,
48
+ data_center_id: Optional[str] = None,
49
+ country_code: Optional[str] = None,
50
+ network_volume_id: Optional[str] = None,
51
+ allowed_cuda_versions: Optional[List[str]] = None,
52
+ min_download: Optional[int] = None,
53
+ min_upload: Optional[int] = None,
54
+ cuda_version: Optional[str] = None,
55
+ template_id: Optional[str] = None,
56
+ volume_key: Optional[str] = None,
57
+ ) -> dict:
58
+ """This module provides functions to generate GraphQL mutations for
59
+ deploying spot instance Pods on RunPod.
60
+
61
+ Functions:
62
+ generate_spot_pod_deployment_mutation: Generates a GraphQL mutation
63
+ string for deploying a spot instance Pod on RunPod.
64
+
65
+ Example:
66
+ >>> mutation = generate_spot_pod_deployment_mutation(
67
+ name='test',
68
+ image_name='runpod/stack',
69
+ gpu_type_id='NVIDIA GeForce RTX 3070',
70
+ bid_per_gpu=0.3
71
+ )
72
+ """
73
+ runpod.runpod.get_gpu(gpu_type_id)
74
+ # refer to https://graphql-spec.runpod.io/#definition-CloudTypeEnum
75
+ if cloud_type not in ['ALL', 'COMMUNITY', 'SECURE']:
76
+ raise ValueError('cloud_type must be one of ALL, COMMUNITY or SECURE')
77
+
78
+ if network_volume_id and data_center_id is None:
79
+ user_info = runpod.runpod.get_user()
80
+ for network_volume in user_info['networkVolumes']:
81
+ if network_volume['id'] == network_volume_id:
82
+ data_center_id = network_volume['dataCenterId']
83
+ break
84
+
85
+ if container_disk_in_gb is None and template_id is None:
86
+ container_disk_in_gb = 10
87
+
88
+ mutation = generate_spot_pod_deployment_mutation(
89
+ name=name,
90
+ image_name=image_name,
91
+ gpu_type_id=gpu_type_id,
92
+ bid_per_gpu=bid_per_gpu,
93
+ cloud_type=cloud_type,
94
+ gpu_count=gpu_count,
95
+ min_memory_in_gb=min_memory_in_gb,
96
+ min_vcpu_count=min_vcpu_count,
97
+ container_disk_in_gb=container_disk_in_gb,
98
+ volume_in_gb=volume_in_gb,
99
+ volume_mount_path=volume_mount_path,
100
+ ports=ports,
101
+ start_ssh=start_ssh,
102
+ start_jupyter=start_jupyter,
103
+ env=env,
104
+ docker_args=docker_args,
105
+ support_public_ip=support_public_ip,
106
+ terminate_after=terminate_after,
107
+ stop_after=stop_after,
108
+ data_center_id=data_center_id,
109
+ country_code=country_code,
110
+ network_volume_id=network_volume_id,
111
+ allowed_cuda_versions=allowed_cuda_versions,
112
+ min_download=min_download,
113
+ min_upload=min_upload,
114
+ cuda_version=cuda_version,
115
+ template_id=template_id,
116
+ volume_key=volume_key,
117
+ )
118
+ response = runpod.runpod.api.graphql.run_graphql_query(mutation)
119
+ return response[_RESPONSE_DATA_FIELD][_INTERRUPTABLE_POD_FIELD]
@@ -0,0 +1,142 @@
1
+ """This module provides functions to generate GraphQL mutations for deploying
2
+ spot instance Pods on RunPod.
3
+
4
+ Reference:
5
+ https://github.com/runpod/runpod-python/blob/main/runpod/api/mutations/pods.py
6
+
7
+ Functions:
8
+ generate_spot_pod_deployment_mutation: Generates a GraphQL mutation string
9
+ for deploying a spot instance Pod on RunPod.
10
+ Example:
11
+ >>> mutation = generate_spot_pod_deployment_mutation(
12
+ name='test',
13
+ image_name='runpod/stack',
14
+ gpu_type_id='NVIDIA GeForce RTX 3070',
15
+ bid_per_gpu=0.3
16
+ )
17
+ """
18
+
19
+ from typing import List, Optional
20
+
21
+
22
+ # refer to https://graphql-spec.runpod.io/#definition-PodRentInterruptableInput
23
+ def generate_spot_pod_deployment_mutation(
24
+ name: str,
25
+ image_name: str,
26
+ gpu_type_id: str,
27
+ bid_per_gpu: float,
28
+ volume_mount_path: str,
29
+ cloud_type: str = 'ALL',
30
+ gpu_count: Optional[int] = None,
31
+ min_memory_in_gb: Optional[int] = None,
32
+ min_vcpu_count: Optional[int] = None,
33
+ container_disk_in_gb: Optional[int] = None,
34
+ volume_in_gb: Optional[int] = None,
35
+ ports: Optional[str] = None,
36
+ start_ssh: Optional[bool] = True,
37
+ start_jupyter: Optional[bool] = False,
38
+ env: Optional[dict] = None,
39
+ docker_args: Optional[str] = None,
40
+ support_public_ip: Optional[bool] = True,
41
+ terminate_after: Optional[str] = None,
42
+ stop_after: Optional[str] = None,
43
+ data_center_id: Optional[str] = None,
44
+ country_code: Optional[str] = None,
45
+ network_volume_id: Optional[str] = None,
46
+ allowed_cuda_versions: Optional[List[str]] = None,
47
+ min_download: Optional[int] = None,
48
+ min_upload: Optional[int] = None,
49
+ cuda_version: Optional[str] = None,
50
+ template_id: Optional[str] = None,
51
+ volume_key: Optional[str] = None,
52
+ ) -> str:
53
+ input_fields = []
54
+
55
+ # Required Fields
56
+ input_fields.append(f'name: "{name}"')
57
+ input_fields.append(f'imageName: "{image_name}"')
58
+ input_fields.append(f'gpuTypeId: "{gpu_type_id}"')
59
+ input_fields.append(f'bidPerGpu: {bid_per_gpu}')
60
+ input_fields.append(f'volumeMountPath: "{volume_mount_path}"')
61
+
62
+ # Default Fields
63
+ input_fields.append(f'cloudType: {cloud_type}')
64
+
65
+ if start_ssh:
66
+ input_fields.append('startSsh: true')
67
+ if start_jupyter:
68
+ input_fields.append('startJupyter: true')
69
+ if support_public_ip:
70
+ input_fields.append('supportPublicIp: true')
71
+ else:
72
+ input_fields.append('supportPublicIp: false')
73
+
74
+ # Optional Fields
75
+ if gpu_count is not None:
76
+ input_fields.append(f'gpuCount: {gpu_count}')
77
+ if min_memory_in_gb is not None:
78
+ input_fields.append(f'minMemoryInGb: {min_memory_in_gb}')
79
+ if min_vcpu_count is not None:
80
+ input_fields.append(f'minVcpuCount: {min_vcpu_count}')
81
+ if container_disk_in_gb is not None:
82
+ input_fields.append(f'containerDiskInGb: {container_disk_in_gb}')
83
+ if volume_in_gb is not None:
84
+ input_fields.append(f'volumeInGb: {volume_in_gb}')
85
+ if ports is not None:
86
+ ports = ports.replace(' ', '')
87
+ input_fields.append(f'ports: "{ports}"')
88
+ if docker_args is not None:
89
+ input_fields.append(f'dockerArgs: "{docker_args}"')
90
+ if terminate_after is not None:
91
+ input_fields.append(f'terminateAfter: "{terminate_after}"')
92
+ if stop_after is not None:
93
+ input_fields.append(f'stopAfter: "{stop_after}"')
94
+ if data_center_id is not None:
95
+ input_fields.append(f'dataCenterId: "{data_center_id}"')
96
+ if country_code is not None:
97
+ input_fields.append(f'countryCode: "{country_code}"')
98
+ if network_volume_id is not None:
99
+ input_fields.append(f'networkVolumeId: "{network_volume_id}"')
100
+ if allowed_cuda_versions is not None:
101
+ allowed_cuda_versions_string = ', '.join(
102
+ [f'"{version}"' for version in allowed_cuda_versions])
103
+ input_fields.append(
104
+ f'allowedCudaVersions: [{allowed_cuda_versions_string}]')
105
+ if min_download is not None:
106
+ input_fields.append(f'minDownload: {min_download}')
107
+ if min_upload is not None:
108
+ input_fields.append(f'minUpload: {min_upload}')
109
+ if cuda_version is not None:
110
+ input_fields.append(f'cudaVersion: "{cuda_version}"')
111
+ if template_id is not None:
112
+ input_fields.append(f'templateId: "{template_id}"')
113
+ if volume_key is not None:
114
+ input_fields.append(f'volumeKey: "{volume_key}"')
115
+
116
+ if env is not None:
117
+ env_string = ', '.join([
118
+ f'{{ key: "{key}", value: "{value}" }}'
119
+ for key, value in env.items()
120
+ ])
121
+ input_fields.append(f'env: [{env_string}]')
122
+
123
+ # Format input fields
124
+ input_string = ', '.join(input_fields)
125
+ return f"""
126
+ mutation {{
127
+ podRentInterruptable(
128
+ input: {{
129
+ {input_string}
130
+ }}
131
+ ) {{
132
+ id
133
+ desiredStatus
134
+ imageName
135
+ env
136
+ machineId
137
+ machine {{
138
+ podHostId
139
+ }}
140
+ }}
141
+ }}
142
+ """
@@ -89,7 +89,10 @@ def run_instances(region: str, cluster_name_on_cloud: str,
89
89
  disk_size=config.node_config['DiskSize'],
90
90
  image_name=config.node_config['ImageId'],
91
91
  ports=config.ports_to_open_on_launch,
92
- public_key=config.node_config['PublicKey'])
92
+ public_key=config.node_config['PublicKey'],
93
+ preemptible=config.node_config['Preemptible'],
94
+ bid_per_gpu=config.node_config['BidPerGPU'],
95
+ )
93
96
  except Exception as e: # pylint: disable=broad-except
94
97
  logger.warning(f'run_instances error: {e}')
95
98
  raise
@@ -6,6 +6,7 @@ from typing import Any, Dict, List, Optional
6
6
 
7
7
  from sky import sky_logging
8
8
  from sky.adaptors import runpod
9
+ import sky.provision.runpod.api.commands as runpod_commands
9
10
  from sky.skylet import constants
10
11
  from sky.utils import common_utils
11
12
 
@@ -100,7 +101,8 @@ def list_instances() -> Dict[str, Dict[str, Any]]:
100
101
 
101
102
 
102
103
  def launch(name: str, instance_type: str, region: str, disk_size: int,
103
- image_name: str, ports: Optional[List[int]], public_key: str) -> str:
104
+ image_name: str, ports: Optional[List[int]], public_key: str,
105
+ preemptible: Optional[bool], bid_per_gpu: float) -> str:
104
106
  """Launches an instance with the given parameters.
105
107
 
106
108
  Converts the instance_type to the RunPod GPU name, finds the specs for the
@@ -142,23 +144,35 @@ def launch(name: str, instance_type: str, region: str, disk_size: int,
142
144
  if ports is not None:
143
145
  custom_ports_str = ''.join([f'{p}/tcp,' for p in ports])
144
146
 
145
- new_instance = runpod.runpod.create_pod(
146
- name=name,
147
- image_name=image_name,
148
- gpu_type_id=gpu_type,
149
- cloud_type=cloud_type,
150
- container_disk_in_gb=disk_size,
151
- min_vcpu_count=4 * gpu_quantity,
152
- min_memory_in_gb=gpu_specs['memoryInGb'] * gpu_quantity,
153
- gpu_count=gpu_quantity,
154
- country_code=region,
155
- ports=(f'22/tcp,'
156
- f'{custom_ports_str}'
157
- f'{constants.SKY_REMOTE_RAY_DASHBOARD_PORT}/http,'
158
- f'{constants.SKY_REMOTE_RAY_PORT}/http'),
159
- support_public_ip=True,
160
- docker_args=
161
- f'bash -c \'echo {encoded} | base64 --decode > init.sh; bash init.sh\'')
147
+ docker_args = (f'bash -c \'echo {encoded} | base64 --decode > init.sh; '
148
+ f'bash init.sh\'')
149
+ ports = (f'22/tcp,'
150
+ f'{custom_ports_str}'
151
+ f'{constants.SKY_REMOTE_RAY_DASHBOARD_PORT}/http,'
152
+ f'{constants.SKY_REMOTE_RAY_PORT}/http')
153
+
154
+ params = {
155
+ 'name': name,
156
+ 'image_name': image_name,
157
+ 'gpu_type_id': gpu_type,
158
+ 'cloud_type': cloud_type,
159
+ 'container_disk_in_gb': disk_size,
160
+ 'min_vcpu_count': 4 * gpu_quantity,
161
+ 'min_memory_in_gb': gpu_specs['memoryInGb'] * gpu_quantity,
162
+ 'gpu_count': gpu_quantity,
163
+ 'country_code': region,
164
+ 'ports': ports,
165
+ 'support_public_ip': True,
166
+ 'docker_args': docker_args,
167
+ }
168
+
169
+ if preemptible is None or not preemptible:
170
+ new_instance = runpod.runpod.create_pod(**params)
171
+ else:
172
+ new_instance = runpod_commands.create_spot_pod(
173
+ bid_per_gpu=bid_per_gpu,
174
+ **params,
175
+ )
162
176
 
163
177
  return new_instance['id']
164
178
 
@@ -24,6 +24,8 @@ available_node_types:
24
24
  ImageId: {{image_id}}
25
25
  PublicKey: |-
26
26
  skypilot:ssh_public_key_content
27
+ Preemptible: {{use_spot}}
28
+ BidPerGPU: {{bid_per_gpu}}
27
29
 
28
30
  head_node_type: ray_head_default
29
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241209
3
+ Version: 1.0.0.dev20241210
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -164,6 +164,9 @@ sky/provision/runpod/__init__.py
164
164
  sky/provision/runpod/config.py
165
165
  sky/provision/runpod/instance.py
166
166
  sky/provision/runpod/utils.py
167
+ sky/provision/runpod/api/__init__.py
168
+ sky/provision/runpod/api/commands.py
169
+ sky/provision/runpod/api/pods.py
167
170
  sky/provision/vsphere/__init__.py
168
171
  sky/provision/vsphere/config.py
169
172
  sky/provision/vsphere/instance.py