skypilot-nightly 1.0.0.dev20251001__py3-none-any.whl → 1.0.0.dev20251002__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (35) hide show
  1. sky/__init__.py +2 -2
  2. sky/client/cli/command.py +2 -3
  3. sky/client/cli/table_utils.py +222 -1
  4. sky/dashboard/out/404.html +1 -1
  5. sky/dashboard/out/_next/static/chunks/{webpack-4f0c389a4ce5fd9c.js → webpack-7340bc0f0dd8ae74.js} +1 -1
  6. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  7. sky/dashboard/out/clusters/[cluster].html +1 -1
  8. sky/dashboard/out/clusters.html +1 -1
  9. sky/dashboard/out/config.html +1 -1
  10. sky/dashboard/out/index.html +1 -1
  11. sky/dashboard/out/infra/[context].html +1 -1
  12. sky/dashboard/out/infra.html +1 -1
  13. sky/dashboard/out/jobs/[job].html +1 -1
  14. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  15. sky/dashboard/out/jobs.html +1 -1
  16. sky/dashboard/out/users.html +1 -1
  17. sky/dashboard/out/volumes.html +1 -1
  18. sky/dashboard/out/workspace/new.html +1 -1
  19. sky/dashboard/out/workspaces/[name].html +1 -1
  20. sky/dashboard/out/workspaces.html +1 -1
  21. sky/provision/kubernetes/utils.py +50 -28
  22. sky/schemas/api/responses.py +21 -0
  23. sky/server/requests/serializers/decoders.py +8 -0
  24. sky/server/requests/serializers/encoders.py +6 -0
  25. sky/volumes/client/sdk.py +3 -2
  26. sky/volumes/server/core.py +3 -2
  27. {skypilot_nightly-1.0.0.dev20251001.dist-info → skypilot_nightly-1.0.0.dev20251002.dist-info}/METADATA +36 -36
  28. {skypilot_nightly-1.0.0.dev20251001.dist-info → skypilot_nightly-1.0.0.dev20251002.dist-info}/RECORD +34 -35
  29. sky/volumes/utils.py +0 -224
  30. /sky/dashboard/out/_next/static/{m3YT2i5s6v4SsIdYc8WZa → 16g0-hgEgk6Db72hpE8MY}/_buildManifest.js +0 -0
  31. /sky/dashboard/out/_next/static/{m3YT2i5s6v4SsIdYc8WZa → 16g0-hgEgk6Db72hpE8MY}/_ssgManifest.js +0 -0
  32. {skypilot_nightly-1.0.0.dev20251001.dist-info → skypilot_nightly-1.0.0.dev20251002.dist-info}/WHEEL +0 -0
  33. {skypilot_nightly-1.0.0.dev20251001.dist-info → skypilot_nightly-1.0.0.dev20251002.dist-info}/entry_points.txt +0 -0
  34. {skypilot_nightly-1.0.0.dev20251001.dist-info → skypilot_nightly-1.0.0.dev20251002.dist-info}/licenses/LICENSE +0 -0
  35. {skypilot_nightly-1.0.0.dev20251001.dist-info → skypilot_nightly-1.0.0.dev20251002.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,5 @@
1
1
  """Kubernetes utilities for SkyPilot."""
2
+ import collections
2
3
  import copy
3
4
  import dataclasses
4
5
  import datetime
@@ -3117,14 +3118,6 @@ def get_kubernetes_node_info(
3117
3118
  information.
3118
3119
  """
3119
3120
  nodes = get_kubernetes_nodes(context=context)
3120
- # Get the pods to get the real-time resource usage
3121
- try:
3122
- pods = get_all_pods_in_kubernetes_cluster(context=context)
3123
- except kubernetes.api_exception() as e:
3124
- if e.status == 403:
3125
- pods = None
3126
- else:
3127
- raise
3128
3121
 
3129
3122
  lf, _ = detect_gpu_label_formatter(context)
3130
3123
  if not lf:
@@ -3132,6 +3125,46 @@ def get_kubernetes_node_info(
3132
3125
  else:
3133
3126
  label_keys = lf.get_label_keys()
3134
3127
 
3128
+ # Check if all nodes have no accelerators to avoid fetching pods
3129
+ any_node_has_accelerators = False
3130
+ for node in nodes:
3131
+ accelerator_count = get_node_accelerator_count(context,
3132
+ node.status.allocatable)
3133
+ if accelerator_count > 0:
3134
+ any_node_has_accelerators = True
3135
+ break
3136
+
3137
+ # Get the pods to get the real-time resource usage
3138
+ pods = None
3139
+ allocated_qty_by_node: Dict[str, int] = collections.defaultdict(int)
3140
+ if any_node_has_accelerators:
3141
+ try:
3142
+ pods = get_all_pods_in_kubernetes_cluster(context=context)
3143
+ # Pre-compute allocated accelerator count per node
3144
+ for pod in pods:
3145
+ if pod.status.phase in ['Running', 'Pending']:
3146
+ # Skip pods that should not count against GPU count
3147
+ if should_exclude_pod_from_gpu_allocation(pod):
3148
+ logger.debug(f'Excluding low priority pod '
3149
+ f'{pod.metadata.name} from GPU allocation '
3150
+ f'calculations')
3151
+ continue
3152
+ # Iterate over all the containers in the pod and sum the
3153
+ # GPU requests
3154
+ pod_allocated_qty = 0
3155
+ for container in pod.spec.containers:
3156
+ if container.resources.requests:
3157
+ pod_allocated_qty += get_node_accelerator_count(
3158
+ context, container.resources.requests)
3159
+ if pod_allocated_qty > 0:
3160
+ allocated_qty_by_node[
3161
+ pod.spec.node_name] += pod_allocated_qty
3162
+ except kubernetes.api_exception() as e:
3163
+ if e.status == 403:
3164
+ pass
3165
+ else:
3166
+ raise
3167
+
3135
3168
  node_info_dict: Dict[str, models.KubernetesNodeInfo] = {}
3136
3169
  has_multi_host_tpu = False
3137
3170
 
@@ -3161,32 +3194,21 @@ def get_kubernetes_node_info(
3161
3194
  node_ip = address.address
3162
3195
  break
3163
3196
 
3164
- allocated_qty = 0
3165
3197
  accelerator_count = get_node_accelerator_count(context,
3166
3198
  node.status.allocatable)
3199
+ if accelerator_count == 0:
3200
+ node_info_dict[node.metadata.name] = models.KubernetesNodeInfo(
3201
+ name=node.metadata.name,
3202
+ accelerator_type=accelerator_name,
3203
+ total={'accelerator_count': 0},
3204
+ free={'accelerators_available': 0},
3205
+ ip_address=node_ip)
3206
+ continue
3167
3207
 
3168
3208
  if pods is None:
3169
3209
  accelerators_available = -1
3170
-
3171
3210
  else:
3172
- for pod in pods:
3173
- # Get all the pods running on the node
3174
- if (pod.spec.node_name == node.metadata.name and
3175
- pod.status.phase in ['Running', 'Pending']):
3176
- # Skip pods that should not count against GPU count
3177
- if should_exclude_pod_from_gpu_allocation(pod):
3178
- logger.debug(
3179
- f'Excluding low priority pod '
3180
- f'{pod.metadata.name} from GPU allocation '
3181
- f'calculations on node {node.metadata.name}')
3182
- continue
3183
- # Iterate over all the containers in the pod and sum the
3184
- # GPU requests
3185
- for container in pod.spec.containers:
3186
- if container.resources.requests:
3187
- allocated_qty += get_node_accelerator_count(
3188
- context, container.resources.requests)
3189
-
3211
+ allocated_qty = allocated_qty_by_node[node.metadata.name]
3190
3212
  accelerators_available = accelerator_count - allocated_qty
3191
3213
 
3192
3214
  # Exclude multi-host TPUs from being processed.
@@ -198,3 +198,24 @@ class ManagedJobRecord(ResponseBaseModel):
198
198
  current_cluster_name: Optional[str] = None
199
199
  job_id_on_pool_cluster: Optional[int] = None
200
200
  accelerators: Optional[Dict[str, int]] = None
201
+
202
+
203
+ class VolumeRecord(ResponseBaseModel):
204
+ """A single volume record."""
205
+ name: str
206
+ type: str
207
+ launched_at: int
208
+ cloud: str
209
+ region: str
210
+ zone: Optional[str] = None
211
+ size: str
212
+ config: Dict[str, Any]
213
+ name_on_cloud: str
214
+ user_hash: str
215
+ user_name: str
216
+ workspace: str
217
+ last_attached_at: Optional[int] = None
218
+ last_use: Optional[str] = None
219
+ status: Optional[str] = None
220
+ usedby_pods: List[str]
221
+ usedby_clusters: List[str]
@@ -195,6 +195,14 @@ def decode_storage_ls(
195
195
  ]
196
196
 
197
197
 
198
+ @register_decoders('volume_list')
199
+ def decode_volume_list(
200
+ return_value: List[Dict[str, Any]]) -> List[responses.VolumeRecord]:
201
+ return [
202
+ responses.VolumeRecord(**volume_info) for volume_info in return_value
203
+ ]
204
+
205
+
198
206
  @register_decoders('job_status')
199
207
  def decode_job_status(
200
208
  return_value: Dict[str, Optional[str]]
@@ -211,6 +211,12 @@ def encode_storage_ls(
211
211
  return [storage_info.model_dump() for storage_info in return_value]
212
212
 
213
213
 
214
+ @register_encoder('volume_list')
215
+ def encode_volume_list(
216
+ return_value: List[responses.VolumeRecord]) -> List[Dict[str, Any]]:
217
+ return [volume_info.model_dump() for volume_info in return_value]
218
+
219
+
214
220
  @register_encoder('job_status')
215
221
  def encode_job_status(return_value: Dict[int, Any]) -> Dict[int, str]:
216
222
  for job_id in return_value.keys():
sky/volumes/client/sdk.py CHANGED
@@ -1,11 +1,12 @@
1
1
  """SDK functions for managed jobs."""
2
2
  import json
3
3
  import typing
4
- from typing import Any, Dict, List
4
+ from typing import List
5
5
 
6
6
  from sky import exceptions
7
7
  from sky import sky_logging
8
8
  from sky.adaptors import common as adaptors_common
9
+ from sky.schemas.api import responses
9
10
  from sky.server import common as server_common
10
11
  from sky.server import versions
11
12
  from sky.server.requests import payloads
@@ -116,7 +117,7 @@ def validate(volume: volume_lib.Volume) -> None:
116
117
  @usage_lib.entrypoint
117
118
  @server_common.check_server_healthy_or_start
118
119
  @annotations.client_api
119
- def ls() -> server_common.RequestId[List[Dict[str, Any]]]:
120
+ def ls() -> server_common.RequestId[List[responses.VolumeRecord]]:
120
121
  """Lists all volumes.
121
122
 
122
123
  Returns:
@@ -11,6 +11,7 @@ from sky import global_user_state
11
11
  from sky import models
12
12
  from sky import provision
13
13
  from sky import sky_logging
14
+ from sky.schemas.api import responses
14
15
  from sky.utils import common_utils
15
16
  from sky.utils import registry
16
17
  from sky.utils import rich_utils
@@ -56,7 +57,7 @@ def volume_refresh():
56
57
  volume_name, status=status_lib.VolumeStatus.IN_USE)
57
58
 
58
59
 
59
- def volume_list() -> List[Dict[str, Any]]:
60
+ def volume_list() -> List[responses.VolumeRecord]:
60
61
  """Gets the volumes.
61
62
 
62
63
  Returns:
@@ -143,7 +144,7 @@ def volume_list() -> List[Dict[str, Any]]:
143
144
  record['name_on_cloud'] = config.name_on_cloud
144
145
  record['usedby_pods'] = usedby_pods
145
146
  record['usedby_clusters'] = usedby_clusters
146
- records.append(record)
147
+ records.append(responses.VolumeRecord(**record))
147
148
  return records
148
149
 
149
150
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20251001
3
+ Version: 1.0.0.dev20251002
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -154,51 +154,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
154
154
  Requires-Dist: aiosqlite; extra == "server"
155
155
  Requires-Dist: greenlet; extra == "server"
156
156
  Provides-Extra: all
157
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
158
- Requires-Dist: pydo>=0.3.0; extra == "all"
159
- Requires-Dist: azure-core>=1.24.0; extra == "all"
160
- Requires-Dist: anyio; extra == "all"
161
157
  Requires-Dist: casbin; extra == "all"
162
- Requires-Dist: colorama<0.4.5; extra == "all"
163
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
164
- Requires-Dist: google-cloud-storage; extra == "all"
165
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
158
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
159
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
166
160
  Requires-Dist: ray[default]>=2.6.1; extra == "all"
167
- Requires-Dist: ibm-vpc; extra == "all"
168
- Requires-Dist: awscli>=1.27.10; extra == "all"
169
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
161
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
170
162
  Requires-Dist: passlib; extra == "all"
171
163
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
172
- Requires-Dist: ibm-cos-sdk; extra == "all"
173
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
174
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
175
164
  Requires-Dist: nebius>=0.2.47; extra == "all"
176
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
177
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
178
- Requires-Dist: pyjwt; extra == "all"
179
- Requires-Dist: azure-core>=1.31.0; extra == "all"
180
- Requires-Dist: msrestazure; extra == "all"
181
- Requires-Dist: azure-common; extra == "all"
182
- Requires-Dist: runpod>=1.6.1; extra == "all"
165
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
183
166
  Requires-Dist: tomli; python_version < "3.11" and extra == "all"
184
- Requires-Dist: websockets; extra == "all"
185
- Requires-Dist: python-dateutil; extra == "all"
186
- Requires-Dist: aiohttp; extra == "all"
187
- Requires-Dist: greenlet; extra == "all"
188
- Requires-Dist: docker; extra == "all"
189
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
190
- Requires-Dist: sqlalchemy_adapter; extra == "all"
191
- Requires-Dist: msgraph-sdk; extra == "all"
167
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
168
+ Requires-Dist: runpod>=1.6.1; extra == "all"
169
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
170
+ Requires-Dist: pydo>=0.3.0; extra == "all"
171
+ Requires-Dist: oci; extra == "all"
192
172
  Requires-Dist: botocore>=1.29.10; extra == "all"
193
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
194
- Requires-Dist: boto3>=1.26.1; extra == "all"
195
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
173
+ Requires-Dist: websockets; extra == "all"
196
174
  Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
175
+ Requires-Dist: msrestazure; extra == "all"
176
+ Requires-Dist: azure-common; extra == "all"
177
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
197
178
  Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
198
- Requires-Dist: grpcio>=1.63.0; extra == "all"
179
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
180
+ Requires-Dist: ibm-cos-sdk; extra == "all"
199
181
  Requires-Dist: aiosqlite; extra == "all"
200
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
201
- Requires-Dist: oci; extra == "all"
182
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
183
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
184
+ Requires-Dist: awscli>=1.27.10; extra == "all"
185
+ Requires-Dist: pyjwt; extra == "all"
186
+ Requires-Dist: docker; extra == "all"
187
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
188
+ Requires-Dist: aiohttp; extra == "all"
189
+ Requires-Dist: boto3>=1.26.1; extra == "all"
190
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
191
+ Requires-Dist: google-cloud-storage; extra == "all"
192
+ Requires-Dist: ibm-vpc; extra == "all"
193
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
194
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
195
+ Requires-Dist: anyio; extra == "all"
196
+ Requires-Dist: greenlet; extra == "all"
197
+ Requires-Dist: python-dateutil; extra == "all"
198
+ Requires-Dist: colorama<0.4.5; extra == "all"
199
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
200
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
201
+ Requires-Dist: msgraph-sdk; extra == "all"
202
202
  Dynamic: author
203
203
  Dynamic: classifier
204
204
  Dynamic: description
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=uhgbA5vp1v_m0gwTOvJqXalBOJ1Y_YhEBESmQcO2UV8,6713
1
+ sky/__init__.py,sha256=nMC8gkI6jwgRQgL3S_BincyuzBdKIM206s8my9xVaTI,6713
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=xWdnHD4b172-FPTcVFmRhYvt_JNVLYvgFkaFS5qvs-k,28210
4
4
  sky/check.py,sha256=hBDTkiADC3HFfO6brZV819FVWcdOs3aiuhB6x6mY4Q4,29728
@@ -87,10 +87,10 @@ sky/client/sdk.py,sha256=IwdheaffnHmmjEDzvqhrDuH8jPBlCYMrBjLYa4RL2O0,107259
87
87
  sky/client/sdk_async.py,sha256=8G_E9Dn4d80rV-wxRH4zZUXZGAm6rLw3C8PI07fXwwQ,31106
88
88
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
89
89
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- sky/client/cli/command.py,sha256=gBSsNDmQj_cYb19MVWq5-NsmYBXLsUOqaKdXFleJSA0,250855
90
+ sky/client/cli/command.py,sha256=FBYtW17BNPNBHRipWsBMrzeKj8OCxM-A6QN2msaZq7o,250804
91
91
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
92
92
  sky/client/cli/flags.py,sha256=lLXHooU4HEslbHJuGAiCrKYkJZx99hAKaJbstw7s1bc,12136
93
- sky/client/cli/table_utils.py,sha256=Ge_0Ixd4nhYzSrzN1ObnCpyR_6G1zIEkm7isacdXQOU,2817
93
+ sky/client/cli/table_utils.py,sha256=HT_y__9_tZLKJ0aJu-hh67cu3NXfWDoiHir5fTmWaDw,10156
94
94
  sky/clouds/__init__.py,sha256=hX6oZM4U6WuXQclg9-8mP2OAeFbzTbaVuPzJxqudKIc,1750
95
95
  sky/clouds/aws.py,sha256=PrvbWuSAkPC18HsLVHx8NBJQiduz32NpDm1XXr6NPLo,63737
96
96
  sky/clouds/azure.py,sha256=qnabVjfS3em-TvxOIqZ6mMiipnt51MBVf7R0pnyB7bo,33233
@@ -119,17 +119,19 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
119
119
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
120
120
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
121
121
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
122
- sky/dashboard/out/404.html,sha256=40w-4KLmQAkRKpY9QUrCd4-TWe6S2xUQ3Iexn3fMgNc,1423
123
- sky/dashboard/out/clusters.html,sha256=g8e05f1pihQJMgjeMda8zyPQQWtfLdN2z17f-nzX0fo,1418
124
- sky/dashboard/out/config.html,sha256=MuL2Z8v-pUtlr7sl8phoiHjCDFo10kRrsM33OuJm4IA,1414
122
+ sky/dashboard/out/404.html,sha256=xPuLcuzkNwxUxwL0A9WU4ohiurrxxYC99HrMG2S7unU,1423
123
+ sky/dashboard/out/clusters.html,sha256=kzlxfvfDnd956s4CM_-fBYSGrq6RXn9gn67bOFzE9Jk,1418
124
+ sky/dashboard/out/config.html,sha256=IzCOdv9I2T2_ry-OwxlUA6gGJRlQucjaJy213T5-GxE,1414
125
125
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
126
- sky/dashboard/out/index.html,sha256=nSVt3EIAaOxlM82cbJg2R_UwN_tf90mIv57o4nk5qWY,1407
127
- sky/dashboard/out/infra.html,sha256=r_2UM0FgkMAr7aGPFdGl5MMXvzydaysMqmejSchmv3g,1412
128
- sky/dashboard/out/jobs.html,sha256=h933IWYnAD5IV6yEGovIJhlu0MKZKKSP1dH1mY1SnRw,1410
126
+ sky/dashboard/out/index.html,sha256=6LtAMwUL3HTcuj9RmQJM1esUVXovUAcsAO2Jt72gCdY,1407
127
+ sky/dashboard/out/infra.html,sha256=keqc8bKIwoNV2ViZ82ifWWnf7pydRts65VQinOXTw_A,1412
128
+ sky/dashboard/out/jobs.html,sha256=jpzr-tP9NkW2iot2sWBEJlHTO9gexNtXoWzJSV1HKhU,1410
129
129
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
130
- sky/dashboard/out/users.html,sha256=Yf2O50YCuBlBaNLAwPW6qONZSIaXYQ6AXCIAtBiXhDI,1412
131
- sky/dashboard/out/volumes.html,sha256=f3cg6FJqQKqCxQBIlSPHQA6E5Nc-Tu-7g5gaFbfLvxM,1416
132
- sky/dashboard/out/workspaces.html,sha256=uU9fIpPmfhcocw3YwPR9pZ_Q0MolXTMI6BPr_bZZfx0,1422
130
+ sky/dashboard/out/users.html,sha256=2G4F2coIOFa7aeGdJqw4R8JfDyx2GesPcCotEv9z4Kc,1412
131
+ sky/dashboard/out/volumes.html,sha256=qLJcuaVujo5NFoDJA4ht40QKMYzQG-YOBLSkURlX0Rc,1416
132
+ sky/dashboard/out/workspaces.html,sha256=W0WSU4jzH9dQikYXh_lo8_pz1h-023Kt7oSuXDAW2ZI,1422
133
+ sky/dashboard/out/_next/static/16g0-hgEgk6Db72hpE8MY/_buildManifest.js,sha256=mMC3UH_Lvw0kpZIoqEC4oqGNdMpV9qsiBQ_VWHw0QKI,2428
134
+ sky/dashboard/out/_next/static/16g0-hgEgk6Db72hpE8MY/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
133
135
  sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js,sha256=jIvnDxaTleAz3HdZK9-RScSB0ZMg8-D63KQmn8avaHI,8883
134
136
  sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js,sha256=kdYh_Ek9hdib5emC7Iezojh3qASBnOIUHH5zX_ScR0U,17355
135
137
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
@@ -165,7 +167,7 @@ sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_Qbam
165
167
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
166
168
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
167
169
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
168
- sky/dashboard/out/_next/static/chunks/webpack-4f0c389a4ce5fd9c.js,sha256=ws-9Y6R8JlOXSNjCLew2W4IMdualdGVo_KprA_CzAPo,4742
170
+ sky/dashboard/out/_next/static/chunks/webpack-7340bc0f0dd8ae74.js,sha256=EpKuvzgsBBWhS84bdvKFoFLQYaFMoowRmSZD8ojB3f4,4742
169
171
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
170
172
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
171
173
  sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
@@ -184,16 +186,14 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-509b2977a6373bf6.j
184
186
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
185
187
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js,sha256=cGCpDszMI6ckUHVelwAh9ZVk1erfz_UXSLz9GCqGUAE,1495
186
188
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
187
- sky/dashboard/out/_next/static/m3YT2i5s6v4SsIdYc8WZa/_buildManifest.js,sha256=mMC3UH_Lvw0kpZIoqEC4oqGNdMpV9qsiBQ_VWHw0QKI,2428
188
- sky/dashboard/out/_next/static/m3YT2i5s6v4SsIdYc8WZa/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
189
- sky/dashboard/out/clusters/[cluster].html,sha256=G8xRyn_aaS5EvNMehcTyI8TH6h34ULUAhDmusuq0U7M,2936
190
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=nFuENj32jm8afuAsABeEo3n4jCBnHIp8wDWTPmtem70,2073
191
- sky/dashboard/out/infra/[context].html,sha256=XsIjnZcfrci1mibZJNqXsXJbK88fR-FCgCNm6L_yuFw,1436
192
- sky/dashboard/out/jobs/[job].html,sha256=7hyl5cKq214FX87R8Lsge4PM4pguCnqeoM8f49pchhA,2304
193
- sky/dashboard/out/jobs/pools/[pool].html,sha256=fe-Q2gIuIxy1yuZuK-sPknafiESC5amEA1md3JGs4OU,2142
189
+ sky/dashboard/out/clusters/[cluster].html,sha256=Vz4m_srz-dx7C1QQgzlkX8H0TquKzaqu9mfNqe6wH_I,2936
190
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=kIkcWVv-jRgxmBfgI1zjBxCvOlMkiule1MB1xFSfHl0,2073
191
+ sky/dashboard/out/infra/[context].html,sha256=Ky0Ml2pJMSyQqKKPh56EDCR2quPtYuALB--Jzqt1NsE,1436
192
+ sky/dashboard/out/jobs/[job].html,sha256=rJIcyDeHdpTkVt8-FfXXlsBDD6-ZC6gZW9C5e_YNsgM,2304
193
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=YXKz0phFAiGGHSdzfC7gZYBjdqVskn2_3XVZTgxLI1A,2142
194
194
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
195
- sky/dashboard/out/workspace/new.html,sha256=ElrQh5XCkPvCgwnzuqlWUV-hpOYDpUfuwaeUepsz7c8,1428
196
- sky/dashboard/out/workspaces/[name].html,sha256=qshiY0Lu69hpF_wm51WnWSZkuuwGTZbS4oEYXUlVl04,2759
195
+ sky/dashboard/out/workspace/new.html,sha256=pkvuikcDcOc5N1sPdeJrngSOhUatL2afBCO9v_fm2kk,1428
196
+ sky/dashboard/out/workspaces/[name].html,sha256=xaM0lQcg9R3qORztI5SmC2MHnhxnljB8dkWdcYPEBPs,2759
197
197
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
198
198
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
199
199
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -268,7 +268,7 @@ sky/provision/kubernetes/constants.py,sha256=vZJQsAVjAgwsOskB48tIFSXtNw7IFnJOQE_
268
268
  sky/provision/kubernetes/instance.py,sha256=HvdJvh-BD41xvw8KcJ1ykcv9r1hLdPPwheUjyVZbWHs,77947
269
269
  sky/provision/kubernetes/network.py,sha256=Dgj8u7IQBHKHt-mSDhYzue1wfDk96FR_8fO89TwuZ2E,12846
270
270
  sky/provision/kubernetes/network_utils.py,sha256=XYgZ6BEO-YB2o3Y_eXgr2Czk9wxGdWSs0mEJnpLU77Q,12256
271
- sky/provision/kubernetes/utils.py,sha256=zYdoevehd-sax0yBe3SY5b8gYcw8USp-C3WvXcsvITk,160499
271
+ sky/provision/kubernetes/utils.py,sha256=YZfFiuI6JJVtDUp25YvVABvCRQjXQvJQ98QzQedoS-8,161542
272
272
  sky/provision/kubernetes/volume.py,sha256=b5mozvUCw9rsGxiUS9LxR-MyELK-EQHYglJkGTFNobY,11473
273
273
  sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=S87GNAbDqgTrLuxF-afPAqQ0V-i41El4s_9KBZMuaag,1331
274
274
  sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
@@ -329,7 +329,7 @@ sky/provision/vsphere/common/vapiconnect.py,sha256=piU29ZfdYCJQMV5n-5J0EQ8G56AWO
329
329
  sky/provision/vsphere/common/vim_utils.py,sha256=TjDgxIzV5Iuc5j1aFNL3NpaOwS0KKXhEUEwq7dzQT-s,17849
330
330
  sky/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
331
  sky/schemas/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
332
- sky/schemas/api/responses.py,sha256=WUIilZ8AF1mqNNXqYPbX8IFVpueee6ZF7-6GTpNZBp0,6302
332
+ sky/schemas/api/responses.py,sha256=4KEvw8-lhI81JPRK3gw5Y4AgYJNOqi0bYHPO0KzuiKA,6778
333
333
  sky/schemas/db/README,sha256=M93NBw29groxXu-Gy7sgqSyxpppXpRBbXxEXANLhVCo,122
334
334
  sky/schemas/db/env.py,sha256=T-2a00Z9RcaIqcMu90R-RNA_lCutsWBRopDy4LQFnoM,2918
335
335
  sky/schemas/db/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704
@@ -408,8 +408,8 @@ sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
408
408
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
409
409
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
410
410
  sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
411
- sky/server/requests/serializers/decoders.py,sha256=wtdu0TRtk7BCdRF0cjd1GDp9jt-XDiSjEM_mre4RyOM,7967
412
- sky/server/requests/serializers/encoders.py,sha256=CRvLOgeaC6r6koENwOSjysd_dtaHhn9No8pjEMO3Y_U,8219
411
+ sky/server/requests/serializers/decoders.py,sha256=4V3muIPH_QU_CfGyoHD99IXuJbKZKZ6rhmA7S-N2L58,8201
412
+ sky/server/requests/serializers/encoders.py,sha256=kEGUqUDx5mpc2DBxhzcGrSP325R1aMPg5NXUVScXfUs,8425
413
413
  sky/setup_files/MANIFEST.in,sha256=4gbgHHwSdP6BbMJv5XOt-2K6wUVWF_T9CGsdESvh918,776
414
414
  sky/setup_files/alembic.ini,sha256=854_UKvCaFmZ8vI16tSHbGgP9IMFQ42Td6c9Zmn2Oxs,5079
415
415
  sky/setup_files/dependencies.py,sha256=sgsKCFkGlZXFm1xi50X9TvwM4L_pIhxls-ySAbfZJ94,8888
@@ -556,20 +556,19 @@ sky/utils/kubernetes/ssh-tunnel.sh,sha256=60eHKF7phJe9pFEkGlqdwWzI80tpog8QCkL7fA
556
556
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
557
557
  sky/utils/kubernetes/ssh_utils.py,sha256=hPV2gU6j3j1aVf8kFvkux_KE88R5j8-JUDEopG6v70o,9046
558
558
  sky/volumes/__init__.py,sha256=oy7JTgRXxkK2nOOF-OWivr0xeSL1-Syz703kZEuUnn0,241
559
- sky/volumes/utils.py,sha256=rBUDbR2nGmoreVXGs_6DbxHKzp9Yyg36eTnsqo4JKQk,7408
560
559
  sky/volumes/volume.py,sha256=8K0EfriVslXmVnbIj0FJEv0TAoCvUpls9pSrdLAMujc,7842
561
560
  sky/volumes/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
562
- sky/volumes/client/sdk.py,sha256=o6facpXM6s2CYxTeVsKgkeGoXYMBK84HfYTBLnFkhCA,4148
561
+ sky/volumes/client/sdk.py,sha256=VNZPmx09FSSpn7oVoYWtiY71DLA3BBhM1XXlAWipJmU,4183
563
562
  sky/volumes/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
564
- sky/volumes/server/core.py,sha256=IqqcmZiPo46Kz_69_P2pHubhXvwIDPYidRajil3Or5Q,9902
563
+ sky/volumes/server/core.py,sha256=ZdKcedOZQEZYT-s-4qQIce5KgIw5AfVNLaPnsIblZkg,9974
565
564
  sky/volumes/server/server.py,sha256=eCRCygyGeaTkrae7gxjscqTpJ3EaaRjS_mnsHBkrR5E,4552
566
565
  sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
567
566
  sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
568
567
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
569
568
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
570
- skypilot_nightly-1.0.0.dev20251001.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
571
- skypilot_nightly-1.0.0.dev20251001.dist-info/METADATA,sha256=nLFK6TlUbpVk6UaQsUOAUbZsSQffvLEe0_JbW2i2Ixs,20433
572
- skypilot_nightly-1.0.0.dev20251001.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
573
- skypilot_nightly-1.0.0.dev20251001.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
574
- skypilot_nightly-1.0.0.dev20251001.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
575
- skypilot_nightly-1.0.0.dev20251001.dist-info/RECORD,,
569
+ skypilot_nightly-1.0.0.dev20251002.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
570
+ skypilot_nightly-1.0.0.dev20251002.dist-info/METADATA,sha256=8KvNYdvi3kOUMSKDzsJFwdooROQr66sZj0uFXOwcKZw,20433
571
+ skypilot_nightly-1.0.0.dev20251002.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
572
+ skypilot_nightly-1.0.0.dev20251002.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
573
+ skypilot_nightly-1.0.0.dev20251002.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
574
+ skypilot_nightly-1.0.0.dev20251002.dist-info/RECORD,,