dstack 0.16.3__tar.gz → 0.16.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. {dstack-0.16.3 → dstack-0.16.4}/PKG-INFO +1 -1
  2. {dstack-0.16.3 → dstack-0.16.4}/setup.py +1 -1
  3. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/__init__.py +6 -1
  4. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/dstack.py +7 -0
  5. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/backends.py +3 -0
  6. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/projects.py +18 -5
  7. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/version.py +1 -1
  8. {dstack-0.16.3 → dstack-0.16.4}/src/dstack.egg-info/PKG-INFO +1 -1
  9. {dstack-0.16.3 → dstack-0.16.4}/src/dstack.egg-info/requires.txt +1 -1
  10. {dstack-0.16.3 → dstack-0.16.4}/LICENSE.md +0 -0
  11. {dstack-0.16.3 → dstack-0.16.4}/README.md +0 -0
  12. {dstack-0.16.3 → dstack-0.16.4}/setup.cfg +0 -0
  13. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/__init__.py +0 -0
  14. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/__init__.py +0 -0
  15. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/__init__.py +0 -0
  16. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/__init__.py +0 -0
  17. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/config.py +0 -0
  18. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/gateway.py +0 -0
  19. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/init.py +0 -0
  20. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/logs.py +0 -0
  21. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/pool.py +0 -0
  22. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/ps.py +0 -0
  23. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/run.py +0 -0
  24. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/server.py +0 -0
  25. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/commands/stop.py +0 -0
  26. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/main.py +0 -0
  27. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/services/__init__.py +0 -0
  28. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/services/args.py +0 -0
  29. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/services/configurators/__init__.py +0 -0
  30. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/services/configurators/profile.py +0 -0
  31. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/services/configurators/run.py +0 -0
  32. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/utils/__init__.py +0 -0
  33. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/utils/common.py +0 -0
  34. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/utils/gateway.py +0 -0
  35. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/utils/run.py +0 -0
  36. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/cli/utils/updates.py +0 -0
  37. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/__init__.py +0 -0
  38. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/__init__.py +0 -0
  39. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/aws/__init__.py +0 -0
  40. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/aws/auth.py +0 -0
  41. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/aws/compute.py +0 -0
  42. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/aws/config.py +0 -0
  43. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/aws/resources.py +0 -0
  44. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/azure/__init__.py +0 -0
  45. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/azure/auth.py +0 -0
  46. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/azure/compute.py +0 -0
  47. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/azure/config.py +0 -0
  48. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/azure/utils.py +0 -0
  49. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/base/__init__.py +0 -0
  50. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/base/compute.py +0 -0
  51. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/base/config.py +0 -0
  52. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/base/offers.py +0 -0
  53. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/cudo/__init__.py +0 -0
  54. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/cudo/api_client.py +0 -0
  55. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/cudo/compute.py +0 -0
  56. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/cudo/config.py +0 -0
  57. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/datacrunch/__init__.py +0 -0
  58. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/datacrunch/api_client.py +0 -0
  59. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/datacrunch/compute.py +0 -0
  60. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/datacrunch/config.py +0 -0
  61. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/gcp/__init__.py +0 -0
  62. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/gcp/auth.py +0 -0
  63. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/gcp/compute.py +0 -0
  64. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/gcp/config.py +0 -0
  65. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/gcp/resources.py +0 -0
  66. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/gcp/utils.py +0 -0
  67. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/kubernetes/__init__.py +0 -0
  68. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/kubernetes/compute.py +0 -0
  69. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/kubernetes/config.py +0 -0
  70. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/kubernetes/utils.py +0 -0
  71. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/lambdalabs/__init__.py +0 -0
  72. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/lambdalabs/api_client.py +0 -0
  73. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/lambdalabs/compute.py +0 -0
  74. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/lambdalabs/config.py +0 -0
  75. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/local/__init__.py +0 -0
  76. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/local/compute.py +0 -0
  77. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/nebius/__init__.py +0 -0
  78. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/nebius/api_client.py +0 -0
  79. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/nebius/compute.py +0 -0
  80. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/nebius/config.py +0 -0
  81. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/nebius/types.py +0 -0
  82. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/tensordock/__init__.py +0 -0
  83. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/tensordock/api_client.py +0 -0
  84. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/tensordock/compute.py +0 -0
  85. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/tensordock/config.py +0 -0
  86. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/vastai/__init__.py +0 -0
  87. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/vastai/api_client.py +0 -0
  88. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/vastai/compute.py +0 -0
  89. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/backends/vastai/config.py +0 -0
  90. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/errors.py +0 -0
  91. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/__init__.py +0 -0
  92. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/aws.py +0 -0
  93. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/azure.py +0 -0
  94. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/base.py +0 -0
  95. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/cudo.py +0 -0
  96. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/datacrunch.py +0 -0
  97. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/gcp.py +0 -0
  98. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/kubernetes.py +0 -0
  99. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/lambdalabs.py +0 -0
  100. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/nebius.py +0 -0
  101. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/tensordock.py +0 -0
  102. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/backends/vastai.py +0 -0
  103. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/common.py +0 -0
  104. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/config.py +0 -0
  105. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/configurations.py +0 -0
  106. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/gateways.py +0 -0
  107. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/instances.py +0 -0
  108. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/logs.py +0 -0
  109. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/pools.py +0 -0
  110. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/profiles.py +0 -0
  111. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/projects.py +0 -0
  112. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/repos/__init__.py +0 -0
  113. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/repos/base.py +0 -0
  114. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/repos/local.py +0 -0
  115. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/repos/remote.py +0 -0
  116. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/repos/virtual.py +0 -0
  117. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/resources.py +0 -0
  118. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/runs.py +0 -0
  119. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/secrets.py +0 -0
  120. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/models/users.py +0 -0
  121. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/__init__.py +0 -0
  122. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/api_client.py +0 -0
  123. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/configs/__init__.py +0 -0
  124. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/logs.py +0 -0
  125. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/repos.py +0 -0
  126. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/ssh/__init__.py +0 -0
  127. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/ssh/attach.py +0 -0
  128. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/ssh/ports.py +0 -0
  129. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/core/services/ssh/tunnel.py +0 -0
  130. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/__init__.py +0 -0
  131. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/app.py +0 -0
  132. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/__init__.py +0 -0
  133. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/tasks/__init__.py +0 -0
  134. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/tasks/process_finished_jobs.py +0 -0
  135. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/tasks/process_pending_jobs.py +0 -0
  136. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/tasks/process_pools.py +0 -0
  137. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/tasks/process_running_jobs.py +0 -0
  138. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/background/tasks/process_submitted_jobs.py +0 -0
  139. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/db.py +0 -0
  140. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/deps.py +0 -0
  141. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/main.py +0 -0
  142. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/__init__.py +0 -0
  143. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/env.py +0 -0
  144. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/112753bc17dd_remove_nullable_fields.py +0 -0
  145. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/14f2cb002fc2_add_jobmodel_removed_flag.py +0 -0
  146. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/1a48dfe44a40_rework_termination_handling.py +0 -0
  147. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/23e01c56279a_make_blob_nullable.py +0 -0
  148. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/252d3743b641_.py +0 -0
  149. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/27d3e55759fa_add_pools.py +0 -0
  150. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/29c08c6a8cb3_.py +0 -0
  151. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/3dbdce90d0e0_fix_code_uq_constraint.py +0 -0
  152. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/48ad3ecbaea2_do_not_delete_projects_and_runs.py +0 -0
  153. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/686fb8341ea5_add_user_emails.py +0 -0
  154. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/9eea6af28e10_added_fail_reason_for_instancemodel.py +0 -0
  155. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/__init__.py +0 -0
  156. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/a060e2440936_.py +0 -0
  157. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/b88d55c2a07d_replace_instancestatus_ready.py +0 -0
  158. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/bfba43f6def2_.py +0 -0
  159. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/d0bb68e48b9f_add_project_owners_and_quotas.py +0 -0
  160. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/d3e8af4786fa_gateway_compute_flag_deleted.py +0 -0
  161. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/e6391ca6a264_separate_gateways_from_compute.py +0 -0
  162. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/ed0ca30e13bb_migrate_instancestatus_provisioning.py +0 -0
  163. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/migrations/versions/fe72c4de8376_add_gateways.py +0 -0
  164. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/models.py +0 -0
  165. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/__init__.py +0 -0
  166. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/gateways.py +0 -0
  167. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/logs.py +0 -0
  168. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/pools.py +0 -0
  169. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/projects.py +0 -0
  170. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/repos.py +0 -0
  171. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/runs.py +0 -0
  172. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/secrets.py +0 -0
  173. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/routers/users.py +0 -0
  174. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/__init__.py +0 -0
  175. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/backends.py +0 -0
  176. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/common.py +0 -0
  177. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/gateways.py +0 -0
  178. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/logs.py +0 -0
  179. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/pools.py +0 -0
  180. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/projects.py +0 -0
  181. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/repos.py +0 -0
  182. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/runner.py +0 -0
  183. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/runs.py +0 -0
  184. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/secrets.py +0 -0
  185. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/schemas/users.py +0 -0
  186. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/security/__init__.py +0 -0
  187. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/security/permissions.py +0 -0
  188. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/__init__.py +0 -0
  189. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/__init__.py +0 -0
  190. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/__init__.py +0 -0
  191. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/aws.py +0 -0
  192. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/azure.py +0 -0
  193. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/base.py +0 -0
  194. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/cudo.py +0 -0
  195. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/datacrunch.py +0 -0
  196. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/gcp.py +0 -0
  197. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/kubernetes.py +0 -0
  198. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/lambdalabs.py +0 -0
  199. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/nebius.py +0 -0
  200. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/tensordock.py +0 -0
  201. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/backends/configurators/vastai.py +0 -0
  202. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/config.py +0 -0
  203. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/docker.py +0 -0
  204. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/gateways/__init__.py +0 -0
  205. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/gateways/client.py +0 -0
  206. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/gateways/connection.py +0 -0
  207. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/gateways/pool.py +0 -0
  208. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/__init__.py +0 -0
  209. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/__init__.py +0 -0
  210. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/base.py +0 -0
  211. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/dev.py +0 -0
  212. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/extensions/__init__.py +0 -0
  213. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/extensions/base.py +0 -0
  214. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/extensions/openai.py +0 -0
  215. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/extensions/vscode.py +0 -0
  216. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/service.py +0 -0
  217. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/jobs/configurators/task.py +0 -0
  218. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/logging.py +0 -0
  219. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/logs.py +0 -0
  220. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/pools.py +0 -0
  221. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/repos.py +0 -0
  222. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/runner/__init__.py +0 -0
  223. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/runner/client.py +0 -0
  224. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/runner/ssh.py +0 -0
  225. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/runs.py +0 -0
  226. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/ssh/__init__.py +0 -0
  227. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/storage.py +0 -0
  228. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/services/users.py +0 -0
  229. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/settings.py +0 -0
  230. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/testing/__init__.py +0 -0
  231. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/testing/common.py +0 -0
  232. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/utils/__init__.py +0 -0
  233. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/utils/common.py +0 -0
  234. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/utils/logging.py +0 -0
  235. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/server/utils/routers.py +0 -0
  236. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/settings.py +0 -0
  237. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/__init__.py +0 -0
  238. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/common.py +0 -0
  239. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/crypto.py +0 -0
  240. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/hash.py +0 -0
  241. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/ignore.py +0 -0
  242. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/interpolator.py +0 -0
  243. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/logging.py +0 -0
  244. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/path.py +0 -0
  245. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/random_names.py +0 -0
  246. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/_internal/utils/ssh.py +0 -0
  247. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/__init__.py +0 -0
  248. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/__init__.py +0 -0
  249. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/backends.py +0 -0
  250. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/huggingface/__init__.py +0 -0
  251. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/huggingface/completions/__init__.py +0 -0
  252. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/huggingface/finetuning/__init__.py +0 -0
  253. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/huggingface/finetuning/sft/__init__.py +0 -0
  254. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/huggingface/finetuning/sft/train.py +0 -0
  255. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/pools.py +0 -0
  256. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/repos.py +0 -0
  257. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/resources.py +0 -0
  258. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/_public/runs.py +0 -0
  259. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/huggingface/__init__.py +0 -0
  260. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/__init__.py +0 -0
  261. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_backends.py +0 -0
  262. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_gateways.py +0 -0
  263. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_group.py +0 -0
  264. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_logs.py +0 -0
  265. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_pools.py +0 -0
  266. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_projects.py +0 -0
  267. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_repos.py +0 -0
  268. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_runs.py +0 -0
  269. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_secrets.py +0 -0
  270. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/_users.py +0 -0
  271. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/server/utils.py +0 -0
  272. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/api/utils.py +0 -0
  273. {dstack-0.16.3 → dstack-0.16.4}/src/dstack/core/__init__.py +0 -0
  274. {dstack-0.16.3 → dstack-0.16.4}/src/dstack.egg-info/SOURCES.txt +0 -0
  275. {dstack-0.16.3 → dstack-0.16.4}/src/dstack.egg-info/dependency_links.txt +0 -0
  276. {dstack-0.16.3 → dstack-0.16.4}/src/dstack.egg-info/entry_points.txt +0 -0
  277. {dstack-0.16.3 → dstack-0.16.4}/src/dstack.egg-info/top_level.txt +0 -0
  278. {dstack-0.16.3 → dstack-0.16.4}/src/tests/__init__.py +0 -0
  279. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/__init__.py +0 -0
  280. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/__init__.py +0 -0
  281. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/commands/__init__.py +0 -0
  282. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/commands/test_config.py +0 -0
  283. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/commands/test_dstack.py +0 -0
  284. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/common.py +0 -0
  285. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/services/__init__.py +0 -0
  286. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/services/configurators/__init__.py +0 -0
  287. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/services/configurators/test_profile.py +0 -0
  288. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/cli/services/configurators/test_run.py +0 -0
  289. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/__init__.py +0 -0
  290. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/backends/__init__.py +0 -0
  291. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/backends/kubernetes/__init__.py +0 -0
  292. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/backends/kubernetes/test_compute.py +0 -0
  293. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/models/__init__.py +0 -0
  294. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/models/test_resources.py +0 -0
  295. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/services/__init__.py +0 -0
  296. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/core/services/test_logs.py +0 -0
  297. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/__init__.py +0 -0
  298. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/__init__.py +0 -0
  299. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/tasks/__init__.py +0 -0
  300. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/tasks/test_process_pending_jobs.py +0 -0
  301. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/tasks/test_process_pool.py +0 -0
  302. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/tasks/test_process_running_jobs.py +0 -0
  303. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/tasks/test_process_submitted_jobs.py +0 -0
  304. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/background/tasks/test_process_terminating_jobs.py +0 -0
  305. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/conftest.py +0 -0
  306. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/__init__.py +0 -0
  307. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_backends.py +0 -0
  308. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_gateways.py +0 -0
  309. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_logs.py +0 -0
  310. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_pools.py +0 -0
  311. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_projects.py +0 -0
  312. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_repos.py +0 -0
  313. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_runs.py +0 -0
  314. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/routers/test_users.py +0 -0
  315. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/services/__init__.py +0 -0
  316. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/services/test_config.py +0 -0
  317. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/services/test_logs.py +0 -0
  318. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/services/test_pools.py +0 -0
  319. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/utils/__init__.py +0 -0
  320. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/server/utils/test_routers.py +0 -0
  321. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/utils/__init__.py +0 -0
  322. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/utils/test_common.py +0 -0
  323. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/utils/test_interpolator.py +0 -0
  324. {dstack-0.16.3 → dstack-0.16.4}/src/tests/_internal/utils/test_path.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dstack
