skypilot-nightly 1.0.0.dev20250905__py3-none-any.whl → 1.0.0.dev20251203__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.
Files changed (397) hide show
  1. sky/__init__.py +10 -2
  2. sky/adaptors/aws.py +81 -16
  3. sky/adaptors/common.py +25 -2
  4. sky/adaptors/coreweave.py +278 -0
  5. sky/adaptors/do.py +8 -2
  6. sky/adaptors/gcp.py +11 -0
  7. sky/adaptors/ibm.py +5 -2
  8. sky/adaptors/kubernetes.py +64 -0
  9. sky/adaptors/nebius.py +3 -1
  10. sky/adaptors/primeintellect.py +1 -0
  11. sky/adaptors/seeweb.py +183 -0
  12. sky/adaptors/shadeform.py +89 -0
  13. sky/admin_policy.py +20 -0
  14. sky/authentication.py +157 -263
  15. sky/backends/__init__.py +3 -2
  16. sky/backends/backend.py +11 -3
  17. sky/backends/backend_utils.py +588 -184
  18. sky/backends/cloud_vm_ray_backend.py +1088 -904
  19. sky/backends/local_docker_backend.py +9 -5
  20. sky/backends/task_codegen.py +633 -0
  21. sky/backends/wheel_utils.py +18 -0
  22. sky/catalog/__init__.py +8 -0
  23. sky/catalog/aws_catalog.py +4 -0
  24. sky/catalog/common.py +19 -1
  25. sky/catalog/data_fetchers/fetch_aws.py +102 -80
  26. sky/catalog/data_fetchers/fetch_gcp.py +30 -3
  27. sky/catalog/data_fetchers/fetch_nebius.py +9 -6
  28. sky/catalog/data_fetchers/fetch_runpod.py +698 -0
  29. sky/catalog/data_fetchers/fetch_seeweb.py +329 -0
  30. sky/catalog/data_fetchers/fetch_shadeform.py +142 -0
  31. sky/catalog/kubernetes_catalog.py +24 -28
  32. sky/catalog/primeintellect_catalog.py +95 -0
  33. sky/catalog/runpod_catalog.py +5 -1
  34. sky/catalog/seeweb_catalog.py +184 -0
  35. sky/catalog/shadeform_catalog.py +165 -0
  36. sky/check.py +73 -43
  37. sky/client/cli/command.py +675 -412
  38. sky/client/cli/flags.py +4 -2
  39. sky/{volumes/utils.py → client/cli/table_utils.py} +111 -13
  40. sky/client/cli/utils.py +79 -0
  41. sky/client/common.py +12 -2
  42. sky/client/sdk.py +132 -63
  43. sky/client/sdk_async.py +34 -33
  44. sky/cloud_stores.py +82 -3
  45. sky/clouds/__init__.py +6 -0
  46. sky/clouds/aws.py +337 -129
  47. sky/clouds/azure.py +24 -18
  48. sky/clouds/cloud.py +40 -13
  49. sky/clouds/cudo.py +16 -13
  50. sky/clouds/do.py +9 -7
  51. sky/clouds/fluidstack.py +12 -5
  52. sky/clouds/gcp.py +14 -7
  53. sky/clouds/hyperbolic.py +12 -5
  54. sky/clouds/ibm.py +12 -5
  55. sky/clouds/kubernetes.py +80 -45
  56. sky/clouds/lambda_cloud.py +12 -5
  57. sky/clouds/nebius.py +23 -9
  58. sky/clouds/oci.py +19 -12
  59. sky/clouds/paperspace.py +4 -1
  60. sky/clouds/primeintellect.py +317 -0
  61. sky/clouds/runpod.py +85 -24
  62. sky/clouds/scp.py +12 -8
  63. sky/clouds/seeweb.py +477 -0
  64. sky/clouds/shadeform.py +400 -0
  65. sky/clouds/ssh.py +4 -2
  66. sky/clouds/utils/scp_utils.py +61 -50
  67. sky/clouds/vast.py +33 -27
  68. sky/clouds/vsphere.py +14 -16
  69. sky/core.py +174 -165
  70. sky/dashboard/out/404.html +1 -1
  71. sky/dashboard/out/_next/static/96_E2yl3QAiIJGOYCkSpB/_buildManifest.js +1 -0
  72. sky/dashboard/out/_next/static/chunks/1141-e6aa9ab418717c59.js +11 -0
  73. sky/dashboard/out/_next/static/chunks/1871-7e202677c42f43fe.js +6 -0
  74. sky/dashboard/out/_next/static/chunks/2260-7703229c33c5ebd5.js +1 -0
  75. sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +15 -0
  76. sky/dashboard/out/_next/static/chunks/2755.edd818326d489a1d.js +26 -0
  77. sky/dashboard/out/_next/static/chunks/3294.20a8540fe697d5ee.js +1 -0
  78. sky/dashboard/out/_next/static/chunks/3785.7e245f318f9d1121.js +1 -0
  79. sky/dashboard/out/_next/static/chunks/{6601-06114c982db410b6.js → 3800-7b45f9fbb6308557.js} +1 -1
  80. sky/dashboard/out/_next/static/chunks/4725.172ede95d1b21022.js +1 -0
  81. sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +15 -0
  82. sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +13 -0
  83. sky/dashboard/out/_next/static/chunks/6856-8f27d1c10c98def8.js +1 -0
  84. sky/dashboard/out/_next/static/chunks/6990-9146207c4567fdfd.js +1 -0
  85. sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js +30 -0
  86. sky/dashboard/out/_next/static/chunks/7615-019513abc55b3b47.js +1 -0
  87. sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js +16 -0
  88. sky/dashboard/out/_next/static/chunks/8969-452f9d5cbdd2dc73.js +1 -0
  89. sky/dashboard/out/_next/static/chunks/9025.fa408f3242e9028d.js +6 -0
  90. sky/dashboard/out/_next/static/chunks/9353-cff34f7e773b2e2b.js +1 -0
  91. sky/dashboard/out/_next/static/chunks/9360.a536cf6b1fa42355.js +31 -0
  92. sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js +30 -0
  93. sky/dashboard/out/_next/static/chunks/pages/{_app-ce361c6959bc2001.js → _app-bde01e4a2beec258.js} +1 -1
  94. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-792db96d918c98c9.js +16 -0
  95. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-abfcac9c137aa543.js +1 -0
  96. sky/dashboard/out/_next/static/chunks/pages/clusters-ee39056f9851a3ff.js +1 -0
  97. sky/dashboard/out/_next/static/chunks/pages/infra/{[context]-6563820e094f68ca.js → [context]-c0b5935149902e6f.js} +1 -1
  98. sky/dashboard/out/_next/static/chunks/pages/{infra-aabba60d57826e0f.js → infra-aed0ea19df7cf961.js} +1 -1
  99. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-d66997e2bfc837cf.js +16 -0
  100. sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-9faf940b253e3e06.js +21 -0
  101. sky/dashboard/out/_next/static/chunks/pages/jobs-2072b48b617989c9.js +1 -0
  102. sky/dashboard/out/_next/static/chunks/pages/users-f42674164aa73423.js +1 -0
  103. sky/dashboard/out/_next/static/chunks/pages/volumes-b84b948ff357c43e.js +1 -0
  104. sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-af76bb06dbb3954f.js → [name]-84a40f8c7c627fe4.js} +1 -1
  105. sky/dashboard/out/_next/static/chunks/pages/{workspaces-7598c33a746cdc91.js → workspaces-531b2f8c4bf89f82.js} +1 -1
  106. sky/dashboard/out/_next/static/chunks/webpack-64e05f17bf2cf8ce.js +1 -0
  107. sky/dashboard/out/_next/static/css/0748ce22df867032.css +3 -0
  108. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  109. sky/dashboard/out/clusters/[cluster].html +1 -1
  110. sky/dashboard/out/clusters.html +1 -1
  111. sky/dashboard/out/config.html +1 -1
  112. sky/dashboard/out/index.html +1 -1
  113. sky/dashboard/out/infra/[context].html +1 -1
  114. sky/dashboard/out/infra.html +1 -1
  115. sky/dashboard/out/jobs/[job].html +1 -1
  116. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  117. sky/dashboard/out/jobs.html +1 -1
  118. sky/dashboard/out/users.html +1 -1
  119. sky/dashboard/out/volumes.html +1 -1
  120. sky/dashboard/out/workspace/new.html +1 -1
  121. sky/dashboard/out/workspaces/[name].html +1 -1
  122. sky/dashboard/out/workspaces.html +1 -1
  123. sky/data/data_utils.py +92 -1
  124. sky/data/mounting_utils.py +162 -29
  125. sky/data/storage.py +200 -19
  126. sky/data/storage_utils.py +10 -45
  127. sky/exceptions.py +18 -7
  128. sky/execution.py +74 -31
  129. sky/global_user_state.py +605 -191
  130. sky/jobs/__init__.py +2 -0
  131. sky/jobs/client/sdk.py +101 -4
  132. sky/jobs/client/sdk_async.py +31 -5
  133. sky/jobs/constants.py +15 -8
  134. sky/jobs/controller.py +726 -284
  135. sky/jobs/file_content_utils.py +128 -0
  136. sky/jobs/log_gc.py +193 -0
  137. sky/jobs/recovery_strategy.py +250 -100
  138. sky/jobs/scheduler.py +271 -173
  139. sky/jobs/server/core.py +367 -114
  140. sky/jobs/server/server.py +81 -35
  141. sky/jobs/server/utils.py +89 -35
  142. sky/jobs/state.py +1498 -620
  143. sky/jobs/utils.py +771 -306
  144. sky/logs/agent.py +40 -5
  145. sky/logs/aws.py +9 -19
  146. sky/metrics/utils.py +282 -39
  147. sky/optimizer.py +1 -1
  148. sky/provision/__init__.py +37 -1
  149. sky/provision/aws/config.py +34 -13
  150. sky/provision/aws/instance.py +5 -2
  151. sky/provision/azure/instance.py +5 -3
  152. sky/provision/common.py +2 -0
  153. sky/provision/cudo/instance.py +4 -3
  154. sky/provision/do/instance.py +4 -3
  155. sky/provision/docker_utils.py +97 -26
  156. sky/provision/fluidstack/instance.py +6 -5
  157. sky/provision/gcp/config.py +6 -1
  158. sky/provision/gcp/instance.py +4 -2
  159. sky/provision/hyperbolic/instance.py +4 -2
  160. sky/provision/instance_setup.py +66 -20
  161. sky/provision/kubernetes/__init__.py +2 -0
  162. sky/provision/kubernetes/config.py +7 -44
  163. sky/provision/kubernetes/constants.py +0 -1
  164. sky/provision/kubernetes/instance.py +609 -213
  165. sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +1 -2
  166. sky/provision/kubernetes/network.py +12 -8
  167. sky/provision/kubernetes/network_utils.py +8 -25
  168. sky/provision/kubernetes/utils.py +382 -418
  169. sky/provision/kubernetes/volume.py +150 -18
  170. sky/provision/lambda_cloud/instance.py +16 -13
  171. sky/provision/nebius/instance.py +6 -2
  172. sky/provision/nebius/utils.py +103 -86
  173. sky/provision/oci/instance.py +4 -2
  174. sky/provision/paperspace/instance.py +4 -3
  175. sky/provision/primeintellect/__init__.py +10 -0
  176. sky/provision/primeintellect/config.py +11 -0
  177. sky/provision/primeintellect/instance.py +454 -0
  178. sky/provision/primeintellect/utils.py +398 -0
  179. sky/provision/provisioner.py +30 -9
  180. sky/provision/runpod/__init__.py +2 -0
  181. sky/provision/runpod/instance.py +4 -3
  182. sky/provision/runpod/volume.py +69 -13
  183. sky/provision/scp/instance.py +307 -130
  184. sky/provision/seeweb/__init__.py +11 -0
  185. sky/provision/seeweb/config.py +13 -0
  186. sky/provision/seeweb/instance.py +812 -0
  187. sky/provision/shadeform/__init__.py +11 -0
  188. sky/provision/shadeform/config.py +12 -0
  189. sky/provision/shadeform/instance.py +351 -0
  190. sky/provision/shadeform/shadeform_utils.py +83 -0
  191. sky/provision/vast/instance.py +5 -3
  192. sky/provision/volume.py +164 -0
  193. sky/provision/vsphere/common/ssl_helper.py +1 -1
  194. sky/provision/vsphere/common/vapiconnect.py +2 -1
  195. sky/provision/vsphere/common/vim_utils.py +3 -2
  196. sky/provision/vsphere/instance.py +8 -6
  197. sky/provision/vsphere/vsphere_utils.py +8 -1
  198. sky/resources.py +11 -3
  199. sky/schemas/api/responses.py +107 -6
  200. sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +34 -0
  201. sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +89 -0
  202. sky/schemas/db/global_user_state/010_save_ssh_key.py +66 -0
  203. sky/schemas/db/global_user_state/011_is_ephemeral.py +34 -0
  204. sky/schemas/db/kv_cache/001_initial_schema.py +29 -0
  205. sky/schemas/db/serve_state/002_yaml_content.py +34 -0
  206. sky/schemas/db/skypilot_config/001_initial_schema.py +30 -0
  207. sky/schemas/db/spot_jobs/002_cluster_pool.py +3 -3
  208. sky/schemas/db/spot_jobs/004_job_file_contents.py +42 -0
  209. sky/schemas/db/spot_jobs/005_logs_gc.py +38 -0
  210. sky/schemas/db/spot_jobs/006_controller_pid_started_at.py +34 -0
  211. sky/schemas/db/spot_jobs/007_config_file_content.py +34 -0
  212. sky/schemas/generated/jobsv1_pb2.py +86 -0
  213. sky/schemas/generated/jobsv1_pb2.pyi +254 -0
  214. sky/schemas/generated/jobsv1_pb2_grpc.py +542 -0
  215. sky/schemas/generated/managed_jobsv1_pb2.py +76 -0
  216. sky/schemas/generated/managed_jobsv1_pb2.pyi +278 -0
  217. sky/schemas/generated/managed_jobsv1_pb2_grpc.py +278 -0
  218. sky/schemas/generated/servev1_pb2.py +58 -0
  219. sky/schemas/generated/servev1_pb2.pyi +115 -0
  220. sky/schemas/generated/servev1_pb2_grpc.py +322 -0
  221. sky/serve/autoscalers.py +2 -0
  222. sky/serve/client/impl.py +55 -21
  223. sky/serve/constants.py +4 -3
  224. sky/serve/controller.py +17 -11
  225. sky/serve/load_balancing_policies.py +1 -1
  226. sky/serve/replica_managers.py +219 -142
  227. sky/serve/serve_rpc_utils.py +179 -0
  228. sky/serve/serve_state.py +63 -54
  229. sky/serve/serve_utils.py +145 -109
  230. sky/serve/server/core.py +46 -25
  231. sky/serve/server/impl.py +311 -162
  232. sky/serve/server/server.py +21 -19
  233. sky/serve/service.py +84 -68
  234. sky/serve/service_spec.py +45 -7
  235. sky/server/auth/loopback.py +38 -0
  236. sky/server/auth/oauth2_proxy.py +12 -7
  237. sky/server/common.py +47 -24
  238. sky/server/config.py +62 -28
  239. sky/server/constants.py +9 -1
  240. sky/server/daemons.py +109 -38
  241. sky/server/metrics.py +76 -96
  242. sky/server/middleware_utils.py +166 -0
  243. sky/server/requests/executor.py +381 -145
  244. sky/server/requests/payloads.py +71 -18
  245. sky/server/requests/preconditions.py +15 -13
  246. sky/server/requests/request_names.py +121 -0
  247. sky/server/requests/requests.py +507 -157
  248. sky/server/requests/serializers/decoders.py +48 -17
  249. sky/server/requests/serializers/encoders.py +85 -20
  250. sky/server/requests/threads.py +117 -0
  251. sky/server/rest.py +116 -24
  252. sky/server/server.py +420 -172
  253. sky/server/stream_utils.py +219 -45
  254. sky/server/uvicorn.py +30 -19
  255. sky/setup_files/MANIFEST.in +6 -1
  256. sky/setup_files/alembic.ini +8 -0
  257. sky/setup_files/dependencies.py +62 -19
  258. sky/setup_files/setup.py +44 -44
  259. sky/sky_logging.py +13 -5
  260. sky/skylet/attempt_skylet.py +106 -24
  261. sky/skylet/configs.py +3 -1
  262. sky/skylet/constants.py +111 -26
  263. sky/skylet/events.py +64 -10
  264. sky/skylet/job_lib.py +141 -104
  265. sky/skylet/log_lib.py +233 -5
  266. sky/skylet/log_lib.pyi +40 -2
  267. sky/skylet/providers/ibm/node_provider.py +12 -8
  268. sky/skylet/providers/ibm/vpc_provider.py +13 -12
  269. sky/skylet/runtime_utils.py +21 -0
  270. sky/skylet/services.py +524 -0
  271. sky/skylet/skylet.py +22 -1
  272. sky/skylet/subprocess_daemon.py +104 -29
  273. sky/skypilot_config.py +99 -79
  274. sky/ssh_node_pools/server.py +9 -8
  275. sky/task.py +221 -104
  276. sky/templates/aws-ray.yml.j2 +1 -0
  277. sky/templates/azure-ray.yml.j2 +1 -0
  278. sky/templates/cudo-ray.yml.j2 +1 -0
  279. sky/templates/do-ray.yml.j2 +1 -0
  280. sky/templates/fluidstack-ray.yml.j2 +1 -0
  281. sky/templates/gcp-ray.yml.j2 +1 -0
  282. sky/templates/hyperbolic-ray.yml.j2 +1 -0
  283. sky/templates/ibm-ray.yml.j2 +2 -1
  284. sky/templates/jobs-controller.yaml.j2 +3 -0
  285. sky/templates/kubernetes-ray.yml.j2 +196 -55
  286. sky/templates/lambda-ray.yml.j2 +1 -0
  287. sky/templates/nebius-ray.yml.j2 +3 -0
  288. sky/templates/oci-ray.yml.j2 +1 -0
  289. sky/templates/paperspace-ray.yml.j2 +1 -0
  290. sky/templates/primeintellect-ray.yml.j2 +72 -0
  291. sky/templates/runpod-ray.yml.j2 +1 -0
  292. sky/templates/scp-ray.yml.j2 +1 -0
  293. sky/templates/seeweb-ray.yml.j2 +171 -0
  294. sky/templates/shadeform-ray.yml.j2 +73 -0
  295. sky/templates/vast-ray.yml.j2 +1 -0
  296. sky/templates/vsphere-ray.yml.j2 +1 -0
  297. sky/templates/websocket_proxy.py +188 -43
  298. sky/usage/usage_lib.py +16 -4
  299. sky/users/permission.py +60 -43
  300. sky/utils/accelerator_registry.py +6 -3
  301. sky/utils/admin_policy_utils.py +18 -5
  302. sky/utils/annotations.py +22 -0
  303. sky/utils/asyncio_utils.py +78 -0
  304. sky/utils/atomic.py +1 -1
  305. sky/utils/auth_utils.py +153 -0
  306. sky/utils/cli_utils/status_utils.py +12 -7
  307. sky/utils/cluster_utils.py +28 -6
  308. sky/utils/command_runner.py +88 -27
  309. sky/utils/command_runner.pyi +36 -3
  310. sky/utils/common.py +3 -1
  311. sky/utils/common_utils.py +37 -4
  312. sky/utils/config_utils.py +1 -14
  313. sky/utils/context.py +127 -40
  314. sky/utils/context_utils.py +73 -18
  315. sky/utils/controller_utils.py +229 -70
  316. sky/utils/db/db_utils.py +95 -18
  317. sky/utils/db/kv_cache.py +149 -0
  318. sky/utils/db/migration_utils.py +24 -7
  319. sky/utils/env_options.py +4 -0
  320. sky/utils/git.py +559 -1
  321. sky/utils/kubernetes/create_cluster.sh +15 -30
  322. sky/utils/kubernetes/delete_cluster.sh +10 -7
  323. sky/utils/kubernetes/{deploy_remote_cluster.py → deploy_ssh_node_pools.py} +258 -380
  324. sky/utils/kubernetes/generate_kind_config.py +6 -66
  325. sky/utils/kubernetes/gpu_labeler.py +13 -3
  326. sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +2 -1
  327. sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +16 -16
  328. sky/utils/kubernetes/kubernetes_deploy_utils.py +213 -194
  329. sky/utils/kubernetes/rsync_helper.sh +11 -3
  330. sky/utils/kubernetes_enums.py +7 -15
  331. sky/utils/lock_events.py +4 -4
  332. sky/utils/locks.py +128 -31
  333. sky/utils/log_utils.py +0 -319
  334. sky/utils/resource_checker.py +13 -10
  335. sky/utils/resources_utils.py +53 -29
  336. sky/utils/rich_utils.py +8 -4
  337. sky/utils/schemas.py +107 -52
  338. sky/utils/subprocess_utils.py +17 -4
  339. sky/utils/thread_utils.py +91 -0
  340. sky/utils/timeline.py +2 -1
  341. sky/utils/ux_utils.py +35 -1
  342. sky/utils/volume.py +88 -4
  343. sky/utils/yaml_utils.py +9 -0
  344. sky/volumes/client/sdk.py +48 -10
  345. sky/volumes/server/core.py +59 -22
  346. sky/volumes/server/server.py +46 -17
  347. sky/volumes/volume.py +54 -42
  348. sky/workspaces/core.py +57 -21
  349. sky/workspaces/server.py +13 -12
  350. sky_templates/README.md +3 -0
  351. sky_templates/__init__.py +3 -0
  352. sky_templates/ray/__init__.py +0 -0
  353. sky_templates/ray/start_cluster +183 -0
  354. sky_templates/ray/stop_cluster +75 -0
  355. {skypilot_nightly-1.0.0.dev20250905.dist-info → skypilot_nightly-1.0.0.dev20251203.dist-info}/METADATA +331 -65
  356. skypilot_nightly-1.0.0.dev20251203.dist-info/RECORD +611 -0
  357. skypilot_nightly-1.0.0.dev20251203.dist-info/top_level.txt +2 -0
  358. sky/client/cli/git.py +0 -549
  359. sky/dashboard/out/_next/static/chunks/1121-408ed10b2f9fce17.js +0 -1
  360. sky/dashboard/out/_next/static/chunks/1141-943efc7aff0f0c06.js +0 -1
  361. sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js +0 -40
  362. sky/dashboard/out/_next/static/chunks/3015-86cabed5d4669ad0.js +0 -1
  363. sky/dashboard/out/_next/static/chunks/3294.c80326aec9bfed40.js +0 -6
  364. sky/dashboard/out/_next/static/chunks/3785.4872a2f3aa489880.js +0 -1
  365. sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -21
  366. sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -10
  367. sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -1
  368. sky/dashboard/out/_next/static/chunks/5339.3fda4a4010ff4e06.js +0 -51
  369. sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -1
  370. sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js +0 -45
  371. sky/dashboard/out/_next/static/chunks/6856-dca7962af4814e1b.js +0 -1
  372. sky/dashboard/out/_next/static/chunks/6990-08b2a1cae076a943.js +0 -1
  373. sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -6
  374. sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -18
  375. sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -36
  376. sky/dashboard/out/_next/static/chunks/8969-0be3036bf86f8256.js +0 -1
  377. sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -6
  378. sky/dashboard/out/_next/static/chunks/9037-fa1737818d0a0969.js +0 -6
  379. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-1cbba24bd1bd35f8.js +0 -16
  380. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-0b4b35dc1dfe046c.js +0 -16
  381. sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -1
  382. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +0 -11
  383. sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js +0 -16
  384. sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js +0 -1
  385. sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -1
  386. sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -1
  387. sky/dashboard/out/_next/static/chunks/webpack-4fe903277b57b523.js +0 -1
  388. sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -3
  389. sky/dashboard/out/_next/static/mS-4qZPSkRuA1u-g2wQhg/_buildManifest.js +0 -1
  390. sky/templates/kubernetes-ssh-jump.yml.j2 +0 -94
  391. sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -191
  392. skypilot_nightly-1.0.0.dev20250905.dist-info/RECORD +0 -547
  393. skypilot_nightly-1.0.0.dev20250905.dist-info/top_level.txt +0 -1
  394. /sky/dashboard/out/_next/static/{mS-4qZPSkRuA1u-g2wQhg → 96_E2yl3QAiIJGOYCkSpB}/_ssgManifest.js +0 -0
  395. {skypilot_nightly-1.0.0.dev20250905.dist-info → skypilot_nightly-1.0.0.dev20251203.dist-info}/WHEEL +0 -0
  396. {skypilot_nightly-1.0.0.dev20250905.dist-info → skypilot_nightly-1.0.0.dev20251203.dist-info}/entry_points.txt +0 -0
  397. {skypilot_nightly-1.0.0.dev20250905.dist-info → skypilot_nightly-1.0.0.dev20251203.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250905
3
+ Version: 1.0.0.dev20251203
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -43,9 +43,11 @@ Requires-Dist: packaging
43
43
  Requires-Dist: psutil
44
44
  Requires-Dist: pulp
45
45
  Requires-Dist: pyyaml!=5.4.*,>3.13
46
+ Requires-Dist: ijson
47
+ Requires-Dist: orjson
46
48
  Requires-Dist: requests
49
+ Requires-Dist: uvicorn[standard]<0.36.0,>=0.33.0
47
50
  Requires-Dist: fastapi
48
- Requires-Dist: uvicorn[standard]
49
51
  Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3,>2
50
52
  Requires-Dist: python-multipart
51
53
  Requires-Dist: aiofiles
@@ -53,23 +55,34 @@ Requires-Dist: httpx
53
55
  Requires-Dist: setproctitle
54
56
  Requires-Dist: sqlalchemy
55
57
  Requires-Dist: psycopg2-binary
58
+ Requires-Dist: aiosqlite
59
+ Requires-Dist: asyncpg
56
60
  Requires-Dist: casbin
57
61
  Requires-Dist: sqlalchemy_adapter
58
62
  Requires-Dist: prometheus_client>=0.8.0
59
63
  Requires-Dist: passlib
60
- Requires-Dist: bcrypt
64
+ Requires-Dist: bcrypt==4.0.1
61
65
  Requires-Dist: pyjwt
62
66
  Requires-Dist: gitpython
63
67
  Requires-Dist: types-paramiko
64
68
  Requires-Dist: alembic
65
69
  Requires-Dist: aiohttp
66
- Requires-Dist: aiosqlite
67
70
  Requires-Dist: anyio
68
71
  Provides-Extra: aws
69
72
  Requires-Dist: awscli>=1.27.10; extra == "aws"
70
73
  Requires-Dist: botocore>=1.29.10; extra == "aws"
71
74
  Requires-Dist: boto3>=1.26.1; extra == "aws"
72
75
  Requires-Dist: colorama<0.4.5; extra == "aws"
76
+ Requires-Dist: casbin; extra == "aws"
77
+ Requires-Dist: sqlalchemy_adapter; extra == "aws"
78
+ Requires-Dist: passlib; extra == "aws"
79
+ Requires-Dist: pyjwt; extra == "aws"
80
+ Requires-Dist: aiohttp; extra == "aws"
81
+ Requires-Dist: anyio; extra == "aws"
82
+ Requires-Dist: grpcio>=1.63.0; extra == "aws"
83
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "aws"
84
+ Requires-Dist: aiosqlite; extra == "aws"
85
+ Requires-Dist: greenlet; extra == "aws"
73
86
  Provides-Extra: azure
74
87
  Requires-Dist: azure-cli>=2.65.0; extra == "azure"
75
88
  Requires-Dist: azure-core>=1.31.0; extra == "azure"
@@ -79,114 +92,363 @@ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "azure"
79
92
  Requires-Dist: azure-storage-blob>=12.23.1; extra == "azure"
80
93
  Requires-Dist: msgraph-sdk; extra == "azure"
81
94
  Requires-Dist: msrestazure; extra == "azure"
95
+ Requires-Dist: casbin; extra == "azure"
96
+ Requires-Dist: sqlalchemy_adapter; extra == "azure"
97
+ Requires-Dist: passlib; extra == "azure"
98
+ Requires-Dist: pyjwt; extra == "azure"
99
+ Requires-Dist: aiohttp; extra == "azure"
100
+ Requires-Dist: anyio; extra == "azure"
101
+ Requires-Dist: grpcio>=1.63.0; extra == "azure"
102
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "azure"
103
+ Requires-Dist: aiosqlite; extra == "azure"
104
+ Requires-Dist: greenlet; extra == "azure"
82
105
  Provides-Extra: gcp
83
106
  Requires-Dist: google-api-python-client>=2.69.0; extra == "gcp"
84
107
  Requires-Dist: google-cloud-storage; extra == "gcp"
85
108
  Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "gcp"
109
+ Requires-Dist: casbin; extra == "gcp"
110
+ Requires-Dist: sqlalchemy_adapter; extra == "gcp"
111
+ Requires-Dist: passlib; extra == "gcp"
112
+ Requires-Dist: pyjwt; extra == "gcp"
113
+ Requires-Dist: aiohttp; extra == "gcp"
114
+ Requires-Dist: anyio; extra == "gcp"
115
+ Requires-Dist: grpcio>=1.63.0; extra == "gcp"
116
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "gcp"
117
+ Requires-Dist: aiosqlite; extra == "gcp"
118
+ Requires-Dist: greenlet; extra == "gcp"
86
119
  Provides-Extra: ibm
87
120
  Requires-Dist: ibm-cloud-sdk-core; extra == "ibm"
88
121
  Requires-Dist: ibm-vpc; extra == "ibm"
89
122
  Requires-Dist: ibm-platform-services>=0.48.0; extra == "ibm"
90
123
  Requires-Dist: ibm-cos-sdk; extra == "ibm"
91
- Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "ibm"
124
+ Requires-Dist: ray[default]>=2.6.1; extra == "ibm"
125
+ Requires-Dist: casbin; extra == "ibm"
126
+ Requires-Dist: sqlalchemy_adapter; extra == "ibm"
127
+ Requires-Dist: passlib; extra == "ibm"
128
+ Requires-Dist: pyjwt; extra == "ibm"
129
+ Requires-Dist: aiohttp; extra == "ibm"
130
+ Requires-Dist: anyio; extra == "ibm"
131
+ Requires-Dist: grpcio>=1.63.0; extra == "ibm"
132
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "ibm"
133
+ Requires-Dist: aiosqlite; extra == "ibm"
134
+ Requires-Dist: greenlet; extra == "ibm"
92
135
  Provides-Extra: docker
93
136
  Requires-Dist: docker; extra == "docker"
94
- Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "docker"
137
+ Requires-Dist: ray[default]>=2.6.1; extra == "docker"
138
+ Requires-Dist: casbin; extra == "docker"
139
+ Requires-Dist: sqlalchemy_adapter; extra == "docker"
140
+ Requires-Dist: passlib; extra == "docker"
141
+ Requires-Dist: pyjwt; extra == "docker"
142
+ Requires-Dist: aiohttp; extra == "docker"
143
+ Requires-Dist: anyio; extra == "docker"
144
+ Requires-Dist: grpcio>=1.63.0; extra == "docker"
145
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "docker"
146
+ Requires-Dist: aiosqlite; extra == "docker"
147
+ Requires-Dist: greenlet; extra == "docker"
95
148
  Provides-Extra: lambda
149
+ Requires-Dist: casbin; extra == "lambda"
150
+ Requires-Dist: sqlalchemy_adapter; extra == "lambda"
151
+ Requires-Dist: passlib; extra == "lambda"
152
+ Requires-Dist: pyjwt; extra == "lambda"
153
+ Requires-Dist: aiohttp; extra == "lambda"
154
+ Requires-Dist: anyio; extra == "lambda"
155
+ Requires-Dist: grpcio>=1.63.0; extra == "lambda"
156
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "lambda"
157
+ Requires-Dist: aiosqlite; extra == "lambda"
158
+ Requires-Dist: greenlet; extra == "lambda"
96
159
  Provides-Extra: cloudflare
97
160
  Requires-Dist: awscli>=1.27.10; extra == "cloudflare"
98
161
  Requires-Dist: botocore>=1.29.10; extra == "cloudflare"
99
162
  Requires-Dist: boto3>=1.26.1; extra == "cloudflare"
100
163
  Requires-Dist: colorama<0.4.5; extra == "cloudflare"
164
+ Requires-Dist: casbin; extra == "cloudflare"
165
+ Requires-Dist: sqlalchemy_adapter; extra == "cloudflare"
166
+ Requires-Dist: passlib; extra == "cloudflare"
167
+ Requires-Dist: pyjwt; extra == "cloudflare"
168
+ Requires-Dist: aiohttp; extra == "cloudflare"
169
+ Requires-Dist: anyio; extra == "cloudflare"
170
+ Requires-Dist: grpcio>=1.63.0; extra == "cloudflare"
171
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "cloudflare"
172
+ Requires-Dist: aiosqlite; extra == "cloudflare"
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: kubernetes!=32.0.0,>=20.0.0; extra == "coreweave"
180
+ Requires-Dist: websockets; extra == "coreweave"
181
+ Requires-Dist: python-dateutil; extra == "coreweave"
182
+ Requires-Dist: casbin; extra == "coreweave"
183
+ Requires-Dist: sqlalchemy_adapter; extra == "coreweave"
184
+ Requires-Dist: passlib; extra == "coreweave"
185
+ Requires-Dist: pyjwt; extra == "coreweave"
186
+ Requires-Dist: aiohttp; extra == "coreweave"
187
+ Requires-Dist: anyio; extra == "coreweave"
188
+ Requires-Dist: grpcio>=1.63.0; extra == "coreweave"
189
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "coreweave"
190
+ Requires-Dist: aiosqlite; extra == "coreweave"
191
+ Requires-Dist: greenlet; extra == "coreweave"
101
192
  Provides-Extra: scp
102
- Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "scp"
193
+ Requires-Dist: ray[default]>=2.6.1; extra == "scp"
194
+ Requires-Dist: casbin; extra == "scp"
195
+ Requires-Dist: sqlalchemy_adapter; extra == "scp"
196
+ Requires-Dist: passlib; extra == "scp"
197
+ Requires-Dist: pyjwt; extra == "scp"
198
+ Requires-Dist: aiohttp; extra == "scp"
199
+ Requires-Dist: anyio; extra == "scp"
200
+ Requires-Dist: grpcio>=1.63.0; extra == "scp"
201
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "scp"
202
+ Requires-Dist: aiosqlite; extra == "scp"
203
+ Requires-Dist: greenlet; extra == "scp"
103
204
  Provides-Extra: oci
104
205
  Requires-Dist: oci; extra == "oci"
206
+ Requires-Dist: casbin; extra == "oci"
207
+ Requires-Dist: sqlalchemy_adapter; extra == "oci"
208
+ Requires-Dist: passlib; extra == "oci"
209
+ Requires-Dist: pyjwt; extra == "oci"
210
+ Requires-Dist: aiohttp; extra == "oci"
211
+ Requires-Dist: anyio; extra == "oci"
212
+ Requires-Dist: grpcio>=1.63.0; extra == "oci"
213
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "oci"
214
+ Requires-Dist: aiosqlite; extra == "oci"
215
+ Requires-Dist: greenlet; extra == "oci"
105
216
  Provides-Extra: kubernetes
106
217
  Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "kubernetes"
107
218
  Requires-Dist: websockets; extra == "kubernetes"
108
219
  Requires-Dist: python-dateutil; extra == "kubernetes"
220
+ Requires-Dist: casbin; extra == "kubernetes"
221
+ Requires-Dist: sqlalchemy_adapter; extra == "kubernetes"
222
+ Requires-Dist: passlib; extra == "kubernetes"
223
+ Requires-Dist: pyjwt; extra == "kubernetes"
224
+ Requires-Dist: aiohttp; extra == "kubernetes"
225
+ Requires-Dist: anyio; extra == "kubernetes"
226
+ Requires-Dist: grpcio>=1.63.0; extra == "kubernetes"
227
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "kubernetes"
228
+ Requires-Dist: aiosqlite; extra == "kubernetes"
229
+ Requires-Dist: greenlet; extra == "kubernetes"
109
230
  Provides-Extra: ssh
110
231
  Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "ssh"
111
232
  Requires-Dist: websockets; extra == "ssh"
112
233
  Requires-Dist: python-dateutil; extra == "ssh"
113
- Provides-Extra: remote
114
- Requires-Dist: grpcio>=1.63.0; extra == "remote"
115
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
234
+ Requires-Dist: casbin; extra == "ssh"
235
+ Requires-Dist: sqlalchemy_adapter; extra == "ssh"
236
+ Requires-Dist: passlib; extra == "ssh"
237
+ Requires-Dist: pyjwt; extra == "ssh"
238
+ Requires-Dist: aiohttp; extra == "ssh"
239
+ Requires-Dist: anyio; extra == "ssh"
240
+ Requires-Dist: grpcio>=1.63.0; extra == "ssh"
241
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "ssh"
242
+ Requires-Dist: aiosqlite; extra == "ssh"
243
+ Requires-Dist: greenlet; extra == "ssh"
116
244
  Provides-Extra: runpod
117
245
  Requires-Dist: runpod>=1.6.1; extra == "runpod"
246
+ Requires-Dist: tomli; extra == "runpod"
247
+ Requires-Dist: casbin; extra == "runpod"
248
+ Requires-Dist: sqlalchemy_adapter; extra == "runpod"
249
+ Requires-Dist: passlib; extra == "runpod"
250
+ Requires-Dist: pyjwt; extra == "runpod"
251
+ Requires-Dist: aiohttp; extra == "runpod"
252
+ Requires-Dist: anyio; extra == "runpod"
253
+ Requires-Dist: grpcio>=1.63.0; extra == "runpod"
254
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "runpod"
255
+ Requires-Dist: aiosqlite; extra == "runpod"
256
+ Requires-Dist: greenlet; extra == "runpod"
118
257
  Provides-Extra: fluidstack
258
+ Requires-Dist: casbin; extra == "fluidstack"
259
+ Requires-Dist: sqlalchemy_adapter; extra == "fluidstack"
260
+ Requires-Dist: passlib; extra == "fluidstack"
261
+ Requires-Dist: pyjwt; extra == "fluidstack"
262
+ Requires-Dist: aiohttp; extra == "fluidstack"
263
+ Requires-Dist: anyio; extra == "fluidstack"
264
+ Requires-Dist: grpcio>=1.63.0; extra == "fluidstack"
265
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "fluidstack"
266
+ Requires-Dist: aiosqlite; extra == "fluidstack"
267
+ Requires-Dist: greenlet; extra == "fluidstack"
119
268
  Provides-Extra: cudo
120
269
  Requires-Dist: cudo-compute>=0.1.10; extra == "cudo"
270
+ Requires-Dist: casbin; extra == "cudo"
271
+ Requires-Dist: sqlalchemy_adapter; extra == "cudo"
272
+ Requires-Dist: passlib; extra == "cudo"
273
+ Requires-Dist: pyjwt; extra == "cudo"
274
+ Requires-Dist: aiohttp; extra == "cudo"
275
+ Requires-Dist: anyio; extra == "cudo"
276
+ Requires-Dist: grpcio>=1.63.0; extra == "cudo"
277
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "cudo"
278
+ Requires-Dist: aiosqlite; extra == "cudo"
279
+ Requires-Dist: greenlet; extra == "cudo"
121
280
  Provides-Extra: paperspace
281
+ Requires-Dist: casbin; extra == "paperspace"
282
+ Requires-Dist: sqlalchemy_adapter; extra == "paperspace"
283
+ Requires-Dist: passlib; extra == "paperspace"
284
+ Requires-Dist: pyjwt; extra == "paperspace"
285
+ Requires-Dist: aiohttp; extra == "paperspace"
286
+ Requires-Dist: anyio; extra == "paperspace"
287
+ Requires-Dist: grpcio>=1.63.0; extra == "paperspace"
288
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "paperspace"
289
+ Requires-Dist: aiosqlite; extra == "paperspace"
290
+ Requires-Dist: greenlet; extra == "paperspace"
291
+ Provides-Extra: primeintellect
292
+ Requires-Dist: casbin; extra == "primeintellect"
293
+ Requires-Dist: sqlalchemy_adapter; extra == "primeintellect"
294
+ Requires-Dist: passlib; extra == "primeintellect"
295
+ Requires-Dist: pyjwt; extra == "primeintellect"
296
+ Requires-Dist: aiohttp; extra == "primeintellect"
297
+ Requires-Dist: anyio; extra == "primeintellect"
298
+ Requires-Dist: grpcio>=1.63.0; extra == "primeintellect"
299
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "primeintellect"
300
+ Requires-Dist: aiosqlite; extra == "primeintellect"
301
+ Requires-Dist: greenlet; extra == "primeintellect"
122
302
  Provides-Extra: do
123
303
  Requires-Dist: pydo>=0.3.0; extra == "do"
124
304
  Requires-Dist: azure-core>=1.24.0; extra == "do"
125
305
  Requires-Dist: azure-common; extra == "do"
306
+ Requires-Dist: casbin; extra == "do"
307
+ Requires-Dist: sqlalchemy_adapter; extra == "do"
308
+ Requires-Dist: passlib; extra == "do"
309
+ Requires-Dist: pyjwt; extra == "do"
310
+ Requires-Dist: aiohttp; extra == "do"
311
+ Requires-Dist: anyio; extra == "do"
312
+ Requires-Dist: grpcio>=1.63.0; extra == "do"
313
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "do"
314
+ Requires-Dist: aiosqlite; extra == "do"
315
+ Requires-Dist: greenlet; extra == "do"
126
316
  Provides-Extra: vast
127
317
  Requires-Dist: vastai-sdk>=0.1.12; extra == "vast"
318
+ Requires-Dist: casbin; extra == "vast"
319
+ Requires-Dist: sqlalchemy_adapter; extra == "vast"
320
+ Requires-Dist: passlib; extra == "vast"
321
+ Requires-Dist: pyjwt; extra == "vast"
322
+ Requires-Dist: aiohttp; extra == "vast"
323
+ Requires-Dist: anyio; extra == "vast"
324
+ Requires-Dist: grpcio>=1.63.0; extra == "vast"
325
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "vast"
326
+ Requires-Dist: aiosqlite; extra == "vast"
327
+ Requires-Dist: greenlet; extra == "vast"
128
328
  Provides-Extra: vsphere
129
329
  Requires-Dist: pyvmomi==8.0.1.0.2; extra == "vsphere"
330
+ Requires-Dist: casbin; extra == "vsphere"
331
+ Requires-Dist: sqlalchemy_adapter; extra == "vsphere"
332
+ Requires-Dist: passlib; extra == "vsphere"
333
+ Requires-Dist: pyjwt; extra == "vsphere"
334
+ Requires-Dist: aiohttp; extra == "vsphere"
335
+ Requires-Dist: anyio; extra == "vsphere"
336
+ Requires-Dist: grpcio>=1.63.0; extra == "vsphere"
337
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "vsphere"
338
+ Requires-Dist: aiosqlite; extra == "vsphere"
339
+ Requires-Dist: greenlet; extra == "vsphere"
130
340
  Provides-Extra: nebius
131
- Requires-Dist: nebius>=0.2.47; extra == "nebius"
341
+ Requires-Dist: nebius>=0.3.12; extra == "nebius"
342
+ Requires-Dist: grpcio>=1.63.0; extra == "nebius"
343
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "nebius"
132
344
  Requires-Dist: awscli>=1.27.10; extra == "nebius"
133
345
  Requires-Dist: botocore>=1.29.10; extra == "nebius"
134
346
  Requires-Dist: boto3>=1.26.1; extra == "nebius"
135
347
  Requires-Dist: colorama<0.4.5; extra == "nebius"
348
+ Requires-Dist: casbin; extra == "nebius"
349
+ Requires-Dist: sqlalchemy_adapter; extra == "nebius"
350
+ Requires-Dist: passlib; extra == "nebius"
351
+ Requires-Dist: pyjwt; extra == "nebius"
352
+ Requires-Dist: aiohttp; extra == "nebius"
353
+ Requires-Dist: anyio; extra == "nebius"
354
+ Requires-Dist: grpcio>=1.63.0; extra == "nebius"
355
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "nebius"
356
+ Requires-Dist: aiosqlite; extra == "nebius"
357
+ Requires-Dist: greenlet; extra == "nebius"
136
358
  Provides-Extra: hyperbolic
137
- Provides-Extra: server
138
- Requires-Dist: casbin; extra == "server"
139
- Requires-Dist: sqlalchemy_adapter; extra == "server"
140
- Requires-Dist: passlib; extra == "server"
141
- Requires-Dist: pyjwt; extra == "server"
142
- Requires-Dist: aiohttp; extra == "server"
143
- Requires-Dist: anyio; extra == "server"
144
- Requires-Dist: grpcio>=1.63.0; extra == "server"
145
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
146
- Requires-Dist: aiosqlite; extra == "server"
359
+ Requires-Dist: casbin; extra == "hyperbolic"
360
+ Requires-Dist: sqlalchemy_adapter; extra == "hyperbolic"
361
+ Requires-Dist: passlib; extra == "hyperbolic"
362
+ Requires-Dist: pyjwt; extra == "hyperbolic"
363
+ Requires-Dist: aiohttp; extra == "hyperbolic"
364
+ Requires-Dist: anyio; extra == "hyperbolic"
365
+ Requires-Dist: grpcio>=1.63.0; extra == "hyperbolic"
366
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "hyperbolic"
367
+ Requires-Dist: aiosqlite; extra == "hyperbolic"
368
+ Requires-Dist: greenlet; extra == "hyperbolic"
369
+ Provides-Extra: seeweb
370
+ Requires-Dist: ecsapi==0.4.0; extra == "seeweb"
371
+ Requires-Dist: casbin; extra == "seeweb"
372
+ Requires-Dist: sqlalchemy_adapter; extra == "seeweb"
373
+ Requires-Dist: passlib; extra == "seeweb"
374
+ Requires-Dist: pyjwt; extra == "seeweb"
375
+ Requires-Dist: aiohttp; extra == "seeweb"
376
+ Requires-Dist: anyio; extra == "seeweb"
377
+ Requires-Dist: grpcio>=1.63.0; extra == "seeweb"
378
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "seeweb"
379
+ Requires-Dist: aiosqlite; extra == "seeweb"
380
+ Requires-Dist: greenlet; extra == "seeweb"
381
+ Provides-Extra: shadeform
382
+ Requires-Dist: casbin; extra == "shadeform"
383
+ Requires-Dist: sqlalchemy_adapter; extra == "shadeform"
384
+ Requires-Dist: passlib; extra == "shadeform"
385
+ Requires-Dist: pyjwt; extra == "shadeform"
386
+ Requires-Dist: aiohttp; extra == "shadeform"
387
+ Requires-Dist: anyio; extra == "shadeform"
388
+ Requires-Dist: grpcio>=1.63.0; extra == "shadeform"
389
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "shadeform"
390
+ Requires-Dist: aiosqlite; extra == "shadeform"
391
+ Requires-Dist: greenlet; extra == "shadeform"
147
392
  Provides-Extra: all
148
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
149
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
150
- Requires-Dist: grpcio>=1.63.0; extra == "all"
151
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
152
- Requires-Dist: colorama<0.4.5; extra == "all"
393
+ Requires-Dist: greenlet; extra == "all"
394
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
395
+ Requires-Dist: msrestazure; extra == "all"
153
396
  Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
154
- Requires-Dist: sqlalchemy_adapter; extra == "all"
155
397
  Requires-Dist: aiosqlite; extra == "all"
156
- Requires-Dist: ibm-cos-sdk; extra == "all"
157
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
398
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
399
+ Requires-Dist: anyio; extra == "all"
400
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
401
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
402
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
403
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
404
+ Requires-Dist: botocore>=1.29.10; extra == "all"
405
+ Requires-Dist: msgraph-sdk; extra == "all"
406
+ Requires-Dist: aiohttp; extra == "all"
407
+ Requires-Dist: nebius>=0.3.12; extra == "all"
408
+ Requires-Dist: passlib; extra == "all"
409
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
158
410
  Requires-Dist: websockets; extra == "all"
159
- Requires-Dist: awscli>=1.27.10; extra == "all"
160
- Requires-Dist: boto3>=1.26.1; extra == "all"
161
- Requires-Dist: pydo>=0.3.0; extra == "all"
411
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
162
412
  Requires-Dist: google-cloud-storage; extra == "all"
163
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
164
- Requires-Dist: azure-core>=1.24.0; extra == "all"
165
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
166
- Requires-Dist: casbin; extra == "all"
167
- Requires-Dist: docker; extra == "all"
168
- Requires-Dist: passlib; extra == "all"
169
- Requires-Dist: ibm-vpc; extra == "all"
170
- Requires-Dist: oci; extra == "all"
171
413
  Requires-Dist: azure-cli>=2.65.0; extra == "all"
172
- Requires-Dist: nebius>=0.2.47; extra == "all"
414
+ Requires-Dist: oci; extra == "all"
415
+ Requires-Dist: ecsapi==0.4.0; extra == "all"
416
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
173
417
  Requires-Dist: azure-core>=1.31.0; extra == "all"
174
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
175
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
176
- Requires-Dist: botocore>=1.29.10; extra == "all"
418
+ Requires-Dist: colorama<0.4.5; extra == "all"
419
+ Requires-Dist: ibm-cos-sdk; extra == "all"
177
420
  Requires-Dist: python-dateutil; extra == "all"
178
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
179
- Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
180
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
181
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
182
- Requires-Dist: msgraph-sdk; extra == "all"
183
- Requires-Dist: msrestazure; extra == "all"
421
+ Requires-Dist: docker; extra == "all"
422
+ Requires-Dist: awscli>=1.27.10; extra == "all"
423
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
424
+ Requires-Dist: tomli; extra == "all"
425
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
426
+ Requires-Dist: casbin; extra == "all"
427
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
428
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
184
429
  Requires-Dist: pyjwt; extra == "all"
185
- Requires-Dist: aiohttp; extra == "all"
186
430
  Requires-Dist: runpod>=1.6.1; extra == "all"
431
+ Requires-Dist: boto3>=1.26.1; extra == "all"
432
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
433
+ Requires-Dist: pydo>=0.3.0; extra == "all"
187
434
  Requires-Dist: azure-common; extra == "all"
188
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
189
- Requires-Dist: anyio; extra == "all"
435
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
436
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
437
+ Requires-Dist: ibm-vpc; extra == "all"
438
+ Provides-Extra: remote
439
+ Requires-Dist: grpcio>=1.63.0; extra == "remote"
440
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
441
+ Provides-Extra: server
442
+ Requires-Dist: casbin; extra == "server"
443
+ Requires-Dist: sqlalchemy_adapter; extra == "server"
444
+ Requires-Dist: passlib; extra == "server"
445
+ Requires-Dist: pyjwt; extra == "server"
446
+ Requires-Dist: aiohttp; extra == "server"
447
+ Requires-Dist: anyio; extra == "server"
448
+ Requires-Dist: grpcio>=1.63.0; extra == "server"
449
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
450
+ Requires-Dist: aiosqlite; extra == "server"
451
+ Requires-Dist: greenlet; extra == "server"
190
452
  Dynamic: author
191
453
  Dynamic: classifier
192
454
  Dynamic: description
@@ -236,13 +498,18 @@ Dynamic: summary
236
498
  ----
237
499
 
238
500
  :fire: *News* :fire:
501
+ - [Nov 2025] Serve **Kimi K2 Thinking** with reasoning capabilities on your Kubernetes or clouds: [**example**](./llm/kimi-k2-thinking/)
502
+ - [Oct 2025] Run **RL training for LLMs** with SkyRL on your Kubernetes or clouds: [**example**](./llm/skyrl/)
503
+ - [Oct 2025] Train and serve [Andrej Karpathy's](https://x.com/karpathy/status/1977755427569111362) **nanochat** - the best ChatGPT that $100 can buy: [**example**](./llm/nanochat)
504
+ - [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./examples/training/torchtitan)
505
+ - [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
506
+ - [Sep 2025] Network and Storage Benchmarks for LLM training on the cloud: [**blog**](https://maknee.github.io/blog/2025/Network-And-Storage-Training-Skypilot/)
239
507
  - [Aug 2025] Serve and finetune **OpenAI GPT-OSS models** (gpt-oss-120b, gpt-oss-20b) with one command on any infra: [**serve**](./llm/gpt-oss/) + [**LoRA and full finetuning**](./llm/gpt-oss-finetuning/)
240
508
  - [Jul 2025] Run distributed **RL training for LLMs** with Verl (PPO, GRPO) on any cloud: [**example**](./llm/verl/)
241
- - [Jul 2025] 🎉 SkyPilot v0.10.0 released! [**blog post**](https://blog.skypilot.co/announcing-skypilot-0.10.0/), [**release notes**](https://github.com/skypilot-org/skypilot/releases/tag/v0.10.0)
242
509
  - [Jul 2025] Finetune **Llama4** on any distributed cluster/cloud: [**example**](./llm/llama-4-finetuning/)
243
510
  - [Jul 2025] Two-part blog series, `The Evolution of AI Job Orchestration`: (1) [Running AI jobs on GPU Neoclouds](https://blog.skypilot.co/ai-job-orchestration-pt1-gpu-neoclouds/), (2) [The AI-Native Control Plane & Orchestration that Finally Works for ML](https://blog.skypilot.co/ai-job-orchestration-pt2-ai-control-plane/)
244
511
  - [Apr 2025] Spin up **Qwen3** on your cluster/cloud: [**example**](./llm/qwen/)
245
- - [Feb 2025] Prepare and serve **Retrieval Augmented Generation (RAG) with DeepSeek-R1**: [**blog post**](https://blog.skypilot.co/deepseek-rag), [**example**](./llm/rag/)
512
+
246
513
 
247
514
 
248
515
  **LLM Finetuning Cookbooks**: Finetuning Llama 2 / Llama 3.1 in your own cloud environment, privately: Llama 2 [**example**](./llm/vicuna-llama-2/) and [**blog**](https://blog.skypilot.co/finetuning-llama2-operational-guide/); Llama 3.1 [**example**](./llm/llama-3_1-finetuning/) and [**blog**](https://blog.skypilot.co/finetune-llama-3_1-on-your-infra/)
@@ -270,7 +537,7 @@ SkyPilot **makes Kubernetes easy for AI & Infra teams**:
270
537
  - Turbocharge your clusters: gang scheduling, multi-cluster, and scaling
271
538
 
272
539
  SkyPilot **unifies multiple clusters, clouds, and hardware**:
273
- - One interface to use reserved GPUs, Kubernetes clusters, or 16+ clouds
540
+ - One interface to use reserved GPUs, Kubernetes clusters, Slurm clusters, or 20+ clouds
274
541
  - [Flexible provisioning](https://docs.skypilot.co/en/latest/examples/auto-failover.html) of GPUs, TPUs, CPUs, with auto-retry
275
542
  - [Team deployment](https://docs.skypilot.co/en/latest/reference/api-server/api-server.html) and resource sharing
276
543
 
@@ -284,21 +551,20 @@ SkyPilot supports your existing GPU, TPU, and CPU workloads, with no code change
284
551
  Install with pip:
285
552
  ```bash
286
553
  # Choose your clouds:
287
- pip install -U "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp]"
554
+ pip install -U "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform]"
288
555
  ```
289
556
  To get the latest features and fixes, use the nightly build or [install from source](https://docs.skypilot.co/en/latest/getting-started/installation.html):
290
557
  ```bash
291
558
  # Choose your clouds:
292
- pip install "skypilot-nightly[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp]"
559
+ pip install "skypilot-nightly[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform]"
293
560
  ```
294
561
 
295
562
  <p align="center">
296
563
  <img src="docs/source/_static/intro.gif" alt="SkyPilot">
297
564
  </p>
298
565
 
299
- Current supported infra: Kubernetes, AWS, GCP, Azure, OCI, Nebius, Lambda Cloud, RunPod, Fluidstack,
300
- Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai,
301
- VMware vSphere.
566
+ Current supported infra: Kubernetes, Slurm, AWS, GCP, Azure, OCI, CoreWeave, Nebius, Lambda Cloud, RunPod, Fluidstack,
567
+ Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai, VMware vSphere, Seeweb, Prime Intellect, Shadeform.
302
568
  <p align="center">
303
569
  <img alt="SkyPilot" src="https://raw.githubusercontent.com/skypilot-org/skypilot/master/docs/source/images/cloud-logos-light.png" width=85%>
304
570
  </p>
@@ -315,7 +581,7 @@ You can find our documentation [here](https://docs.skypilot.co/).
315
581
 
316
582
  A SkyPilot task specifies: resource requirements, data to be synced, setup commands, and the task commands.
317
583
 
318
- Once written in this [**unified interface**](https://docs.skypilot.co/en/latest/reference/yaml-spec.html) (YAML or Python API), the task can be launched on any available infra (Kubernetes, cloud, etc.). This avoids vendor lock-in, and allows easily moving jobs to a different provider.
584
+ Once written in this [**unified interface**](https://docs.skypilot.co/en/latest/reference/yaml-spec.html) (YAML or Python API), the task can be launched on any available infra (Kubernetes, Slurm, cloud, etc.). This avoids vendor lock-in, and allows easily moving jobs to a different provider.
319
585
 
320
586
  Paste the following into a file `my_task.yaml`:
321
587
 
@@ -369,11 +635,11 @@ Latest featured examples:
369
635
 
370
636
  | Task | Examples |
371
637
  |----------|----------|
372
- | Training | [Verl](https://docs.skypilot.co/en/latest/examples/training/verl.html), [Finetune Llama 4](https://docs.skypilot.co/en/latest/examples/training/llama-4-finetuning.html), [PyTorch](https://docs.skypilot.co/en/latest/getting-started/tutorial.html), [DeepSpeed](https://docs.skypilot.co/en/latest/examples/training/deepspeed.html), [NeMo](https://docs.skypilot.co/en/latest/examples/training/nemo.html), [Ray](https://docs.skypilot.co/en/latest/examples/training/ray.html), [Unsloth](https://docs.skypilot.co/en/latest/examples/training/unsloth.html), [Jax/TPU](https://docs.skypilot.co/en/latest/examples/training/tpu.html) |
638
+ | Training | [Verl](https://docs.skypilot.co/en/latest/examples/training/verl.html), [Finetune Llama 4](https://docs.skypilot.co/en/latest/examples/training/llama-4-finetuning.html), [TorchTitan](https://docs.skypilot.co/en/latest/examples/training/torchtitan.html), [PyTorch](https://docs.skypilot.co/en/latest/getting-started/tutorial.html), [DeepSpeed](https://docs.skypilot.co/en/latest/examples/training/deepspeed.html), [NeMo](https://docs.skypilot.co/en/latest/examples/training/nemo.html), [Ray](https://docs.skypilot.co/en/latest/examples/training/ray.html), [Unsloth](https://docs.skypilot.co/en/latest/examples/training/unsloth.html), [Jax/TPU](https://docs.skypilot.co/en/latest/examples/training/tpu.html) |
373
639
  | Serving | [vLLM](https://docs.skypilot.co/en/latest/examples/serving/vllm.html), [SGLang](https://docs.skypilot.co/en/latest/examples/serving/sglang.html), [Ollama](https://docs.skypilot.co/en/latest/examples/serving/ollama.html) |
374
- | Models | [DeepSeek-R1](https://docs.skypilot.co/en/latest/examples/models/deepseek-r1.html), [Llama 4](https://docs.skypilot.co/en/latest/examples/models/llama-4.html), [Llama 3](https://docs.skypilot.co/en/latest/examples/models/llama-3.html), [CodeLlama](https://docs.skypilot.co/en/latest/examples/models/codellama.html), [Qwen](https://docs.skypilot.co/en/latest/examples/models/qwen.html), [Kimi-K2](https://docs.skypilot.co/en/latest/examples/models/kimi-k2.html), [Mixtral](https://docs.skypilot.co/en/latest/examples/models/mixtral.html) |
640
+ | Models | [DeepSeek-R1](https://docs.skypilot.co/en/latest/examples/models/deepseek-r1.html), [Llama 4](https://docs.skypilot.co/en/latest/examples/models/llama-4.html), [Llama 3](https://docs.skypilot.co/en/latest/examples/models/llama-3.html), [CodeLlama](https://docs.skypilot.co/en/latest/examples/models/codellama.html), [Qwen](https://docs.skypilot.co/en/latest/examples/models/qwen.html), [Kimi-K2](https://docs.skypilot.co/en/latest/examples/models/kimi-k2.html), [Kimi-K2-Thinking](https://docs.skypilot.co/en/latest/examples/models/kimi-k2-thinking.html), [Mixtral](https://docs.skypilot.co/en/latest/examples/models/mixtral.html) |
375
641
  | AI apps | [RAG](https://docs.skypilot.co/en/latest/examples/applications/rag.html), [vector databases](https://docs.skypilot.co/en/latest/examples/applications/vector_database.html) (ChromaDB, CLIP) |
376
- | Common frameworks | [Airflow](https://docs.skypilot.co/en/latest/examples/frameworks/airflow.html), [Jupyter](https://docs.skypilot.co/en/latest/examples/frameworks/jupyter.html) |
642
+ | Common frameworks | [Airflow](https://docs.skypilot.co/en/latest/examples/frameworks/airflow.html), [Jupyter](https://docs.skypilot.co/en/latest/examples/frameworks/jupyter.html), [marimo](https://docs.skypilot.co/en/latest/examples/frameworks/marimo.html) |
377
643
 
378
644
  Source files can be found in [`llm/`](https://github.com/skypilot-org/skypilot/tree/master/llm) and [`examples/`](https://github.com/skypilot-org/skypilot/tree/master/examples).
379
645