skypilot-nightly 1.0.0.dev20250406__tar.gz → 1.0.0.dev20250407__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 (378) hide show
  1. {skypilot_nightly-1.0.0.dev20250406/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250407}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/lambda_cloud.py +0 -1
  4. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/lambda_cloud/instance.py +101 -16
  5. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/lambda_cloud/lambda_utils.py +84 -0
  6. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  7. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/LICENSE +0 -0
  8. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/MANIFEST.in +0 -0
  9. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/README.md +0 -0
  10. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/pyproject.toml +0 -0
  11. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/setup.cfg +0 -0
  12. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/setup.py +0 -0
  13. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/__init__.py +0 -0
  14. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/aws.py +0 -0
  15. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/azure.py +0 -0
  16. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/cloudflare.py +0 -0
  17. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/common.py +0 -0
  18. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/cudo.py +0 -0
  19. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/do.py +0 -0
  20. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/docker.py +0 -0
  21. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/gcp.py +0 -0
  22. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/ibm.py +0 -0
  23. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/kubernetes.py +0 -0
  24. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/nebius.py +0 -0
  25. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/oci.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/runpod.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/vast.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/adaptors/vsphere.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/admin_policy.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/authentication.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/__init__.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/backend.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/backend_utils.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/cloud_vm_ray_backend.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/docker_utils.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/local_docker_backend.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/backends/wheel_utils.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/benchmark/__init__.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/benchmark/benchmark_state.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/benchmark/benchmark_utils.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/check.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/cli.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/client/__init__.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/client/cli.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/client/common.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/client/sdk.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/cloud_stores.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/__init__.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/aws.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/azure.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/cloud.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/cudo.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/do.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/fluidstack.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/gcp.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/ibm.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/kubernetes.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/nebius.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/oci.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/paperspace.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/runpod.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/scp.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/__init__.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/azure_catalog.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/common.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/config.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/constants.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_ibm.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_vast.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/do_catalog.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/nebius_catalog.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/oci_catalog.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/vast_catalog.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/utils/__init__.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/utils/aws_utils.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/utils/azure_utils.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/utils/gcp_utils.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/utils/oci_utils.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/utils/scp_utils.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/vast.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/clouds/vsphere.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/core.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/dag.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/data/__init__.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/data/data_transfer.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/data/data_utils.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/data/mounting_utils.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/data/storage.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/data/storage_utils.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/exceptions.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/execution.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/global_user_state.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/__init__.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/client/__init__.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/client/sdk.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/constants.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/controller.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/dashboard/dashboard.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/dashboard/static/favicon.ico +0 -0
  120. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/dashboard/templates/index.html +0 -0
  121. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/recovery_strategy.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/scheduler.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/server/__init__.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/server/core.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/server/dashboard_utils.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/server/server.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/state.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/jobs/utils.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/models.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/optimizer.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/__init__.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/aws/__init__.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/aws/config.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/aws/instance.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/aws/utils.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/azure/__init__.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/azure/azure-config-template.json +0 -0
  138. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/azure/config.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/azure/instance.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/common.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/constants.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/cudo/__init__.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/cudo/config.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/cudo/cudo_machine_type.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/cudo/cudo_utils.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/cudo/cudo_wrapper.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/cudo/instance.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/do/__init__.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/do/config.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/do/constants.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/do/instance.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/do/utils.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/docker_utils.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/fluidstack/__init__.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/fluidstack/config.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/fluidstack/instance.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/gcp/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/gcp/config.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/gcp/constants.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/gcp/instance.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/gcp/instance_utils.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/gcp/mig_utils.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/instance_setup.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/__init__.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/config.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/constants.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/instance.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
  170. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
  171. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/network.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/network_utils.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/kubernetes/utils.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/lambda_cloud/__init__.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/lambda_cloud/config.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/logging.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/metadata_utils.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/nebius/__init__.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/nebius/config.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/nebius/instance.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/nebius/utils.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/oci/__init__.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/oci/config.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/oci/instance.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/oci/query_utils.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/paperspace/__init__.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/paperspace/config.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/paperspace/constants.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/paperspace/instance.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/paperspace/utils.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/provisioner.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/__init__.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/api/__init__.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/api/commands.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/api/pods.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/config.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/instance.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/runpod/utils.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vast/__init__.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vast/config.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vast/instance.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vast/utils.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/__init__.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/__init__.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/custom_script.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/id_generator.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/service_manager.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/common/vim_utils.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/config.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/instance.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/provision/vsphere/vsphere_utils.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/resources.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/__init__.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/autoscalers.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/client/__init__.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/client/sdk.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/constants.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/controller.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/load_balancer.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/load_balancing_policies.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/replica_managers.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/serve_state.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/serve_utils.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/server/__init__.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/server/core.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/server/server.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/service.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/service_spec.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/serve/spot_placer.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/__init__.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/common.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/constants.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/html/log.html +0 -0
  240. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/__init__.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/event_loop.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/executor.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/payloads.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/preconditions.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/queues/__init__.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/queues/mp_queue.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/requests.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/serializers/__init__.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/serializers/decoders.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/requests/serializers/encoders.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/server.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/stream_utils.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/server/uvicorn.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/setup_files/MANIFEST.in +0 -0
  255. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/setup_files/dependencies.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/setup_files/setup.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/sky_logging.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/LICENSE +0 -0
  259. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/__init__.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/attempt_skylet.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/autostop_lib.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/configs.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/constants.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/events.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/job_lib.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/log_lib.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/log_lib.pyi +0 -0
  268. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/__init__.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/command_runner.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/ibm/__init__.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/ibm/node_provider.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/ibm/utils.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/scp/__init__.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/scp/config.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/providers/scp/node_provider.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/__init__.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  279. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/cli.py.patch +0 -0
  280. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  281. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  282. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  283. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/updater.py.patch +0 -0
  284. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/ray_patches/worker.py.patch +0 -0
  285. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/skylet.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skylet/subprocess_daemon.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/skypilot_config.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/task.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/aws-ray.yml.j2 +0 -0
  290. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/azure-ray.yml.j2 +0 -0
  291. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/cudo-ray.yml.j2 +0 -0
  292. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/do-ray.yml.j2 +0 -0
  293. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  294. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/gcp-ray.yml.j2 +0 -0
  295. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/ibm-ray.yml.j2 +0 -0
  296. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/jobs-controller.yaml.j2 +0 -0
  297. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  298. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  299. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  300. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  301. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  302. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/lambda-ray.yml.j2 +0 -0
  303. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/local-ray.yml.j2 +0 -0
  304. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/nebius-ray.yml.j2 +0 -0
  305. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/oci-ray.yml.j2 +0 -0
  306. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/paperspace-ray.yml.j2 +0 -0
  307. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/runpod-ray.yml.j2 +0 -0
  308. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/scp-ray.yml.j2 +0 -0
  309. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  310. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  311. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/vast-ray.yml.j2 +0 -0
  312. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/vsphere-ray.yml.j2 +0 -0
  313. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/templates/websocket_proxy.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/usage/__init__.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/usage/constants.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/usage/usage_lib.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/__init__.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/accelerator_registry.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/admin_policy_utils.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/annotations.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/cli_utils/__init__.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/cli_utils/status_utils.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/cluster_utils.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/command_runner.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/command_runner.pyi +0 -0
  326. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/common.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/common_utils.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/config_utils.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/control_master_utils.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/controller_utils.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/dag_utils.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/db_utils.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/env_options.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/__init__.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/create_cluster.sh +0 -0
  336. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  337. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
  338. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  341. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  343. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  344. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  346. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/kubernetes_enums.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/log_utils.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/message_utils.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/registry.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/resources_utils.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/rich_console_utils.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/rich_utils.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/schemas.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/status_lib.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/subprocess_utils.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/timeline.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/ux_utils.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/sky/utils/validator.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
  361. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  362. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  363. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/skypilot_nightly.egg-info/requires.txt +0 -0
  364. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/skypilot_nightly.egg-info/top_level.txt +0 -0
  365. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_api.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_cli.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_config.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_global_user_state.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_jobs.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_jobs_and_serve.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_list_accelerators.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_optimizer_dryruns.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_optimizer_random_dag.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_serve_autoscaler.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_smoke.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_storage.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_wheels.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250406 → skypilot_nightly-1.0.0.dev20250407}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250406
