dstack 0.18.42__py3-none-any.whl → 0.18.43__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 (80) hide show
  1. dstack/_internal/cli/commands/__init__.py +2 -1
  2. dstack/_internal/cli/commands/apply.py +4 -2
  3. dstack/_internal/cli/commands/attach.py +21 -1
  4. dstack/_internal/cli/commands/completion.py +20 -0
  5. dstack/_internal/cli/commands/delete.py +3 -1
  6. dstack/_internal/cli/commands/fleet.py +2 -1
  7. dstack/_internal/cli/commands/gateway.py +7 -2
  8. dstack/_internal/cli/commands/logs.py +3 -2
  9. dstack/_internal/cli/commands/stats.py +2 -1
  10. dstack/_internal/cli/commands/stop.py +2 -1
  11. dstack/_internal/cli/commands/volume.py +2 -1
  12. dstack/_internal/cli/main.py +6 -0
  13. dstack/_internal/cli/services/completion.py +86 -0
  14. dstack/_internal/cli/services/configurators/run.py +10 -17
  15. dstack/_internal/cli/utils/fleet.py +5 -1
  16. dstack/_internal/core/backends/aws/compute.py +22 -10
  17. dstack/_internal/core/backends/aws/resources.py +3 -3
  18. dstack/_internal/core/backends/azure/compute.py +14 -8
  19. dstack/_internal/core/backends/azure/resources.py +2 -0
  20. dstack/_internal/core/backends/base/compute.py +102 -2
  21. dstack/_internal/core/backends/base/offers.py +7 -1
  22. dstack/_internal/core/backends/cudo/compute.py +8 -4
  23. dstack/_internal/core/backends/datacrunch/compute.py +10 -4
  24. dstack/_internal/core/backends/gcp/auth.py +19 -13
  25. dstack/_internal/core/backends/gcp/compute.py +25 -19
  26. dstack/_internal/core/backends/gcp/resources.py +3 -10
  27. dstack/_internal/core/backends/kubernetes/compute.py +4 -3
  28. dstack/_internal/core/backends/lambdalabs/compute.py +9 -3
  29. dstack/_internal/core/backends/nebius/compute.py +2 -2
  30. dstack/_internal/core/backends/oci/compute.py +10 -4
  31. dstack/_internal/core/backends/runpod/compute.py +11 -4
  32. dstack/_internal/core/backends/tensordock/compute.py +14 -3
  33. dstack/_internal/core/backends/vastai/compute.py +12 -2
  34. dstack/_internal/core/backends/vultr/api_client.py +3 -3
  35. dstack/_internal/core/backends/vultr/compute.py +9 -3
  36. dstack/_internal/core/models/backends/aws.py +2 -0
  37. dstack/_internal/core/models/backends/base.py +1 -0
  38. dstack/_internal/core/models/configurations.py +0 -1
  39. dstack/_internal/core/services/__init__.py +5 -1
  40. dstack/_internal/core/services/configs/__init__.py +3 -0
  41. dstack/_internal/server/background/tasks/common.py +22 -0
  42. dstack/_internal/server/background/tasks/process_instances.py +11 -18
  43. dstack/_internal/server/background/tasks/process_running_jobs.py +9 -16
  44. dstack/_internal/server/background/tasks/process_terminating_jobs.py +1 -7
  45. dstack/_internal/server/routers/logs.py +3 -0
  46. dstack/_internal/server/services/backends/configurators/aws.py +31 -1
  47. dstack/_internal/server/services/backends/configurators/gcp.py +8 -15
  48. dstack/_internal/server/services/config.py +11 -1
  49. dstack/_internal/server/services/jobs/__init__.py +12 -9
  50. dstack/_internal/server/services/jobs/configurators/dev.py +1 -3
  51. dstack/_internal/server/services/jobs/configurators/task.py +1 -3
  52. dstack/_internal/server/services/logs/__init__.py +78 -0
  53. dstack/_internal/server/services/{logs.py → logs/aws.py} +12 -207
  54. dstack/_internal/server/services/logs/base.py +47 -0
  55. dstack/_internal/server/services/logs/filelog.py +110 -0
  56. dstack/_internal/server/services/logs/gcp.py +165 -0
  57. dstack/_internal/server/services/pools.py +16 -17
  58. dstack/_internal/server/services/proxy/routers/service_proxy.py +14 -7
  59. dstack/_internal/server/settings.py +3 -0
  60. dstack/_internal/server/statics/index.html +1 -1
  61. dstack/_internal/server/statics/{main-ad5150a441de98cd8987.css → main-7510e71dfa9749a4e70e.css} +1 -1
  62. dstack/_internal/server/statics/{main-2ac66bfcbd2e39830b88.js → main-fe8fd9db55df8d10e648.js} +66 -66
  63. dstack/_internal/server/statics/{main-2ac66bfcbd2e39830b88.js.map → main-fe8fd9db55df8d10e648.js.map} +1 -1
  64. dstack/_internal/server/testing/common.py +33 -8
  65. dstack/api/_public/runs.py +1 -1
  66. dstack/version.py +2 -2
  67. {dstack-0.18.42.dist-info → dstack-0.18.43.dist-info}/METADATA +4 -3
  68. {dstack-0.18.42.dist-info → dstack-0.18.43.dist-info}/RECORD +80 -71
  69. tests/_internal/core/backends/base/__init__.py +0 -0
  70. tests/_internal/core/backends/base/test_compute.py +56 -0
  71. tests/_internal/server/background/tasks/test_process_running_jobs.py +1 -1
  72. tests/_internal/server/conftest.py +4 -5
  73. tests/_internal/server/routers/test_backends.py +1 -0
  74. tests/_internal/server/routers/test_logs.py +1 -1
  75. tests/_internal/server/routers/test_runs.py +2 -2
  76. tests/_internal/server/services/test_logs.py +3 -3
  77. {dstack-0.18.42.dist-info → dstack-0.18.43.dist-info}/LICENSE.md +0 -0
  78. {dstack-0.18.42.dist-info → dstack-0.18.43.dist-info}/WHEEL +0 -0
  79. {dstack-0.18.42.dist-info → dstack-0.18.43.dist-info}/entry_points.txt +0 -0
  80. {dstack-0.18.42.dist-info → dstack-0.18.43.dist-info}/top_level.txt +0 -0
