skypilot-nightly 1.0.0.dev20251027__py3-none-any.whl → 1.0.0.dev20251101__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 (114) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/aws.py +25 -7
  3. sky/adaptors/coreweave.py +278 -0
  4. sky/backends/backend_utils.py +9 -6
  5. sky/backends/cloud_vm_ray_backend.py +2 -3
  6. sky/check.py +25 -13
  7. sky/client/cli/command.py +52 -24
  8. sky/cloud_stores.py +73 -0
  9. sky/clouds/aws.py +59 -11
  10. sky/core.py +7 -5
  11. sky/dashboard/out/404.html +1 -1
  12. sky/dashboard/out/_next/static/{YP5Vc3ROcDnTGta0XAhcs → 8ixeA0NVQJN8HUdijid8b}/_buildManifest.js +1 -1
  13. sky/dashboard/out/_next/static/chunks/{1141-d5204f35a3388bf4.js → 1141-c3c10e2c6ed71a8f.js} +1 -1
  14. sky/dashboard/out/_next/static/chunks/2755.d6dc6d530fed0b61.js +26 -0
  15. sky/dashboard/out/_next/static/chunks/3294.87a13fba0058865b.js +1 -0
  16. sky/dashboard/out/_next/static/chunks/{3785.538eb23a098fc304.js → 3785.170be320e0060eaf.js} +1 -1
  17. sky/dashboard/out/_next/static/chunks/4282-49b2065b7336e496.js +1 -0
  18. sky/dashboard/out/_next/static/chunks/7615-80aa7b09f45a86d2.js +1 -0
  19. sky/dashboard/out/_next/static/chunks/8969-4ed9236db997b42b.js +1 -0
  20. sky/dashboard/out/_next/static/chunks/9360.10a3aac7aad5e3aa.js +31 -0
  21. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-ac4a217f17b087cb.js +16 -0
  22. sky/dashboard/out/_next/static/chunks/pages/clusters/{[cluster]-fbf2907ce2bb67e2.js → [cluster]-1704039ccaf997cf.js} +1 -1
  23. sky/dashboard/out/_next/static/chunks/pages/{jobs-0dc34cf9a8710a9f.js → jobs-7eee823559e5cf9f.js} +1 -1
  24. sky/dashboard/out/_next/static/chunks/pages/{users-96d6b8bb2dec055f.js → users-2b172f13f8538a7a.js} +1 -1
  25. sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-fb1b4d3bfb047cad.js → [name]-bbfe5860c93470fd.js} +1 -1
  26. sky/dashboard/out/_next/static/chunks/pages/{workspaces-6fc994fa1ee6c6bf.js → workspaces-1891376c08050940.js} +1 -1
  27. sky/dashboard/out/_next/static/chunks/{webpack-585d805f693dbceb.js → webpack-e38d5319cd10a3a0.js} +1 -1
  28. sky/dashboard/out/_next/static/css/0748ce22df867032.css +3 -0
  29. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  30. sky/dashboard/out/clusters/[cluster].html +1 -1
  31. sky/dashboard/out/clusters.html +1 -1
  32. sky/dashboard/out/config.html +1 -1
  33. sky/dashboard/out/index.html +1 -1
  34. sky/dashboard/out/infra/[context].html +1 -1
  35. sky/dashboard/out/infra.html +1 -1
  36. sky/dashboard/out/jobs/[job].html +1 -1
  37. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  38. sky/dashboard/out/jobs.html +1 -1
  39. sky/dashboard/out/users.html +1 -1
  40. sky/dashboard/out/volumes.html +1 -1
  41. sky/dashboard/out/workspace/new.html +1 -1
  42. sky/dashboard/out/workspaces/[name].html +1 -1
  43. sky/dashboard/out/workspaces.html +1 -1
  44. sky/data/data_utils.py +92 -1
  45. sky/data/mounting_utils.py +71 -2
  46. sky/data/storage.py +166 -9
  47. sky/global_user_state.py +14 -18
  48. sky/jobs/constants.py +2 -0
  49. sky/jobs/controller.py +62 -67
  50. sky/jobs/file_content_utils.py +80 -0
  51. sky/jobs/log_gc.py +201 -0
  52. sky/jobs/scheduler.py +15 -2
  53. sky/jobs/server/core.py +85 -13
  54. sky/jobs/server/server.py +14 -13
  55. sky/jobs/server/utils.py +28 -10
  56. sky/jobs/state.py +216 -40
  57. sky/jobs/utils.py +65 -28
  58. sky/metrics/utils.py +18 -0
  59. sky/optimizer.py +1 -1
  60. sky/provision/kubernetes/instance.py +88 -19
  61. sky/provision/kubernetes/volume.py +2 -2
  62. sky/schemas/api/responses.py +3 -5
  63. sky/schemas/db/spot_jobs/004_job_file_contents.py +42 -0
  64. sky/schemas/db/spot_jobs/005_logs_gc.py +38 -0
  65. sky/schemas/generated/managed_jobsv1_pb2.py +39 -35
  66. sky/schemas/generated/managed_jobsv1_pb2.pyi +21 -5
  67. sky/serve/replica_managers.py +2 -2
  68. sky/serve/serve_utils.py +9 -2
  69. sky/serve/server/server.py +8 -7
  70. sky/server/common.py +21 -15
  71. sky/server/constants.py +1 -1
  72. sky/server/daemons.py +23 -17
  73. sky/server/requests/executor.py +7 -3
  74. sky/server/requests/payloads.py +2 -0
  75. sky/server/requests/request_names.py +80 -0
  76. sky/server/requests/requests.py +137 -102
  77. sky/server/requests/serializers/decoders.py +0 -6
  78. sky/server/requests/serializers/encoders.py +33 -6
  79. sky/server/server.py +105 -36
  80. sky/server/stream_utils.py +56 -13
  81. sky/setup_files/dependencies.py +2 -0
  82. sky/skylet/constants.py +6 -1
  83. sky/skylet/events.py +7 -0
  84. sky/skylet/services.py +18 -7
  85. sky/ssh_node_pools/server.py +5 -4
  86. sky/task.py +14 -42
  87. sky/templates/kubernetes-ray.yml.j2 +1 -1
  88. sky/templates/nebius-ray.yml.j2 +1 -0
  89. sky/templates/websocket_proxy.py +140 -12
  90. sky/users/permission.py +4 -1
  91. sky/utils/cli_utils/status_utils.py +8 -2
  92. sky/utils/context_utils.py +13 -1
  93. sky/utils/db/migration_utils.py +1 -1
  94. sky/utils/resource_checker.py +4 -1
  95. sky/utils/resources_utils.py +53 -29
  96. sky/utils/schemas.py +23 -4
  97. sky/volumes/server/server.py +4 -3
  98. sky/workspaces/server.py +7 -6
  99. {skypilot_nightly-1.0.0.dev20251027.dist-info → skypilot_nightly-1.0.0.dev20251101.dist-info}/METADATA +53 -37
  100. {skypilot_nightly-1.0.0.dev20251027.dist-info → skypilot_nightly-1.0.0.dev20251101.dist-info}/RECORD +106 -100
  101. sky/dashboard/out/_next/static/chunks/2755.227c84f5adf75c6b.js +0 -26
  102. sky/dashboard/out/_next/static/chunks/3015-2dcace420c8939f4.js +0 -1
  103. sky/dashboard/out/_next/static/chunks/3294.6d5054a953a818cb.js +0 -1
  104. sky/dashboard/out/_next/static/chunks/4282-d2f3ef2fbf78e347.js +0 -1
  105. sky/dashboard/out/_next/static/chunks/8969-0389e2cb52412db3.js +0 -1
  106. sky/dashboard/out/_next/static/chunks/9360.07d78b8552bc9d17.js +0 -31
  107. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-c815b90e296b8075.js +0 -16
  108. sky/dashboard/out/_next/static/css/4c052b4444e52a58.css +0 -3
  109. /sky/dashboard/out/_next/static/{YP5Vc3ROcDnTGta0XAhcs → 8ixeA0NVQJN8HUdijid8b}/_ssgManifest.js +0 -0
  110. /sky/dashboard/out/_next/static/chunks/pages/{_app-513d332313670f2a.js → _app-bde01e4a2beec258.js} +0 -0
  111. {skypilot_nightly-1.0.0.dev20251027.dist-info → skypilot_nightly-1.0.0.dev20251101.dist-info}/WHEEL +0 -0
  112. {skypilot_nightly-1.0.0.dev20251027.dist-info → skypilot_nightly-1.0.0.dev20251101.dist-info}/entry_points.txt +0 -0
  113. {skypilot_nightly-1.0.0.dev20251027.dist-info → skypilot_nightly-1.0.0.dev20251101.dist-info}/licenses/LICENSE +0 -0
  114. {skypilot_nightly-1.0.0.dev20251027.dist-info → skypilot_nightly-1.0.0.dev20251101.dist-info}/top_level.txt +0 -0