3
+ Version: 1.0.0.dev20250407
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 = '5025c819176d48aa8643fe9ec058158ce2bece9a'
8
+ _SKYPILOT_COMMIT_SHA = 'c5039370280815a3f347e76622dc154ede36d6c3'
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.dev20250406'
38
+ __version__ = '1.0.0.dev20250407'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -43,7 +43,6 @@ class Lambda(clouds.Cloud):
43
43
  clouds.CloudImplementationFeatures.SPOT_INSTANCE: f'Spot instances are not supported in {_REPR}.',
44
44
  clouds.CloudImplementationFeatures.IMAGE_ID: f'Specifying image ID is not supported in {_REPR}.',
45
45
  clouds.CloudImplementationFeatures.CUSTOM_DISK_TIER: f'Custom disk tiers are not supported in {_REPR}.',
46
- clouds.CloudImplementationFeatures.OPEN_PORTS: f'Opening ports is currently not supported on {_REPR}.',
47
46
  clouds.CloudImplementationFeatures.HOST_CONTROLLERS: f'Host controllers are not supported in {_REPR}.',
48
47
  }
49
48
 
@@ -1,12 +1,13 @@
1
- """Lambda instance provisioning."""
1
+ """Lambda Cloud instance provisioning."""
2
2
 
3
3
  import time