@@ -1335,6 +1335,7 @@ class TestGetConfigInfo:
1335
1335
  "vpc_ids": None,
1336
1336
  "default_vpcs": None,
1337
1337
  "public_ips": None,
1338
+ "iam_instance_profile": None,
1338
1339
  "tags": None,
1339
1340
  "os_images": None,
1340
1341
  "creds": json.loads(backend.auth.plaintext),
@@ -3,7 +3,7 @@ from httpx import AsyncClient
3
3
  from sqlalchemy.ext.asyncio import AsyncSession
4
4
 
5
5
  from dstack._internal.core.models.users import GlobalRole, ProjectRole
6
- from dstack._internal.server.services.logs import FileLogStorage
6
+ from dstack._internal.server.services.logs.filelog import FileLogStorage
7
7
  from dstack._internal.server.services.projects import add_project_member
8
8
  from dstack._internal.server.testing.common import create_project, create_user, get_auth_headers
9
9
 
@@ -180,7 +180,7 @@ def get_dev_env_run_plan_dict(
180
180
  ],
181
181
  "env": {},
182
182
  "home_dir": "/root",
183
- "image_name": "dstackai/base:py3.13-0.6-cuda-12.1",
183
+ "image_name": "dstackai/base:py3.13-0.7-cuda-12.1",
184
184
  "user": None,
185
185
  "privileged": privileged,
186
186
  "job_name": f"{run_name}-0-0",
@@ -337,7 +337,7 @@ def get_dev_env_run_dict(
337
337
  ],
338
338
  "env": {},
339
339
  "home_dir": "/root",
340
- "image_name": "dstackai/base:py3.13-0.6-cuda-12.1",
340
+ "image_name": "dstackai/base:py3.13-0.7-cuda-12.1",
341
341
  "user": None,
342
342
  "privileged": privileged,
343
343
  "job_name": f"{run_name}-0-0",
@@ -17,11 +17,11 @@ from dstack._internal.core.models.logs import LogEvent, LogEventSource
17
17
  from dstack._internal.server.models import ProjectModel
18
18
  from dstack._internal.server.schemas.logs import PollLogsRequest
19
19
  from dstack._internal.server.schemas.runner import LogEvent as RunnerLogEvent
20
- from dstack._internal.server.services.logs import (
20
+ from dstack._internal.server.services.logs.aws import (
21
21
  CloudWatchLogStorage,
22
- FileLogStorage,
23
- LogStorageError,
24
22
  )
23
+ from dstack._internal.server.services.logs.base import LogStorageError
24
+ from dstack._internal.server.services.logs.filelog import FileLogStorage
25
25
  from dstack._internal.server.testing.common import create_project
26
26
 
27
27