@@ -7,6 +7,7 @@ from sky import exceptions
7
7
  from sky import sky_logging
8
8
  from sky.server.requests import executor
9
9
  from sky.server.requests import payloads
10
+ from sky.server.requests import request_names
10
11
  from sky.server.requests import requests as requests_lib
11
12
  from sky.utils import registry
12
13
  from sky.utils import volume as volume_utils
@@ -27,7 +28,7 @@ async def volume_list(request: fastapi.Request) -> None:
27
28
  request_body = payloads.RequestBody(**auth_user_env_vars_kwargs)
28
29
  await executor.schedule_request_async(
29
30
  request_id=request.state.request_id,
30
- request_name='volume_list',
31
+ request_name=request_names.RequestName.VOLUME_LIST,
31
32
  request_body=request_body,
32
33
  func=core.volume_list,
33
34
  schedule_type=requests_lib.ScheduleType.SHORT,
@@ -40,7 +41,7 @@ async def volume_delete(request: fastapi.Request,
40
41
  """Deletes a volume."""
41
42
  await executor.schedule_request_async(
42
43
  request_id=request.state.request_id,
43
- request_name='volume_delete',
44
+ request_name=request_names.RequestName.VOLUME_DELETE,
44
45
  request_body=volume_delete_body,
45
46
  func=core.volume_delete,
46
47
  schedule_type=requests_lib.ScheduleType.LONG,
@@ -114,7 +115,7 @@ async def volume_apply(request: fastapi.Request,
114
115
  detail='Runpod network volume is only supported on Runpod')
115
116
  await executor.schedule_request_async(
116
117
  request_id=request.state.request_id,
117
- request_name='volume_apply',
118
+ request_name=request_names.RequestName.VOLUME_APPLY,
118
119
  request_body=volume_apply_body,
119
120
  func=core.volume_apply,
120
121
  schedule_type=requests_lib.ScheduleType.LONG,
sky/workspaces/server.py CHANGED
@@ -4,6 +4,7 @@ import fastapi
4
4
 
5
5
  from sky.server.requests import executor
6
6
  from sky.server.requests import payloads
7
+ from sky.server.requests import request_names
7
8
  from sky.server.requests import requests as api_requests
8
9
  from sky.workspaces import core
9
10
 
@@ -24,7 +25,7 @@ async def get(request: fastapi.Request) -> None:
24
25
 
25
26
  await executor.schedule_request_async(
26
27
  request_id=request.state.request_id,
27
- request_name='workspaces.get',
28
+ request_name=request_names.RequestName.WORKSPACES_GET,
28
29
  request_body=request_body,
29
30
  func=core.get_workspaces,
30
31
  schedule_type=api_requests.ScheduleType.SHORT,
@@ -37,7 +38,7 @@ async def update(request: fastapi.Request,
37
38
  """Updates a specific workspace configuration."""
38
39
  await executor.schedule_request_async(
39
40
  request_id=request.state.request_id,
40
- request_name='workspaces.update',
41
+ request_name=request_names.RequestName.WORKSPACES_UPDATE,
41
42
  request_body=update_workspace_body,
42
43
  func=core.update_workspace,
43
44
  schedule_type=api_requests.ScheduleType.SHORT,
@@ -50,7 +51,7 @@ async def create(request: fastapi.Request,
50
51
  """Creates a new workspace configuration."""
51
52
  await executor.schedule_request_async(
52
53
  request_id=request.state.request_id,
53
- request_name='workspaces.create',
54
+ request_name=request_names.RequestName.WORKSPACES_CREATE,
54
55
  request_body=create_workspace_body,
55
56
  func=core.create_workspace,
56
57
  schedule_type=api_requests.ScheduleType.SHORT,
@@ -63,7 +64,7 @@ async def delete(request: fastapi.Request,
63
64
  """Deletes a workspace configuration."""
64
65
  await executor.schedule_request_async(
65
66
  request_id=request.state.request_id,
66
- request_name='workspaces.delete',
67
+ request_name=request_names.RequestName.WORKSPACES_DELETE,
67
68
  request_body=delete_workspace_body,
68
69
  func=core.delete_workspace,
69
70
  schedule_type=api_requests.ScheduleType.SHORT,
@@ -80,7 +81,7 @@ async def get_config(request: fastapi.Request) -> None:
80
81
  get_config_body = payloads.GetConfigBody(**auth_user_env_vars_kwargs)
81
82
  await executor.schedule_request_async(
82
83
  request_id=request.state.request_id,
83
- request_name='workspaces.get_config',
84
+ request_name=request_names.RequestName.WORKSPACES_GET_CONFIG,
84
85
  request_body=get_config_body,
85
86
  func=core.get_config,
86
87
  schedule_type=api_requests.ScheduleType.SHORT,
@@ -93,7 +94,7 @@ async def update_config(request: fastapi.Request,
93
94
  """Updates the entire SkyPilot configuration."""
94
95
  await executor.schedule_request_async(
95
96
  request_id=request.state.request_id,
96
- request_name='workspaces.update_config',
97
+ request_name=request_names.RequestName.WORKSPACES_UPDATE_CONFIG,
97
98
  request_body=update_config_body,
98
99
  func=core.update_config,
99
100
  schedule_type=api_requests.ScheduleType.SHORT,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20251027
3
+ Version: 1.0.0.dev20251101
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -44,6 +44,7 @@ Requires-Dist: psutil
44
44
  Requires-Dist: pulp
45
45
  Requires-Dist: pyyaml!=5.4.*,>3.13
46
46
  Requires-Dist: ijson
47
+ Requires-Dist: orjson
47
48
  Requires-Dist: requests
48
49
  Requires-Dist: uvicorn[standard]<0.36.0,>=0.33.0
49
50
  Requires-Dist: fastapi
@@ -170,6 +171,21 @@ Requires-Dist: grpcio>=1.63.0; extra == "cloudflare"
170
171
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "cloudflare"
171
172
  Requires-Dist: aiosqlite; extra == "cloudflare"
172
173
  Requires-Dist: greenlet; extra == "cloudflare"
174
+ Provides-Extra: coreweave
175
+ Requires-Dist: awscli>=1.27.10; extra == "coreweave"
176
+ Requires-Dist: botocore>=1.29.10; extra == "coreweave"
177
+ Requires-Dist: boto3>=1.26.1; extra == "coreweave"
178
+ Requires-Dist: colorama<0.4.5; extra == "coreweave"
179
+ Requires-Dist: casbin; extra == "coreweave"
180
+ Requires-Dist: sqlalchemy_adapter; extra == "coreweave"
181
+ Requires-Dist: passlib; extra == "coreweave"
182
+ Requires-Dist: pyjwt; extra == "coreweave"
183
+ Requires-Dist: aiohttp; extra == "coreweave"
184
+ Requires-Dist: anyio; extra == "coreweave"
185
+ Requires-Dist: grpcio>=1.63.0; extra == "coreweave"
186
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "coreweave"
187
+ Requires-Dist: aiosqlite; extra == "coreweave"
188
+ Requires-Dist: greenlet; extra == "coreweave"
173
189
  Provides-Extra: scp
174
190
  Requires-Dist: ray[default]>=2.6.1; extra == "scp"
175
191
  Requires-Dist: casbin; extra == "scp"
@@ -371,51 +387,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "shadeform"
371
387
  Requires-Dist: aiosqlite; extra == "shadeform"
372
388
  Requires-Dist: greenlet; extra == "shadeform"
373
389
  Provides-Extra: all
374
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
375
- Requires-Dist: azure-common; extra == "all"
376
- Requires-Dist: oci; extra == "all"
377
- Requires-Dist: anyio; extra == "all"
378
- Requires-Dist: azure-core>=1.31.0; extra == "all"
379
- Requires-Dist: msgraph-sdk; extra == "all"
380
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
381
- Requires-Dist: pyjwt; extra == "all"
382
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
383
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
384
- Requires-Dist: python-dateutil; extra == "all"
385
- Requires-Dist: awscli>=1.27.10; extra == "all"
386
- Requires-Dist: aiosqlite; extra == "all"
387
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
388
- Requires-Dist: passlib; extra == "all"
389
- Requires-Dist: google-cloud-storage; extra == "all"
390
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
391
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
392
- Requires-Dist: websockets; extra == "all"
390
+ Requires-Dist: azure-cli>=2.65.0; extra == "all"
393
391
  Requires-Dist: aiohttp; extra == "all"
394
- Requires-Dist: sqlalchemy_adapter; extra == "all"
395
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
396
- Requires-Dist: runpod>=1.6.1; extra == "all"
392
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
393
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
394
+ Requires-Dist: botocore>=1.29.10; extra == "all"
397
395
  Requires-Dist: colorama<0.4.5; extra == "all"
398
- Requires-Dist: msrestazure; extra == "all"
399
- Requires-Dist: casbin; extra == "all"
400
- Requires-Dist: nebius>=0.2.47; extra == "all"
396
+ Requires-Dist: docker; extra == "all"
401
397
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
398
+ Requires-Dist: runpod>=1.6.1; extra == "all"
399
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
402
400
  Requires-Dist: ibm-vpc; extra == "all"
403
- Requires-Dist: ibm-cos-sdk; extra == "all"
404
- Requires-Dist: docker; extra == "all"
401
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
402
+ Requires-Dist: awscli>=1.27.10; extra == "all"
403
+ Requires-Dist: anyio; extra == "all"
404
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
405
+ Requires-Dist: pydo>=0.3.0; extra == "all"
405
406
  Requires-Dist: grpcio>=1.63.0; extra == "all"
406
- Requires-Dist: boto3>=1.26.1; extra == "all"
407
407
  Requires-Dist: tomli; python_version < "3.11" and extra == "all"
408
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
409
- Requires-Dist: botocore>=1.29.10; extra == "all"
410
- Requires-Dist: pydo>=0.3.0; extra == "all"
411
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
412
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
413
- Requires-Dist: azure-cli>=2.65.0; extra == "all"
414
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
408
+ Requires-Dist: passlib; extra == "all"
409
+ Requires-Dist: nebius>=0.2.47; extra == "all"
415
410
  Requires-Dist: azure-core>=1.24.0; extra == "all"
411
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
412
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
413
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
414
+ Requires-Dist: pyjwt; extra == "all"
415
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
416
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
417
+ Requires-Dist: aiosqlite; extra == "all"
418
+ Requires-Dist: oci; extra == "all"
419
+ Requires-Dist: ibm-cos-sdk; extra == "all"
416
420
  Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
421
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
422
+ Requires-Dist: msgraph-sdk; extra == "all"
423
+ Requires-Dist: boto3>=1.26.1; extra == "all"
424
+ Requires-Dist: casbin; extra == "all"
417
425
  Requires-Dist: greenlet; extra == "all"
418
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
426
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
427
+ Requires-Dist: python-dateutil; extra == "all"
428
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
429
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
430
+ Requires-Dist: google-cloud-storage; extra == "all"
431
+ Requires-Dist: msrestazure; extra == "all"
432
+ Requires-Dist: azure-common; extra == "all"
433
+ Requires-Dist: websockets; extra == "all"
434
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
419
435
  Provides-Extra: remote
420
436
  Requires-Dist: grpcio>=1.63.0; extra == "remote"
421
437
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"