4
4
  from typing import Any, Dict, List, Optional
5
5
 
6
6
  from sky import sky_logging
7
7
  from sky.provision import common
8
- import sky.provision.lambda_cloud.lambda_utils as lambda_utils
8
+ from sky.provision.lambda_cloud import lambda_utils
9
9
  from sky.utils import common_utils
10
+ from sky.utils import resources_utils
10
11
  from sky.utils import status_lib
11
12
  from sky.utils import ux_utils
12
13
 
@@ -248,18 +249,102 @@ def query_instances(
248
249
  return statuses
249
250
 
250
251
 
251
- def open_ports(
252
- cluster_name_on_cloud: str,
253
- ports: List[str],
254
- provider_config: Optional[Dict[str, Any]] = None,
255
- ) -> None:
256
- raise NotImplementedError('open_ports is not supported for Lambda Cloud')
257
-
258
-
259
- def cleanup_ports(
260
- cluster_name_on_cloud: str,
261
- ports: List[str],
262
- provider_config: Optional[Dict[str, Any]] = None,
263
- ) -> None:
264
- """See sky/provision/__init__.py"""
252
+ def open_ports(cluster_name_on_cloud: str,
253
+ ports: List[str],
254
+ provider_config: Optional[Dict[str, Any]] = None) -> None:
255
+ """Open firewall ports for Lambda Cloud.
256
+
257
+ Args:
258
+ cluster_name_on_cloud: Cluster name on Lambda Cloud.
259
+ ports: List of ports to open.
260
+ provider_config: Lambda Cloud provider config. Contains the API key.
261
+ """
262
+ if not ports:
263
+ return
264
+
265
+ # Skip port opening for us-south-1 region where it's not supported
266
+ region = None
267
+ if provider_config is not None:
268
+ region = provider_config.get('region')
269
+
270
+ # Skip port opening for us-south-1, as it's not supported by Lambda Cloud
271
+ # https://cloud.lambda.ai/api/v1/docs#get-/api/v1/firewall-rules
272
+ if region == 'us-south-1':
273
+ logger.warning(
274
+ f'Skipping port opening for cluster {cluster_name_on_cloud} in '
275
+ f'us-south-1 region, as firewall rules are not supported there.')
276
+ return
277
+
278
+ del provider_config, cluster_name_on_cloud # No longer needed
279
+
280
+ lambda_client = lambda_utils.LambdaCloudClient()
281
+
282
+ # Get existing rules to avoid duplicates
283
+ existing_rules = lambda_client.list_firewall_rules()
284
+ existing_ports = set()
285
+ for rule in existing_rules:
286
+ port_range = rule.get('port_range')
287
+ if rule.get('protocol') == 'tcp' and port_range is not None:
288
+ if len(port_range) == 1:
289
+ # For single ports
290
+ existing_ports.add(port_range[0])
291
+ elif len(port_range) == 2:
292
+ # For port ranges, add all ports in the range
293
+ existing_ports.update(range(port_range[0], port_range[1] + 1))
294
+
295
+ # Convert port strings to a set of individual ports
296
+ ports_to_open = resources_utils.port_ranges_to_set(ports)
297
+
298
+ # Remove ports that are already open
299
+ ports_to_open = ports_to_open - existing_ports
300
+
301
+ # If no ports need to be opened, return early
302
+ if not ports_to_open:
303
+ return
304
+
305
+ # Convert individual ports to consolidated ranges
306
+ port_ranges = resources_utils.port_set_to_ranges(ports_to_open)
307
+
308
+ # Open port ranges
309
+ for port_range in port_ranges:
310
+ if '-' in port_range:
311
+ # Handle range (e.g., "1000-1010")
312
+ start, end = map(int, port_range.split('-'))
313
+ logger.debug(f'Opening port range {port_range}/tcp')
314
+ try:
315
+ lambda_client.create_firewall_rule(port_range=[start, end],
316
+ protocol='tcp')
317
+ except lambda_utils.LambdaCloudError as e:
318
+ logger.warning(f'Failed to open port range {port_range}: {e}')
319
+ else:
320
+ # Handle single port
321
+ port = int(port_range)
322
+ logger.debug(f'Opening port {port}/tcp')
323
+ try:
324
+ lambda_client.create_firewall_rule(port_range=[port, port],
325
+ protocol='tcp')
326
+ except lambda_utils.LambdaCloudError as e:
327
+ logger.warning(f'Failed to open port {port}: {e}')
328
+
329
+
330
+ def cleanup_ports(cluster_name_on_cloud: str,
331
+ ports: List[str],
332
+ provider_config: Optional[Dict[str, Any]] = None) -> None:
333
+ """Skip cleanup of firewall rules.
334
+
335
+ Lambda Cloud firewall rules are global to the account, not cluster-specific.
336
+ We skip cleanup because rules may be used by other clusters.
337
+
338
+ TODO(zhwu): the firewall rules may accumulate over time, and we may need
339
+ to add a way to automatically clean them up.
340
+
341
+ Args:
342
+ cluster_name_on_cloud: Unused.
343
+ ports: Unused.
344
+ provider_config: Unused.
345
+ """
265
346
  del cluster_name_on_cloud, ports, provider_config # Unused.
347
+
348
+ # Break the long line by splitting it
349
+ logger.info('Skipping cleanup of Lambda Cloud firewall rules '
350
+ 'as they are account-wide.')
@@ -112,6 +112,8 @@ def _try_request_with_backoff(method: str,
112
112
  response = requests.get(url, headers=headers)
113
113
  elif method == 'post':
114
114
  response = requests.post(url, headers=headers, data=data)
115
+ elif method == 'put':
116
+ response = requests.put(url, headers=headers, data=data)
115
117
  else:
116
118
  raise ValueError(f'Unsupported requests method: {method}')
117
119
  # If rate limited, wait and try again
@@ -249,4 +251,86 @@ class LambdaCloudClient:
249
251
  response = _try_request_with_backoff('get',
250
252
  f'{API_ENDPOINT}/instance-types',
251
253
  headers=self.headers)
254
+ return response.json().get('data', {})
255
+
256
+ def list_firewall_rules(self) -> List[Dict[str, Any]]:
257
+ """List firewall rules."""
258
+ response = _try_request_with_backoff('get',
259
+ f'{API_ENDPOINT}/firewall-rules',
260
+ headers=self.headers)
252
261
  return response.json().get('data', [])
262
+
263
+ def create_firewall_rule(self,
264
+ port_range: List[int],
265
+ protocol: str = 'tcp',
266
+ description: str = '') -> Dict[str, Any]:
267
+ """Create a firewall rule.
268
+
269
+ Args:
270
+ port_range: Port range as [min_port, max_port]. For a single port,
271
+ use [port, port].
272
+ protocol: Protocol ('tcp', 'udp', 'icmp', or 'all').
273
+ description: Description for the rule.
274
+
275
+ Returns:
276
+ The created firewall rule.
277
+ """
278
+ # First, get all existing rules
279
+ existing_rules = self.list_firewall_rules()
280
+
281
+ # Convert existing rules to the format expected by the API
282
+ rule_list = []
283
+ for rule in existing_rules:
284
+ if rule.get('protocol') and rule.get('source_network'):
285
+ api_rule = {
286
+ 'protocol': rule.get('protocol'),
287
+ 'source_network': rule.get('source_network'),
288
+ 'description': rule.get('description', '')
289
+ }
290
+
291
+ # Add port_range for non-icmp protocols
292
+ if rule.get('protocol') != 'icmp' and rule.get('port_range'):
293
+ api_rule['port_range'] = rule.get('port_range')
294
+
295
+ rule_list.append(api_rule)
296
+
297
+ # Add our new rule
298
+ new_rule: Dict[str, Any] = {
299
+ 'protocol': protocol,
300
+ 'source_network': '0.0.0.0/0', # Allow from any IP address
301
+ 'description': description or
302
+ ('SkyPilot auto-generated rule for port '
303
+ f'{port_range[0]}-{port_range[1]}/{protocol}')
304
+ }
305
+
306
+ # Add port_range for non-icmp protocols
307
+ if protocol != 'icmp':
308
+ new_rule['port_range'] = port_range
309
+
310
+ # Check if this rule already exists to avoid duplicates
311
+ rule_exists = False
312
+ for rule in rule_list:
313
+ if (rule.get('protocol') == protocol and
314
+ rule.get('source_network') == '0.0.0.0/0'):
315
+ if protocol != 'icmp':
316
+ if rule.get('port_range') == port_range:
317
+ rule_exists = True
318
+ break
319
+ else:
320
+ rule_exists = True
321
+ break
322
+
323
+ # Only add the rule if it doesn't already exist
324
+ if not rule_exists:
325
+ rule_list.append(new_rule)
326
+
327
+ # Create a data structure that matches the API schema
328
+ data = json.dumps({'data': rule_list})
329
+
330
+ response = _try_request_with_backoff(
331
+ 'put', # Using PUT instead of POST as per API documentation
332
+ f'{API_ENDPOINT}/firewall-rules',
333
+ data=data,
334
+ headers=self.headers,
335
+ )
336
+ return response.json().get('data', {})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250406
3
+ Version: 1.0.0.dev20250407
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0