3
- Version: 0.16.3
3
+ Version: 0.16.4
4
4
  Summary: dstack is an open-source engine for running GPU workloads across any cloud provider.
5
5
  Home-page: https://dstack.ai
6
6
  Author: Andrey Cheptsov
@@ -60,7 +60,7 @@ BASE_DEPS = [
60
60
  "docker>=6.0.0",
61
61
  "dnspython",
62
62
  "grpcio>=1.50", # indirect
63
- "gpuhunt==0.0.6",
63
+ "gpuhunt==0.0.8",
64
64
  "sentry-sdk[fastapi]",
65
65
  "httpx",
66
66
  ]
@@ -26,7 +26,11 @@ from dstack._internal.core.models.backends.datacrunch import (
26
26
  DataCrunchConfigInfoWithCredsPartial,
27
27
  DataCrunchConfigValues,
28
28
  )
29
- from dstack._internal.core.models.backends.dstack import DstackConfigInfo, DstackConfigValues
29
+ from dstack._internal.core.models.backends.dstack import (
30
+ DstackBaseBackendConfigInfo,
31
+ DstackConfigInfo,
32
+ DstackConfigValues,
33
+ )
30
34
  from dstack._internal.core.models.backends.gcp import (
31
35
  GCPConfigInfo,
32
36
  GCPConfigInfoWithCreds,
@@ -76,6 +80,7 @@ AnyConfigInfoWithoutCreds = Union[
76
80
  TensorDockConfigInfo,
77
81
  VastAIConfigInfo,
78
82
  DstackConfigInfo,
83
+ DstackBaseBackendConfigInfo,
79
84
  ]
80
85
  AnyConfigInfoWithCreds = Union[
81
86
  AWSConfigInfoWithCreds,
@@ -1,9 +1,16 @@
1
+ from typing import List
2
+
1
3
  from pydantic import BaseModel
2
4
  from typing_extensions import Literal
3
5
 
4
6
 
5
7
  class DstackConfigInfo(BaseModel):
6
8
  type: Literal["dstack"] = "dstack"
9
+ base_backends: List[str]
10
+
11
+
12
+ class DstackBaseBackendConfigInfo(BaseModel):
13
+ type: str
7
14
 
8
15
 
9
16
  class DstackConfigValues(BaseModel):
@@ -22,6 +22,9 @@ root_router = APIRouter(prefix="/api/backends", tags=["backends"])
22
22
  project_router = APIRouter(prefix="/api/project/{project_name}/backends", tags=["backends"])
23
23
 
24
24
 
25
+ # These routes are not currently in use since backend UI configuration is disabled.
26
+
27
+
25
28
  @root_router.post("/list_types")
26
29
  async def list_backend_types() -> List[BackendType]:
27
30
  return backends.list_available_backend_types()
@@ -6,6 +6,10 @@ from sqlalchemy.ext.asyncio import AsyncSession
6
6
 
7
7
  from dstack._internal.core.errors import ForbiddenError, ResourceExistsError, ServerClientError
8
8
  from dstack._internal.core.models.backends import BackendInfo
9
+ from dstack._internal.core.models.backends.dstack import (
10
+ DstackBaseBackendConfigInfo,
11
+ DstackConfigInfo,
12
+ )
9
13
  from dstack._internal.core.models.projects import Member, Project
10
14
  from dstack._internal.core.models.users import GlobalRole, ProjectRole
11
15
  from dstack._internal.server.models import MemberModel, ProjectModel, UserModel
@@ -272,11 +276,20 @@ def project_model_to_project(project_model: ProjectModel) -> Project:
272
276
  logger.warning("Configurator for backend %s not found", b.type)
273
277
  continue
274
278
  config_info = configurator.get_config_info(model=b, include_creds=False)
275
- backend_info = BackendInfo(
276
- name=b.type,
277
- config=config_info,
278
- )
279
- backends.append(backend_info)
279
+ if isinstance(config_info, DstackConfigInfo):
280
+ for backend_type in config_info.base_backends:
281
+ backends.append(
282
+ BackendInfo(
283
+ name=backend_type, config=DstackBaseBackendConfigInfo(type=backend_type)
284
+ )
285
+ )
286
+ else:
287
+ backends.append(
288
+ BackendInfo(
289
+ name=b.type,
290
+ config=config_info,
291
+ )
292
+ )
280
293
  return Project(
281
294
  project_id=project_model.id,
282
295
  project_name=project_model.name,
@@ -1,3 +1,3 @@
1
- __version__ = "0.16.3"
1
+ __version__ = "0.16.4"
2
2
  __is_release__ = True
3
3
  base_image = "0.4rc4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dstack
3
- Version: 0.16.3
3
+ Version: 0.16.4
4
4
  Summary: dstack is an open-source engine for running GPU workloads across any cloud provider.
5
5
  Home-page: https://dstack.ai
6
6
  Author: Andrey Cheptsov
@@ -30,7 +30,7 @@ filelock
30
30
  docker>=6.0.0
31
31
  dnspython
32
32
  grpcio>=1.50
33
- gpuhunt==0.0.6
33
+ gpuhunt==0.0.8
34
34
  sentry-sdk[fastapi]
35
35
  httpx
36
36
 
File without changes
File without changes
File without changes
File without changes