dstack 0.19.1__py3-none-any.whl → 0.19.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dstack might be problematic. Click here for more details.
- dstack/_internal/cli/commands/metrics.py +138 -0
- dstack/_internal/cli/commands/stats.py +5 -119
- dstack/_internal/cli/main.py +2 -0
- dstack/_internal/cli/services/profile.py +9 -0
- dstack/_internal/core/backends/aws/configurator.py +1 -0
- dstack/_internal/core/backends/base/compute.py +4 -1
- dstack/_internal/core/backends/base/models.py +7 -7
- dstack/_internal/core/backends/configurators.py +9 -0
- dstack/_internal/core/backends/cudo/compute.py +2 -0
- dstack/_internal/core/backends/cudo/configurator.py +0 -13
- dstack/_internal/core/backends/datacrunch/compute.py +118 -32
- dstack/_internal/core/backends/datacrunch/configurator.py +16 -11
- dstack/_internal/core/backends/gcp/compute.py +140 -26
- dstack/_internal/core/backends/gcp/configurator.py +2 -0
- dstack/_internal/core/backends/gcp/features/__init__.py +0 -0
- dstack/_internal/core/backends/gcp/features/tcpx.py +34 -0
- dstack/_internal/core/backends/gcp/models.py +13 -1
- dstack/_internal/core/backends/gcp/resources.py +64 -27
- dstack/_internal/core/backends/lambdalabs/compute.py +2 -4
- dstack/_internal/core/backends/lambdalabs/configurator.py +0 -21
- dstack/_internal/core/backends/models.py +8 -0
- dstack/_internal/core/backends/nebius/__init__.py +0 -0
- dstack/_internal/core/backends/nebius/backend.py +16 -0
- dstack/_internal/core/backends/nebius/compute.py +272 -0
- dstack/_internal/core/backends/nebius/configurator.py +74 -0
- dstack/_internal/core/backends/nebius/models.py +108 -0
- dstack/_internal/core/backends/nebius/resources.py +240 -0
- dstack/_internal/core/backends/tensordock/api_client.py +5 -4
- dstack/_internal/core/backends/tensordock/compute.py +2 -15
- dstack/_internal/core/errors.py +14 -0
- dstack/_internal/core/models/backends/base.py +2 -0
- dstack/_internal/core/models/profiles.py +3 -0
- dstack/_internal/proxy/lib/schemas/model_proxy.py +3 -3
- dstack/_internal/server/background/tasks/process_instances.py +12 -7
- dstack/_internal/server/background/tasks/process_running_jobs.py +20 -0
- dstack/_internal/server/background/tasks/process_submitted_jobs.py +3 -2
- dstack/_internal/server/routers/prometheus.py +5 -0
- dstack/_internal/server/security/permissions.py +19 -1
- dstack/_internal/server/services/instances.py +14 -6
- dstack/_internal/server/services/jobs/__init__.py +3 -3
- dstack/_internal/server/services/offers.py +4 -2
- dstack/_internal/server/services/runs.py +0 -2
- dstack/_internal/server/statics/index.html +1 -1
- dstack/_internal/server/statics/{main-da9f8c06a69c20dac23e.css → main-8f9c66f404e9c7e7e020.css} +1 -1
- dstack/_internal/server/statics/{main-4a0fe83e84574654e397.js → main-e190de603dc1e9f485ec.js} +7306 -149
- dstack/_internal/server/statics/{main-4a0fe83e84574654e397.js.map → main-e190de603dc1e9f485ec.js.map} +1 -1
- dstack/_internal/utils/common.py +8 -2
- dstack/_internal/utils/event_loop.py +30 -0
- dstack/_internal/utils/ignore.py +2 -0
- dstack/api/server/_fleets.py +3 -5
- dstack/api/server/_runs.py +6 -7
- dstack/version.py +1 -1
- {dstack-0.19.1.dist-info → dstack-0.19.3.dist-info}/METADATA +27 -11
- {dstack-0.19.1.dist-info → dstack-0.19.3.dist-info}/RECORD +67 -57
- tests/_internal/core/backends/datacrunch/test_configurator.py +6 -2
- tests/_internal/server/background/tasks/test_process_instances.py +4 -2
- tests/_internal/server/background/tasks/test_process_submitted_jobs.py +29 -0
- tests/_internal/server/routers/test_backends.py +116 -0
- tests/_internal/server/routers/test_fleets.py +2 -0
- tests/_internal/server/routers/test_prometheus.py +21 -0
- tests/_internal/server/routers/test_runs.py +4 -0
- tests/_internal/utils/test_common.py +16 -1
- tests/_internal/utils/test_event_loop.py +18 -0
- dstack/_internal/core/backends/datacrunch/api_client.py +0 -77
- {dstack-0.19.1.dist-info → dstack-0.19.3.dist-info}/LICENSE.md +0 -0
- {dstack-0.19.1.dist-info → dstack-0.19.3.dist-info}/WHEEL +0 -0
- {dstack-0.19.1.dist-info → dstack-0.19.3.dist-info}/entry_points.txt +0 -0
- {dstack-0.19.1.dist-info → dstack-0.19.3.dist-info}/top_level.txt +0 -0
dstack/_internal/utils/common.py
CHANGED
|
@@ -67,9 +67,15 @@ def pretty_date(time: datetime) -> str:
|
|
|
67
67
|
if diff.days < 7:
|
|
68
68
|
return str(diff.days) + " days ago"
|
|
69
69
|
if diff.days < 31:
|
|
70
|
-
|
|
70
|
+
weeks = round(diff.days / 7)
|
|
71
|
+
if weeks == 1:
|
|
72
|
+
return str(weeks) + " week ago"
|
|
73
|
+
return str(weeks) + " weeks ago"
|
|
71
74
|
if diff.days < 365:
|
|
72
|
-
|
|
75
|
+
months = round(diff.days / 30)
|
|
76
|
+
if months == 1:
|
|
77
|
+
return str(months) + " month ago"
|
|
78
|
+
return str(months) + " months ago"
|
|
73
79
|
years = round(diff.days / 365)
|
|
74
80
|
if years == 1:
|
|
75
81
|
return str(years) + " year ago"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import threading
|
|
3
|
+
from collections.abc import Awaitable
|
|
4
|
+
from typing import TypeVar
|
|
5
|
+
|
|
6
|
+
T = TypeVar("T")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class DaemonEventLoop:
|
|
10
|
+
"""
|
|
11
|
+
A wrapper around asyncio.EventLoop that runs the loop in a daemon thread.
|
|
12
|
+
The thread is started with the first `await_` call.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
def __init__(self) -> None:
|
|
16
|
+
self._loop = asyncio.new_event_loop()
|
|
17
|
+
self._start_lock = threading.Lock()
|
|
18
|
+
self._started = False
|
|
19
|
+
|
|
20
|
+
def await_(self, awaitable: Awaitable[T]) -> T:
|
|
21
|
+
with self._start_lock:
|
|
22
|
+
if not self._started:
|
|
23
|
+
threading.Thread(target=self._loop.run_forever, daemon=True).start()
|
|
24
|
+
self._started = True
|
|
25
|
+
future = asyncio.run_coroutine_threadsafe(_coroutine(awaitable), self._loop)
|
|
26
|
+
return future.result()
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
async def _coroutine(awaitable: Awaitable[T]) -> T:
|
|
30
|
+
return await awaitable
|
dstack/_internal/utils/ignore.py
CHANGED
|
@@ -20,6 +20,8 @@ class GitIgnore:
|
|
|
20
20
|
self.load_recursive()
|
|
21
21
|
|
|
22
22
|
def load_ignore_file(self, path: str, ignore_file: Path):
|
|
23
|
+
if path != "." and not path.startswith("./"):
|
|
24
|
+
path = "./" + path
|
|
23
25
|
if path not in self.ignore_globs:
|
|
24
26
|
self.ignore_globs[path] = []
|
|
25
27
|
with ignore_file.open("r") as f:
|
dstack/api/server/_fleets.py
CHANGED
|
@@ -64,11 +64,9 @@ def _get_fleet_spec_excludes(fleet_spec: FleetSpec) -> Optional[Dict]:
|
|
|
64
64
|
spec_excludes: Dict[str, Any] = {}
|
|
65
65
|
configuration_excludes: Dict[str, Any] = {}
|
|
66
66
|
profile_excludes: set[str] = set()
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# if fleet_spec.profile is not None and fleet_spec.profile.availability_zones is None:
|
|
71
|
-
# profile_excludes.add("availability_zones")
|
|
67
|
+
profile = fleet_spec.profile
|
|
68
|
+
if profile.fleets is None:
|
|
69
|
+
profile_excludes.add("fleets")
|
|
72
70
|
if configuration_excludes:
|
|
73
71
|
spec_excludes["configuration"] = configuration_excludes
|
|
74
72
|
if profile_excludes:
|
dstack/api/server/_runs.py
CHANGED
|
@@ -104,13 +104,12 @@ def _get_run_spec_excludes(run_spec: RunSpec) -> Optional[Dict]:
|
|
|
104
104
|
spec_excludes: dict[str, Any] = {}
|
|
105
105
|
configuration_excludes: dict[str, Any] = {}
|
|
106
106
|
profile_excludes: set[str] = set()
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
# profile_excludes.add("availability_zones")
|
|
107
|
+
configuration = run_spec.configuration
|
|
108
|
+
profile = run_spec.profile
|
|
109
|
+
if configuration.fleets is None:
|
|
110
|
+
configuration_excludes["fleets"] = True
|
|
111
|
+
if profile is not None and profile.fleets is None:
|
|
112
|
+
profile_excludes.add("fleets")
|
|
114
113
|
if configuration_excludes:
|
|
115
114
|
spec_excludes["configuration"] = configuration_excludes
|
|
116
115
|
if profile_excludes:
|
dstack/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dstack
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.3
|
|
4
4
|
Summary: dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.
|
|
5
5
|
Home-page: https://dstack.ai
|
|
6
6
|
Author: Andrey Cheptsov
|
|
@@ -23,6 +23,7 @@ Requires-Dist: typing-extensions>=4.0.0
|
|
|
23
23
|
Requires-Dist: cryptography
|
|
24
24
|
Requires-Dist: packaging
|
|
25
25
|
Requires-Dist: python-dateutil
|
|
26
|
+
Requires-Dist: cachetools
|
|
26
27
|
Requires-Dist: gitpython
|
|
27
28
|
Requires-Dist: jsonschema
|
|
28
29
|
Requires-Dist: paramiko>=3.2.0
|
|
@@ -37,7 +38,7 @@ Requires-Dist: websocket-client
|
|
|
37
38
|
Requires-Dist: python-multipart>=0.0.16
|
|
38
39
|
Requires-Dist: filelock
|
|
39
40
|
Requires-Dist: psutil
|
|
40
|
-
Requires-Dist: gpuhunt<0.2.0,>=0.1.
|
|
41
|
+
Requires-Dist: gpuhunt<0.2.0,>=0.1.2
|
|
41
42
|
Requires-Dist: argcomplete>=3.5.0
|
|
42
43
|
Provides-Extra: all
|
|
43
44
|
Requires-Dist: fastapi; extra == "all"
|
|
@@ -58,7 +59,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "all"
|
|
|
58
59
|
Requires-Dist: sentry-sdk[fastapi]; extra == "all"
|
|
59
60
|
Requires-Dist: alembic-postgresql-enum; extra == "all"
|
|
60
61
|
Requires-Dist: asyncpg; extra == "all"
|
|
61
|
-
Requires-Dist: cachetools; extra == "all"
|
|
62
62
|
Requires-Dist: python-json-logger>=3.1.0; extra == "all"
|
|
63
63
|
Requires-Dist: prometheus-client; extra == "all"
|
|
64
64
|
Requires-Dist: grpcio>=1.50; extra == "all"
|
|
@@ -80,6 +80,7 @@ Requires-Dist: google-cloud-tpu>=1.18.3; extra == "all"
|
|
|
80
80
|
Requires-Dist: datacrunch; extra == "all"
|
|
81
81
|
Requires-Dist: kubernetes; extra == "all"
|
|
82
82
|
Requires-Dist: oci; extra == "all"
|
|
83
|
+
Requires-Dist: nebius<0.3,>=0.2.19; python_version >= "3.10" and extra == "all"
|
|
83
84
|
Provides-Extra: aws
|
|
84
85
|
Requires-Dist: fastapi; extra == "aws"
|
|
85
86
|
Requires-Dist: starlette>=0.26.0; extra == "aws"
|
|
@@ -99,7 +100,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "aws"
|
|
|
99
100
|
Requires-Dist: sentry-sdk[fastapi]; extra == "aws"
|
|
100
101
|
Requires-Dist: alembic-postgresql-enum; extra == "aws"
|
|
101
102
|
Requires-Dist: asyncpg; extra == "aws"
|
|
102
|
-
Requires-Dist: cachetools; extra == "aws"
|
|
103
103
|
Requires-Dist: python-json-logger>=3.1.0; extra == "aws"
|
|
104
104
|
Requires-Dist: prometheus-client; extra == "aws"
|
|
105
105
|
Requires-Dist: grpcio>=1.50; extra == "aws"
|
|
@@ -124,7 +124,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "azure"
|
|
|
124
124
|
Requires-Dist: sentry-sdk[fastapi]; extra == "azure"
|
|
125
125
|
Requires-Dist: alembic-postgresql-enum; extra == "azure"
|
|
126
126
|
Requires-Dist: asyncpg; extra == "azure"
|
|
127
|
-
Requires-Dist: cachetools; extra == "azure"
|
|
128
127
|
Requires-Dist: python-json-logger>=3.1.0; extra == "azure"
|
|
129
128
|
Requires-Dist: prometheus-client; extra == "azure"
|
|
130
129
|
Requires-Dist: grpcio>=1.50; extra == "azure"
|
|
@@ -153,7 +152,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "datacrunch"
|
|
|
153
152
|
Requires-Dist: sentry-sdk[fastapi]; extra == "datacrunch"
|
|
154
153
|
Requires-Dist: alembic-postgresql-enum; extra == "datacrunch"
|
|
155
154
|
Requires-Dist: asyncpg; extra == "datacrunch"
|
|
156
|
-
Requires-Dist: cachetools; extra == "datacrunch"
|
|
157
155
|
Requires-Dist: python-json-logger>=3.1.0; extra == "datacrunch"
|
|
158
156
|
Requires-Dist: prometheus-client; extra == "datacrunch"
|
|
159
157
|
Requires-Dist: grpcio>=1.50; extra == "datacrunch"
|
|
@@ -185,7 +183,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "gcp"
|
|
|
185
183
|
Requires-Dist: sentry-sdk[fastapi]; extra == "gcp"
|
|
186
184
|
Requires-Dist: alembic-postgresql-enum; extra == "gcp"
|
|
187
185
|
Requires-Dist: asyncpg; extra == "gcp"
|
|
188
|
-
Requires-Dist: cachetools; extra == "gcp"
|
|
189
186
|
Requires-Dist: python-json-logger>=3.1.0; extra == "gcp"
|
|
190
187
|
Requires-Dist: prometheus-client; extra == "gcp"
|
|
191
188
|
Requires-Dist: grpcio>=1.50; extra == "gcp"
|
|
@@ -215,7 +212,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "kubernetes"
|
|
|
215
212
|
Requires-Dist: sentry-sdk[fastapi]; extra == "kubernetes"
|
|
216
213
|
Requires-Dist: alembic-postgresql-enum; extra == "kubernetes"
|
|
217
214
|
Requires-Dist: asyncpg; extra == "kubernetes"
|
|
218
|
-
Requires-Dist: cachetools; extra == "kubernetes"
|
|
219
215
|
Requires-Dist: python-json-logger>=3.1.0; extra == "kubernetes"
|
|
220
216
|
Requires-Dist: prometheus-client; extra == "kubernetes"
|
|
221
217
|
Requires-Dist: grpcio>=1.50; extra == "kubernetes"
|
|
@@ -239,12 +235,34 @@ Requires-Dist: python-dxf==12.1.0; extra == "lambda"
|
|
|
239
235
|
Requires-Dist: sentry-sdk[fastapi]; extra == "lambda"
|
|
240
236
|
Requires-Dist: alembic-postgresql-enum; extra == "lambda"
|
|
241
237
|
Requires-Dist: asyncpg; extra == "lambda"
|
|
242
|
-
Requires-Dist: cachetools; extra == "lambda"
|
|
243
238
|
Requires-Dist: python-json-logger>=3.1.0; extra == "lambda"
|
|
244
239
|
Requires-Dist: prometheus-client; extra == "lambda"
|
|
245
240
|
Requires-Dist: grpcio>=1.50; extra == "lambda"
|
|
246
241
|
Requires-Dist: boto3; extra == "lambda"
|
|
247
242
|
Requires-Dist: botocore; extra == "lambda"
|
|
243
|
+
Provides-Extra: nebius
|
|
244
|
+
Requires-Dist: fastapi; extra == "nebius"
|
|
245
|
+
Requires-Dist: starlette>=0.26.0; extra == "nebius"
|
|
246
|
+
Requires-Dist: uvicorn; extra == "nebius"
|
|
247
|
+
Requires-Dist: aiorwlock; extra == "nebius"
|
|
248
|
+
Requires-Dist: aiocache; extra == "nebius"
|
|
249
|
+
Requires-Dist: httpx; extra == "nebius"
|
|
250
|
+
Requires-Dist: jinja2; extra == "nebius"
|
|
251
|
+
Requires-Dist: watchfiles; extra == "nebius"
|
|
252
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0.0; extra == "nebius"
|
|
253
|
+
Requires-Dist: sqlalchemy-utils>=0.40.0; extra == "nebius"
|
|
254
|
+
Requires-Dist: alembic>=1.10.2; extra == "nebius"
|
|
255
|
+
Requires-Dist: apscheduler<4; extra == "nebius"
|
|
256
|
+
Requires-Dist: aiosqlite; extra == "nebius"
|
|
257
|
+
Requires-Dist: docker>=6.0.0; extra == "nebius"
|
|
258
|
+
Requires-Dist: python-dxf==12.1.0; extra == "nebius"
|
|
259
|
+
Requires-Dist: sentry-sdk[fastapi]; extra == "nebius"
|
|
260
|
+
Requires-Dist: alembic-postgresql-enum; extra == "nebius"
|
|
261
|
+
Requires-Dist: asyncpg; extra == "nebius"
|
|
262
|
+
Requires-Dist: python-json-logger>=3.1.0; extra == "nebius"
|
|
263
|
+
Requires-Dist: prometheus-client; extra == "nebius"
|
|
264
|
+
Requires-Dist: grpcio>=1.50; extra == "nebius"
|
|
265
|
+
Requires-Dist: nebius<0.3,>=0.2.19; extra == "nebius"
|
|
248
266
|
Provides-Extra: oci
|
|
249
267
|
Requires-Dist: fastapi; extra == "oci"
|
|
250
268
|
Requires-Dist: starlette>=0.26.0; extra == "oci"
|
|
@@ -264,7 +282,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "oci"
|
|
|
264
282
|
Requires-Dist: sentry-sdk[fastapi]; extra == "oci"
|
|
265
283
|
Requires-Dist: alembic-postgresql-enum; extra == "oci"
|
|
266
284
|
Requires-Dist: asyncpg; extra == "oci"
|
|
267
|
-
Requires-Dist: cachetools; extra == "oci"
|
|
268
285
|
Requires-Dist: python-json-logger>=3.1.0; extra == "oci"
|
|
269
286
|
Requires-Dist: prometheus-client; extra == "oci"
|
|
270
287
|
Requires-Dist: grpcio>=1.50; extra == "oci"
|
|
@@ -288,7 +305,6 @@ Requires-Dist: python-dxf==12.1.0; extra == "server"
|
|
|
288
305
|
Requires-Dist: sentry-sdk[fastapi]; extra == "server"
|
|
289
306
|
Requires-Dist: alembic-postgresql-enum; extra == "server"
|
|
290
307
|
Requires-Dist: asyncpg; extra == "server"
|
|
291
|
-
Requires-Dist: cachetools; extra == "server"
|
|
292
308
|
Requires-Dist: python-json-logger>=3.1.0; extra == "server"
|
|
293
309
|
Requires-Dist: prometheus-client; extra == "server"
|
|
294
310
|
Requires-Dist: grpcio>=1.50; extra == "server"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
dstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
dstack/version.py,sha256=
|
|
2
|
+
dstack/version.py,sha256=DKk0Y8_Op_UbyKNVsizxt2z7ZswlPckTIFYm3ZlwFTM,64
|
|
3
3
|
dstack/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
dstack/_internal/compat.py,sha256=bF9U9fTMfL8UVhCouedoUSTYFl7UAOiU0WXrnRoByxw,40
|
|
5
5
|
dstack/_internal/settings.py,sha256=8XODoSW2joaEndvZxuHUPSFK85sGgJ7fVL976isYeJM,557
|
|
6
6
|
dstack/_internal/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
dstack/_internal/cli/main.py,sha256=
|
|
7
|
+
dstack/_internal/cli/main.py,sha256=tVSDJxBI4qJhsDePgPkkJCEB-e98j7HSWzvcSfA64G8,3594
|
|
8
8
|
dstack/_internal/cli/commands/__init__.py,sha256=e8EjD8Ej7Q3_APlxAN7NBwY7dGnW-DR91nH_RgcjBXg,2023
|
|
9
9
|
dstack/_internal/cli/commands/apply.py,sha256=dZH2B3Yr-lB7hs-QeUnvX0FV0Yk2x19dEO5uSFo4098,4909
|
|
10
10
|
dstack/_internal/cli/commands/attach.py,sha256=resmqoqkIOptp9Vn4BMs8m42Txl4mPzFDhHcv_lkWJk,5033
|
|
@@ -15,15 +15,16 @@ dstack/_internal/cli/commands/fleet.py,sha256=J0Yi5CAYvIQF_NC4ZBsDYGc3grTOtvaF7s
|
|
|
15
15
|
dstack/_internal/cli/commands/gateway.py,sha256=DcD6P_MvXbSL9aXkLX9hgGYSAzARjgY6RSbrCMzdNcg,6075
|
|
16
16
|
dstack/_internal/cli/commands/init.py,sha256=bLhSlViNWtjflB6xNq_PuCR2o2A06h222luh1NeUgVA,1169
|
|
17
17
|
dstack/_internal/cli/commands/logs.py,sha256=o8ehPAKM12Xn9thg2jjnYdr7_wKqF-00ziVry8IVVwE,1528
|
|
18
|
+
dstack/_internal/cli/commands/metrics.py,sha256=nxdTcyCvHNev7Mn19zGQ7vTHUBGY6hyvPtY6Z731SOU,5373
|
|
18
19
|
dstack/_internal/cli/commands/ps.py,sha256=WUQKL-1HcoM-oFF_WX4zplO8yKGMWfVbsivg0L7LP2w,1666
|
|
19
20
|
dstack/_internal/cli/commands/server.py,sha256=dCEdmVp1OlwFnSGw9k8mBb26wZy1D_ctgn5pmK8ZrCQ,2802
|
|
20
|
-
dstack/_internal/cli/commands/stats.py,sha256=
|
|
21
|
+
dstack/_internal/cli/commands/stats.py,sha256=_CiJPQZuKHUzA1x7CHJP-leth3MmqiQ2-jwojq6G-e8,390
|
|
21
22
|
dstack/_internal/cli/commands/stop.py,sha256=i7TreejSemrQcL7C37La22KkwM98O09IDMRNt8cw1NI,1000
|
|
22
23
|
dstack/_internal/cli/commands/volume.py,sha256=h0bQQm6zx1Bq0kdBX5ksqPZk55wz-md_Kitm0RTDReg,3214
|
|
23
24
|
dstack/_internal/cli/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
25
|
dstack/_internal/cli/services/args.py,sha256=Rnqq4M979bNACwWehgGKF2j30x01Efs-dDP-bjyTroE,782
|
|
25
26
|
dstack/_internal/cli/services/completion.py,sha256=HvWHdZhXQWX1FyHf1OtQJxeuIXMXBKcoa5UjNRr0AN0,2984
|
|
26
|
-
dstack/_internal/cli/services/profile.py,sha256=
|
|
27
|
+
dstack/_internal/cli/services/profile.py,sha256=zfLRuesv5DSnLkbOU-TouvYmGGaKvw33yTVvK7HbxII,5853
|
|
27
28
|
dstack/_internal/cli/services/repos.py,sha256=ImJuElGjsR4OQ7dBquy4PCQUbBM4bR4vhyLwMrVBS7k,3307
|
|
28
29
|
dstack/_internal/cli/services/configurators/__init__.py,sha256=z94VPBFqybP8Zpwy3CzYxmpPAqYBOvRRLpXoz2H4GKI,2697
|
|
29
30
|
dstack/_internal/cli/services/configurators/base.py,sha256=DxVuF9pDqghq9mFCcTDG1CxO06IAAwvzlc9nHflCipc,3443
|
|
@@ -41,15 +42,15 @@ dstack/_internal/cli/utils/updates.py,sha256=9KQcm_TEE_PiU0yc5WH4xRse0WIeHOubi9E
|
|
|
41
42
|
dstack/_internal/cli/utils/volume.py,sha256=mU9I06dVMFbpjfkefxrZNoSWadKLoib3U14rHudNQN4,1975
|
|
42
43
|
dstack/_internal/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
44
|
dstack/_internal/core/consts.py,sha256=c1Yd5UY6Qx7KeuYgloXWncWhMsYj6TqwlElda7NtB98,254
|
|
44
|
-
dstack/_internal/core/errors.py,sha256=
|
|
45
|
+
dstack/_internal/core/errors.py,sha256=elI7vcTXJvCpg_TOcpar5nBTKiQ71vZMEly6aM_N0jg,3212
|
|
45
46
|
dstack/_internal/core/backends/__init__.py,sha256=fwgV8CN8Ap6MZmWklMGHHf0roliBtqne-ijjVOpWcgc,2467
|
|
46
|
-
dstack/_internal/core/backends/configurators.py,sha256=
|
|
47
|
-
dstack/_internal/core/backends/models.py,sha256=
|
|
47
|
+
dstack/_internal/core/backends/configurators.py,sha256=JxGfZwcmL90akMFkAzzZ_fzPvU2No0pBaBqU_g0D-y0,3775
|
|
48
|
+
dstack/_internal/core/backends/models.py,sha256=aKQOrDEStouuwY4MacSen7SkoyAa6HR6a6PFq5-cbNk,4088
|
|
48
49
|
dstack/_internal/core/backends/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
50
|
dstack/_internal/core/backends/aws/auth.py,sha256=TzjRq01exWToWUf9BjT_58zB7L_wnNZduTdVlPmUfxg,1061
|
|
50
51
|
dstack/_internal/core/backends/aws/backend.py,sha256=pjROH-S9pgrSMm-Eox_ocL7cTU6mIMRxvURq7Vi-2J8,876
|
|
51
52
|
dstack/_internal/core/backends/aws/compute.py,sha256=cSuoudrYvGnwPv1BG526DmkWV08Vfr5VJCsxXBAI684,34849
|
|
52
|
-
dstack/_internal/core/backends/aws/configurator.py,sha256=
|
|
53
|
+
dstack/_internal/core/backends/aws/configurator.py,sha256=DT2-i3q13ZfraLyOlhRZuwT58N62ZqHN3dhvyt9JU9M,7594
|
|
53
54
|
dstack/_internal/core/backends/aws/models.py,sha256=EUCHXHmZnshe3rwI9UtjilwcUMu1Z7MO4Y4-nlZ_IcA,4404
|
|
54
55
|
dstack/_internal/core/backends/aws/resources.py,sha256=-TeiuxMWP-ePiSV94t7wRWj5nG8jCD_IrHlpOO4xaR0,22540
|
|
55
56
|
dstack/_internal/core/backends/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -62,31 +63,32 @@ dstack/_internal/core/backends/azure/resources.py,sha256=keE3ruSSNWhSYMCkG7832TY
|
|
|
62
63
|
dstack/_internal/core/backends/azure/utils.py,sha256=taHMJq6UHRzUXLUcO2P5VCKy3wJaye2bG-6QdkEPNdY,1741
|
|
63
64
|
dstack/_internal/core/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
65
|
dstack/_internal/core/backends/base/backend.py,sha256=hdFMHED1RMV9GVfLSU0yGhGE-cXlbLvt1coDA885PMM,505
|
|
65
|
-
dstack/_internal/core/backends/base/compute.py,sha256=
|
|
66
|
+
dstack/_internal/core/backends/base/compute.py,sha256=cgDo-01yYec6nS_yrVrWDB2NTCzVP5StOZ_VrIFHUAQ,23880
|
|
66
67
|
dstack/_internal/core/backends/base/configurator.py,sha256=OCv8N2oxcxy3In2zS1PKiCJ0a-COZwxGjBz2FYkQnfg,3807
|
|
67
|
-
dstack/_internal/core/backends/base/models.py,sha256=
|
|
68
|
+
dstack/_internal/core/backends/base/models.py,sha256=Ij0osOl-T-ABsKLoVg2eY81DMkwdWkevAnjXj2QnLXI,532
|
|
68
69
|
dstack/_internal/core/backends/base/offers.py,sha256=89H6g6Dw5WvXDEBnKoZUF-fGIE3Clc8T4lEjZ_jr71A,5909
|
|
69
70
|
dstack/_internal/core/backends/cudo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
71
|
dstack/_internal/core/backends/cudo/api_client.py,sha256=ygq1Gx7ZvwKaifdXtvzDSw4xR4ZH6UWd5J47BjuaGh0,3685
|
|
71
72
|
dstack/_internal/core/backends/cudo/backend.py,sha256=i13YoAkUfIStc3Yyyt_3YmL30eVrKtrhwnE9_B1iBRI,546
|
|
72
|
-
dstack/_internal/core/backends/cudo/compute.py,sha256=
|
|
73
|
-
dstack/_internal/core/backends/cudo/configurator.py,sha256=
|
|
73
|
+
dstack/_internal/core/backends/cudo/compute.py,sha256=gyye20HMIPGyjON6HPsb8DrXqQ1RrMhRXCPBReDCf2Q,6349
|
|
74
|
+
dstack/_internal/core/backends/cudo/configurator.py,sha256=pkAT1MtL6_yYvYoqCglvPE-DiUdL8-XEviyN1yUSYyw,2056
|
|
74
75
|
dstack/_internal/core/backends/cudo/models.py,sha256=6sfEqY2hvTpIACkyT4mhD3D8K5TsW_pupys9nqtrgoI,1055
|
|
75
76
|
dstack/_internal/core/backends/datacrunch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
-
dstack/_internal/core/backends/datacrunch/api_client.py,sha256=EMnd4uEZqSXEcCajMvaYKnL4l-mZRPGYlsjaeG4It8M,2602
|
|
77
77
|
dstack/_internal/core/backends/datacrunch/backend.py,sha256=-wanJJ_K_wOXezxTSRgsK1MjsOuCl0MoVJREPj3SgM8,606
|
|
78
|
-
dstack/_internal/core/backends/datacrunch/compute.py,sha256=
|
|
79
|
-
dstack/_internal/core/backends/datacrunch/configurator.py,sha256=
|
|
78
|
+
dstack/_internal/core/backends/datacrunch/compute.py,sha256=jomY_E6UeL4Rzp41yXdRTq33TWMM92tLX6NRlCcQ4VQ,8913
|
|
79
|
+
dstack/_internal/core/backends/datacrunch/configurator.py,sha256=KH2N-6tcs0_AO1inSlU0jv1IK2QYxP35ohfGqXYGjGg,2401
|
|
80
80
|
dstack/_internal/core/backends/datacrunch/models.py,sha256=QeadH8qmcK3oDY9DfQKmX65fDGQo6FABLQAe9wQsHr8,1194
|
|
81
81
|
dstack/_internal/core/backends/dstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
82
|
dstack/_internal/core/backends/dstack/models.py,sha256=Jbe0Syez43N5i97TlIc8l-5VnUkakP5W1t_9gqhFNtc,812
|
|
83
83
|
dstack/_internal/core/backends/gcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
84
|
dstack/_internal/core/backends/gcp/auth.py,sha256=dB9XU8bWy7bsstzVeXv-i9beUzm2jFDxtvf98-AYdRY,2318
|
|
85
85
|
dstack/_internal/core/backends/gcp/backend.py,sha256=OvTv1c7j4LTPCIEtkwD3-q6Eo1QET8xlM8CzbY0hLmI,572
|
|
86
|
-
dstack/_internal/core/backends/gcp/compute.py,sha256=
|
|
87
|
-
dstack/_internal/core/backends/gcp/configurator.py,sha256=
|
|
88
|
-
dstack/_internal/core/backends/gcp/models.py,sha256=
|
|
89
|
-
dstack/_internal/core/backends/gcp/resources.py,sha256=
|
|
86
|
+
dstack/_internal/core/backends/gcp/compute.py,sha256=LR-9_qGFNibQjk6oc2HVz39KsDYJBViyUhfYE3nZt20,39230
|
|
87
|
+
dstack/_internal/core/backends/gcp/configurator.py,sha256=bDa-9pfNrkz2ZeFrddBC2ny_rNq01EWec_rzXy5cSS4,6825
|
|
88
|
+
dstack/_internal/core/backends/gcp/models.py,sha256=biLA3rlFcoPatAZpKycuIl-8PdnNSAFiDCJjov65_zo,4612
|
|
89
|
+
dstack/_internal/core/backends/gcp/resources.py,sha256=mbRsniyhOUT0D1O2JUiAz2QiCeAmGAkSbRtMv8fiVbA,15895
|
|
90
|
+
dstack/_internal/core/backends/gcp/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
+
dstack/_internal/core/backends/gcp/features/tcpx.py,sha256=--Q0VLuyHQCWQ49LrzYdNSr0LZzacMPMXnmKr6tc7JU,1256
|
|
90
92
|
dstack/_internal/core/backends/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
93
|
dstack/_internal/core/backends/kubernetes/backend.py,sha256=Jy0_Nwn6Oro8McJIo_QeNxxq4Pmwsd7JPd5_YE8Fz9U,606
|
|
92
94
|
dstack/_internal/core/backends/kubernetes/compute.py,sha256=hFQkElNHRi4DBoyLJAYXuhCV4bJi0HjzbMGtrsKrMr0,23037
|
|
@@ -96,12 +98,18 @@ dstack/_internal/core/backends/kubernetes/utils.py,sha256=k0cmjqMoNfJ_pAe6W82exV
|
|
|
96
98
|
dstack/_internal/core/backends/lambdalabs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
99
|
dstack/_internal/core/backends/lambdalabs/api_client.py,sha256=WaBO7VrPB4kbMQJDxjFxx0HEtAoSncQvH-cahWnVxx4,2688
|
|
98
100
|
dstack/_internal/core/backends/lambdalabs/backend.py,sha256=zVU_M2EBbP-9-snmh64GTKeYAX84-g5kwrZ9d7xETzs,610
|
|
99
|
-
dstack/_internal/core/backends/lambdalabs/compute.py,sha256=
|
|
100
|
-
dstack/_internal/core/backends/lambdalabs/configurator.py,sha256=
|
|
101
|
+
dstack/_internal/core/backends/lambdalabs/compute.py,sha256=iIO5UA3XTYE4w4RyQPwgMw1gECX1IjPGOSlshxr8dxU,7518
|
|
102
|
+
dstack/_internal/core/backends/lambdalabs/configurator.py,sha256=JYtAFemQRi6tXTt6rfbIa6rCQIKjn86gQvbjxeGUrDs,2135
|
|
101
103
|
dstack/_internal/core/backends/lambdalabs/models.py,sha256=c9dAYd0wjun2dvMLUZO4D09XvEskBRehjLDN_nwbSEU,1036
|
|
102
104
|
dstack/_internal/core/backends/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
105
|
dstack/_internal/core/backends/local/backend.py,sha256=KJuNXUXrg60NhLywnExD1EXH2gK0TL-kzNWUPRNZ_Zg,427
|
|
104
106
|
dstack/_internal/core/backends/local/compute.py,sha256=OQub3qFQdWGm8Laceh-TU4KPRzJwQxRgf_tMwmXFIQk,3613
|
|
107
|
+
dstack/_internal/core/backends/nebius/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
|
+
dstack/_internal/core/backends/nebius/backend.py,sha256=2XqZIbSR8VzlfOnuVklXlDxNmwAkQj7txQN8VXF1j2E,566
|
|
109
|
+
dstack/_internal/core/backends/nebius/compute.py,sha256=S-150xCX1vYz0utGMTZfiAgJhYM-FtL_7uiOPWqCUK0,11068
|
|
110
|
+
dstack/_internal/core/backends/nebius/configurator.py,sha256=qG7n2ZpCcy7E0F9yqJlGo6yCu29Y8vT-y61fc1EGbKo,2747
|
|
111
|
+
dstack/_internal/core/backends/nebius/models.py,sha256=5-JZDOv3k0BZ3do6F5MBoRuBnpOq54Ulh_am1KfxxJA,3535
|
|
112
|
+
dstack/_internal/core/backends/nebius/resources.py,sha256=eWwI0cOnR3E1Kk6UVl2KTbPzSjyhSdY8Z4Ux5hPrjWw,8086
|
|
105
113
|
dstack/_internal/core/backends/oci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
114
|
dstack/_internal/core/backends/oci/auth.py,sha256=ErDfuAvmrKlFg5OCYz5BhtlGHQmSiupl9Uaxx3W-wTE,800
|
|
107
115
|
dstack/_internal/core/backends/oci/backend.py,sha256=yXjVCt7n6BVLH0byYFbNFf-P9J0FwlNfxsYbKGMdoI4,536
|
|
@@ -121,9 +129,9 @@ dstack/_internal/core/backends/runpod/configurator.py,sha256=83-_u_Xe84GXMEVePN2
|
|
|
121
129
|
dstack/_internal/core/backends/runpod/models.py,sha256=W3nO4sjvvWtfKYDZDVJ8oBSsgeGdSR-Z_PD7OpfDBgY,1466
|
|
122
130
|
dstack/_internal/core/backends/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
131
|
dstack/_internal/core/backends/tensordock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
124
|
-
dstack/_internal/core/backends/tensordock/api_client.py,sha256=
|
|
132
|
+
dstack/_internal/core/backends/tensordock/api_client.py,sha256=NUEKgu6JY6kqQXRqsghT-aBf7sNstHQo7J1WmqL-Qfs,3872
|
|
125
133
|
dstack/_internal/core/backends/tensordock/backend.py,sha256=KT5bRuD3KttEqiNNqQpW5f6nX7Qez-L74TBmYKy3puI,606
|
|
126
|
-
dstack/_internal/core/backends/tensordock/compute.py,sha256=
|
|
134
|
+
dstack/_internal/core/backends/tensordock/compute.py,sha256=ROEiSg878TQCFC0j4S4g40TJ_ac0uNDTfNh6_SOBB94,4411
|
|
127
135
|
dstack/_internal/core/backends/tensordock/configurator.py,sha256=52fBU4Rgvw_E6vE_OeFLBkRcPRsDLu2K0PWaPeGuBUc,2486
|
|
128
136
|
dstack/_internal/core/backends/tensordock/models.py,sha256=oxbSWRCsD0_j4-2lQYo4LpmhKL8Kgv2nmq_dfMaSCiU,1182
|
|
129
137
|
dstack/_internal/core/backends/vastai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -149,7 +157,7 @@ dstack/_internal/core/models/instances.py,sha256=cJt7VX0UsATX-imh6-KW-mgBgEZN2ta
|
|
|
149
157
|
dstack/_internal/core/models/logs.py,sha256=Lsmtd_NrnChMjBJahUZpFb1j8Xobix9FHWf1L47FOGs,443
|
|
150
158
|
dstack/_internal/core/models/metrics.py,sha256=Xb8hCXUL-ncQ3PMsErIUAJTe9gwh5jyrQ4UQoZbibsc,269
|
|
151
159
|
dstack/_internal/core/models/placement.py,sha256=WJVq5ENJykyRarQzL2EeYQag_9_jV7VSAtR_xoFvPVM,720
|
|
152
|
-
dstack/_internal/core/models/profiles.py,sha256=
|
|
160
|
+
dstack/_internal/core/models/profiles.py,sha256=RlIeT9PMbN1o1hwI9O-GmpyNKcr7Ly4s3pn6mlHJK-8,9893
|
|
153
161
|
dstack/_internal/core/models/projects.py,sha256=H5ZZRiyUEKifpTFAhl45KBi5ly7ooE0WmI329myK360,643
|
|
154
162
|
dstack/_internal/core/models/resources.py,sha256=28xfFnTd5FHjI-WOtRlIj6L4Hmh0sQAMpIMo8nVe7LE,11301
|
|
155
163
|
dstack/_internal/core/models/runs.py,sha256=jOoT2oyQfqSGH5vMclimp9aJGR2Hl_WSFMHWTF1RPUk,17977
|
|
@@ -160,7 +168,7 @@ dstack/_internal/core/models/unix.py,sha256=KxnSQELnkAjjuUgYcQKVkf-UAbYREBD8WCWD
|
|
|
160
168
|
dstack/_internal/core/models/users.py,sha256=o_rd0GAmd6jufypVUs9P12NRri3rgAPDt-KxnqNNsGw,703
|
|
161
169
|
dstack/_internal/core/models/volumes.py,sha256=EQmfTnB3oN6zbLwMqwda0X1T7oKLRRt_h5lTXvQ-siQ,6096
|
|
162
170
|
dstack/_internal/core/models/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
163
|
-
dstack/_internal/core/models/backends/base.py,sha256=
|
|
171
|
+
dstack/_internal/core/models/backends/base.py,sha256=Fbhs90NBMceXhjORwj7c2_pVriapCGSUMBFwuR-wRIg,1091
|
|
164
172
|
dstack/_internal/core/models/repos/__init__.py,sha256=7Qo1QgJ852LklUuM-mlCNFodp_XrQ4iqV7uRPiX_qm0,885
|
|
165
173
|
dstack/_internal/core/models/repos/base.py,sha256=nErlSR3AbG9fwDE5vuJK5DIrP8JB3fG8a7mXqosJ9gY,846
|
|
166
174
|
dstack/_internal/core/models/repos/local.py,sha256=DmW_e6qOWctZwuEpCqME-JpxYHTgH5I1gcK7zjSMfao,2394
|
|
@@ -218,7 +226,7 @@ dstack/_internal/proxy/lib/repo.py,sha256=zkWZ9XZzQHfCa-eifec7H7UYnJZLgeRuiQls7R
|
|
|
218
226
|
dstack/_internal/proxy/lib/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
219
227
|
dstack/_internal/proxy/lib/routers/model_proxy.py,sha256=57GFRpVRXcVY-347HnUSUr4w4RsxsjLuuZiJs8DwDpM,3895
|
|
220
228
|
dstack/_internal/proxy/lib/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
221
|
-
dstack/_internal/proxy/lib/schemas/model_proxy.py,sha256=
|
|
229
|
+
dstack/_internal/proxy/lib/schemas/model_proxy.py,sha256=a-LT18-SrVVriF3YsYPUvil8e_9rLDiOTxfZy8hGsqU,1895
|
|
222
230
|
dstack/_internal/proxy/lib/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
223
231
|
dstack/_internal/proxy/lib/services/service_connection.py,sha256=Gf_ucng9dSKEfpi2kvxZekDSWisY2by6O7_PNZcQi1Q,5924
|
|
224
232
|
dstack/_internal/proxy/lib/services/model_proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -242,13 +250,13 @@ dstack/_internal/server/background/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
|
|
|
242
250
|
dstack/_internal/server/background/tasks/common.py,sha256=N7xSXbf2MoBWgbJ1e3AEzYBTf1Gn-pDXYND8Zr_YCJQ,970
|
|
243
251
|
dstack/_internal/server/background/tasks/process_fleets.py,sha256=lKXUvN_b7DNjD3psHzyCt_JYsTxPFuQ86iXi8fj8GkM,3202
|
|
244
252
|
dstack/_internal/server/background/tasks/process_gateways.py,sha256=hoUI1CSqbHt_uMwnzTRAEDl-LBw0wUk_W4xobIbdvRc,7017
|
|
245
|
-
dstack/_internal/server/background/tasks/process_instances.py,sha256=
|
|
253
|
+
dstack/_internal/server/background/tasks/process_instances.py,sha256=De-nbzvvwiO_xtI16tRsosvQXAC3uzjynHAeWpcX51M,37970
|
|
246
254
|
dstack/_internal/server/background/tasks/process_metrics.py,sha256=acySfsacpYbTPV9Yivs-oU37z1S2sUdWhRHdJkfBcCA,5332
|
|
247
255
|
dstack/_internal/server/background/tasks/process_placement_groups.py,sha256=FqGfbzvfILdnPUfxjFPAM1ij2xd2mCDi8qufiBcUMI8,4107
|
|
248
256
|
dstack/_internal/server/background/tasks/process_prometheus_metrics.py,sha256=u8hCXjOOek7VLEsmLy2VnDXFmIwTNjrJwcpWG7a1zW0,5093
|
|
249
|
-
dstack/_internal/server/background/tasks/process_running_jobs.py,sha256=
|
|
257
|
+
dstack/_internal/server/background/tasks/process_running_jobs.py,sha256=I4dIaNiClvJHEYtfuuW2Oe3hC73QkL9azYNsZ_yjmxg,33000
|
|
250
258
|
dstack/_internal/server/background/tasks/process_runs.py,sha256=qYPclhUHAXZd7VHl2Dz3ET8YLsdkvPLTcDKOVrSIaoQ,16735
|
|
251
|
-
dstack/_internal/server/background/tasks/process_submitted_jobs.py,sha256=
|
|
259
|
+
dstack/_internal/server/background/tasks/process_submitted_jobs.py,sha256=ypZw75ZK6_vnp-434obnkFVj6Yll9UylOOydAUrWpc4,26602
|
|
252
260
|
dstack/_internal/server/background/tasks/process_terminating_jobs.py,sha256=0Z3Q409RwSxOL_pgK8JktBthjtESEUH3ahwTLsTdYPk,3800
|
|
253
261
|
dstack/_internal/server/background/tasks/process_volumes.py,sha256=206rbT4ICeZtEmqh_94Rry_fgHfFLLaSEX9W-svwFk4,5089
|
|
254
262
|
dstack/_internal/server/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -325,7 +333,7 @@ dstack/_internal/server/routers/instances.py,sha256=XOogTC9My2Zv0ck37_PbHKoZI-j4
|
|
|
325
333
|
dstack/_internal/server/routers/logs.py,sha256=_Euk283LbhlwHibJTKM-7YcpbeQFtWBqMfbOry3PSkU,1159
|
|
326
334
|
dstack/_internal/server/routers/metrics.py,sha256=VFgWhkOvxVFDLlRM_kXHYFylLcfCD6UjXInvcd7H4dY,2314
|
|
327
335
|
dstack/_internal/server/routers/projects.py,sha256=0R-w_6WXUbNo6fREAexFUQ3RoOJF2D_Iz35elKjym14,2717
|
|
328
|
-
dstack/_internal/server/routers/prometheus.py,sha256=
|
|
336
|
+
dstack/_internal/server/routers/prometheus.py,sha256=UAcOE8dpGZe4Wd0EOIlFPMbjaNjzX8A7iHlooeRvsfo,944
|
|
329
337
|
dstack/_internal/server/routers/repos.py,sha256=P_zLoEQderxhCeHQJwRkrIhVcc0-cpabfyde22bWVRk,3362
|
|
330
338
|
dstack/_internal/server/routers/runs.py,sha256=oPqyIRPwkMjj12M1IdMF2UitatqvljISAXnJAjfEJyQ,5352
|
|
331
339
|
dstack/_internal/server/routers/secrets.py,sha256=50_qJCTYRpnGSlLyS93gqoV17wWewOVmM65PcG1bT_Y,856
|
|
@@ -347,22 +355,22 @@ dstack/_internal/server/schemas/secrets.py,sha256=mfqLSM7PqxVQ-GIWB6RfPRUOvSvvaR
|
|
|
347
355
|
dstack/_internal/server/schemas/users.py,sha256=FuDqwRVe3mOmv497vOZKjI0a_d4Wt2g4ZiCJcyfHEKA,495
|
|
348
356
|
dstack/_internal/server/schemas/volumes.py,sha256=9iwaQLMhA6aj9XmtdU_9jWVhpzNOtFbDByAe-WYfYh0,673
|
|
349
357
|
dstack/_internal/server/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
350
|
-
dstack/_internal/server/security/permissions.py,sha256=
|
|
358
|
+
dstack/_internal/server/security/permissions.py,sha256=FJ_8YPhjmebA4jQjtQoAGEaj1Hahb_po0tYRCQ18aaE,4940
|
|
351
359
|
dstack/_internal/server/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
352
360
|
dstack/_internal/server/services/config.py,sha256=X61ypyuBQqAuWi-mVFJ7Uk1DyGfHqk8_d2C6xIG0yxE,10434
|
|
353
361
|
dstack/_internal/server/services/docker.py,sha256=3EcYPiVsrNBGDQYOb60QJ241mzTT6lJROYQXIwt-8dk,5351
|
|
354
362
|
dstack/_internal/server/services/fleets.py,sha256=G4kGuGa-7M6hTjvVuN8iroSWMtDjp83a-J8V9Sap4iA,26064
|
|
355
|
-
dstack/_internal/server/services/instances.py,sha256=
|
|
363
|
+
dstack/_internal/server/services/instances.py,sha256=s-D20jyhevB85eSD7fP36OC7wtMOp88Pra104YSvDLk,18549
|
|
356
364
|
dstack/_internal/server/services/locking.py,sha256=UV5kc-BgROBuNDpBrp8jkcf-fHPOpHLc8JufL-8mbN8,2453
|
|
357
365
|
dstack/_internal/server/services/logging.py,sha256=Nu1628kW2hqB__N0Eyr07wGWjVWxfyJnczonTJ72kSM,417
|
|
358
366
|
dstack/_internal/server/services/metrics.py,sha256=jKLy1jSCVR_crqVu_CmsOMbvMkucWBandI0SS1LDeRQ,6896
|
|
359
|
-
dstack/_internal/server/services/offers.py,sha256=
|
|
367
|
+
dstack/_internal/server/services/offers.py,sha256=At_fRbFCEHBsiJiqIZMMowofO4o0pfs6tSOtFgZc8Nc,7086
|
|
360
368
|
dstack/_internal/server/services/permissions.py,sha256=l7Ngdelmn65vjw13NcOdaC6lBYMRuSw6FbHzYwdK3nE,1005
|
|
361
369
|
dstack/_internal/server/services/placement.py,sha256=DWZ8-iAE3o0J0xaHikuJYZzpuBiq7lj41LiAP1PfoEs,1773
|
|
362
370
|
dstack/_internal/server/services/projects.py,sha256=Y4LEkSvOVUHHP-F2qlrwBR7rFu0CFFhbHmDTKrrNuXE,15071
|
|
363
371
|
dstack/_internal/server/services/prometheus.py,sha256=xq5G-Q2BJup9lS2F6__0wUVTs-k1Gr3dYclGzo2WoWo,12474
|
|
364
372
|
dstack/_internal/server/services/repos.py,sha256=f9ztN7jz_2gvD9hXF5sJwWDVyG2-NHRfjIdSukowPh8,9342
|
|
365
|
-
dstack/_internal/server/services/runs.py,sha256=
|
|
373
|
+
dstack/_internal/server/services/runs.py,sha256=UnKog2hcA_K0oBeauByKh16Zo0TrK5KpXiprtF1OtAY,37102
|
|
366
374
|
dstack/_internal/server/services/storage.py,sha256=6I0xI_3_RpJNbKZwHjDnjrEwXGdHfiaeb5li15T-M1I,1884
|
|
367
375
|
dstack/_internal/server/services/users.py,sha256=L-exfxHdhj3TKX-gSjezHrYK6tnrt5qsQs-zZng1tUI,7123
|
|
368
376
|
dstack/_internal/server/services/volumes.py,sha256=nSewk8BZlfZsvpb9v94fMcJab5IaW_RB-acqSgYLT_g,14871
|
|
@@ -377,7 +385,7 @@ dstack/_internal/server/services/gateways/__init__.py,sha256=fOWSBpLocgOGNkNaYUN
|
|
|
377
385
|
dstack/_internal/server/services/gateways/client.py,sha256=1PH9gUjRkHegp37B27pjBVoPFk64KjxcE30eEPBTLM0,7321
|
|
378
386
|
dstack/_internal/server/services/gateways/connection.py,sha256=ot3lV85XdmCT45vBWeyj57nLPcLPNm316zu3jMyeWjA,5625
|
|
379
387
|
dstack/_internal/server/services/gateways/pool.py,sha256=0LclTl1tyx-doS78LeaAKjr-SMp98zuwh5f9s06JSd0,1914
|
|
380
|
-
dstack/_internal/server/services/jobs/__init__.py,sha256=
|
|
388
|
+
dstack/_internal/server/services/jobs/__init__.py,sha256=1wLSrHVBRYUk-wQd5x8a6vJLe1b5qxRRTJ-1IC6Dul0,25618
|
|
381
389
|
dstack/_internal/server/services/jobs/configurators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
382
390
|
dstack/_internal/server/services/jobs/configurators/base.py,sha256=e9akZ5un3XYCYRxRmc5PFCjY9jLgbIHFyk_Xl5E-9k4,11200
|
|
383
391
|
dstack/_internal/server/services/jobs/configurators/dev.py,sha256=ufN6Sd8TwIsjQYNZE32fkAqJI7o2zjgoZThbrP-bd7U,2378
|
|
@@ -431,10 +439,10 @@ dstack/_internal/server/statics/e467d7d60aae81ab198b.svg,sha256=_XHc9mfQZgGkcy4h
|
|
|
431
439
|
dstack/_internal/server/statics/eb9b344b73818fe2b71a.png,sha256=2H14eOCQRyZhFGJ1Kn2LH1j70kTF1Qop4vH-tiKqyPI,85
|
|
432
440
|
dstack/_internal/server/statics/f517dd626eb964120de0.png,sha256=4QQuNa8SqmcZ67HK6739OHCyjnAJseU1bkcn454KRQs,159
|
|
433
441
|
dstack/_internal/server/statics/f958aecddee5d8e3222c.png,sha256=8CoZkVNgRfOAe62X1dU-AZDvwh_nESKaQblEmaX2Xrs,87
|
|
434
|
-
dstack/_internal/server/statics/index.html,sha256=
|
|
435
|
-
dstack/_internal/server/statics/main-
|
|
436
|
-
dstack/_internal/server/statics/main-
|
|
437
|
-
dstack/_internal/server/statics/main-
|
|
442
|
+
dstack/_internal/server/statics/index.html,sha256=BKjLor_D1IBNX8I7PLrM52UHwYpSqs8k9Mo54xHt0uY,10468
|
|
443
|
+
dstack/_internal/server/statics/main-8f9c66f404e9c7e7e020.css,sha256=RC2sAxRMpIK3myvsxKEhLk4OsxTOt7DgWunCwyn-B34,1336694
|
|
444
|
+
dstack/_internal/server/statics/main-e190de603dc1e9f485ec.js,sha256=JWr7tKeo7tSlseSCBTyzVTiKZkQeoBVIJHum50MeJeo,6520754
|
|
445
|
+
dstack/_internal/server/statics/main-e190de603dc1e9f485ec.js.map,sha256=3pJ5Xu1Zh12-s0dw7N6HRWmcQh014HLjaHoA2y11OHc,8557562
|
|
438
446
|
dstack/_internal/server/statics/manifest.json,sha256=430w2BoWVmYYVr14lDvUxx-ROPt3VjigzeMqfLeiSCM,340
|
|
439
447
|
dstack/_internal/server/statics/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
|
|
440
448
|
dstack/_internal/server/statics/assets/android-chrome-144x144.png,sha256=tB3V-95O-VVEoawN5V1XFoMQRSK0I6gthraV8bATGaw,23414
|
|
@@ -519,13 +527,14 @@ dstack/_internal/server/utils/common.py,sha256=PbjXtqYy1taKXpyG5ys8cIrz9MXqc9dBA
|
|
|
519
527
|
dstack/_internal/server/utils/logging.py,sha256=bxUS2uWG5snypNRfL0d5sMLCDytyOZac81PSQlb7_rs,1907
|
|
520
528
|
dstack/_internal/server/utils/routers.py,sha256=OzL9Oxy-1no7Txk1r-Pvf28l3S25CYJlyAscYY345Xg,4729
|
|
521
529
|
dstack/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
522
|
-
dstack/_internal/utils/common.py,sha256=
|
|
530
|
+
dstack/_internal/utils/common.py,sha256=z6ZCQnvxOfZoiXx7hRKljMsHt5ZDfhNdeyH9RyJ2v3I,8789
|
|
523
531
|
dstack/_internal/utils/crypto.py,sha256=2RTSyzePuwwqc1X2HO6lwcSFyZ2kujnqluoICQ2DLJQ,1462
|
|
524
532
|
dstack/_internal/utils/dxf.py,sha256=wguK9s6-69kqSDZkxd1kFEr6VlH5ixvFRJxizyOuJ8I,3229
|
|
525
533
|
dstack/_internal/utils/env.py,sha256=HRbIspHpKHh05fMZeV23-hrZoV6vVMuniefD08u6ey0,357
|
|
534
|
+
dstack/_internal/utils/event_loop.py,sha256=DO2ADtWfH2z8F2hBbg_EADSWzleQYGVZ9D1XYDpH-tk,880
|
|
526
535
|
dstack/_internal/utils/gpu.py,sha256=ZeWpy1nRLVh-FwBZdxbMoVjjCF0DWJlWfNoVgFhGx2w,1776
|
|
527
536
|
dstack/_internal/utils/hash.py,sha256=mCERRtj9QwbpoP3vveBqbniSJiNMHG0vPSzp4fxmKv0,920
|
|
528
|
-
dstack/_internal/utils/ignore.py,sha256=
|
|
537
|
+
dstack/_internal/utils/ignore.py,sha256=Lb5l_qTxOApHGPRu_YHkpTB9e5P0KIOFibMm8vTs_eQ,3138
|
|
529
538
|
dstack/_internal/utils/interpolator.py,sha256=kLRm_DagGcjnkLPtMC9NaHioegsUvg8uk4lom38eV3I,2922
|
|
530
539
|
dstack/_internal/utils/json_schema.py,sha256=xsn5mQT943ZOABiDRhdtVvScqhLQeChlE7p_H40SCPc,270
|
|
531
540
|
dstack/_internal/utils/logging.py,sha256=j37rgL-fQh2_E3ec_RqDy6Ora-Aa79ZVV-BAgZJViME,97
|
|
@@ -542,14 +551,14 @@ dstack/api/_public/runs.py,sha256=tILFldJb4EKMYYBMr5rUiD5aJGIPB4-eLXzwwcqPbVg,27
|
|
|
542
551
|
dstack/api/huggingface/__init__.py,sha256=oIrEij3wttLZ1yrywEGvCMd6zswMQrX5pPjrqdSi0UA,2201
|
|
543
552
|
dstack/api/server/__init__.py,sha256=BLEbmbhRZAOQ-CAuUFm2kvyRKckYfmABokzd-67LI7c,5762
|
|
544
553
|
dstack/api/server/_backends.py,sha256=tSvJ4j-yp-S-4IYo7pKHluDaSsx6Xbwo08Ff6Do85fo,1639
|
|
545
|
-
dstack/api/server/_fleets.py,sha256=
|
|
554
|
+
dstack/api/server/_fleets.py,sha256=qtgG8v_pYWcAFrZV-kA61m8avEQixC_6PlfZrnUAIIg,2916
|
|
546
555
|
dstack/api/server/_gateways.py,sha256=CtTenMdVnXRZ-yF-zDsEStutMQjNo_2MGca-EiOUxRg,2104
|
|
547
556
|
dstack/api/server/_group.py,sha256=f9a_YvwZ7s1vDTQhOWHLwm3kO84C5R_zXToD4cxAnvY,432
|
|
548
557
|
dstack/api/server/_logs.py,sha256=ng8QvFAIaoVOVChTK6Wuu5BeM6y7gAdx30KEYRsn9xA,500
|
|
549
558
|
dstack/api/server/_metrics.py,sha256=OPb8sLhI_U605sHOPrELgy0_6cNFLJVfpvr-qkEukRM,670
|
|
550
559
|
dstack/api/server/_projects.py,sha256=g6kNSU6jer8u7Kaut1I0Ft4wRMLBBCQShJf3fOB63hQ,1440
|
|
551
560
|
dstack/api/server/_repos.py,sha256=bqsKuZWyiNLE8UAdSZrYNtk1J3Gu5MXXnTMIoM9jxpI,1770
|
|
552
|
-
dstack/api/server/_runs.py,sha256=
|
|
561
|
+
dstack/api/server/_runs.py,sha256=qzWQx2n4NQHQVHIgkv8xye1mpx0F6B5zXspaXRxVDeE,4313
|
|
553
562
|
dstack/api/server/_secrets.py,sha256=VqLfrIcmBJtPxNDRkXTG44H5SWoY788YJapScUukvdY,1576
|
|
554
563
|
dstack/api/server/_users.py,sha256=XzhgGKc5Tsr0-xkz3T6rGyWZ1tO7aYNhLux2eE7dAoY,1738
|
|
555
564
|
dstack/api/server/_volumes.py,sha256=5mDHnWrOu46M3k4-VQ78lYIEZYaqp57iV9XCSChA-uI,2007
|
|
@@ -582,7 +591,7 @@ tests/_internal/core/backends/base/test_compute.py,sha256=LkeECcBu5SPNbysLHJWDGS
|
|
|
582
591
|
tests/_internal/core/backends/cudo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
583
592
|
tests/_internal/core/backends/cudo/test_configurator.py,sha256=VKDonJPWWMEpie30sR71bzGc1HtVw_qvu0ASaN47Pcc,1468
|
|
584
593
|
tests/_internal/core/backends/datacrunch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
585
|
-
tests/_internal/core/backends/datacrunch/test_configurator.py,sha256=
|
|
594
|
+
tests/_internal/core/backends/datacrunch/test_configurator.py,sha256=rYp6xcjvsTQmSzhH_shY8lICsRZqTWJQxaooIfgfqaw,732
|
|
586
595
|
tests/_internal/core/backends/gcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
587
596
|
tests/_internal/core/backends/gcp/test_configurator.py,sha256=yeoUJCJWx7ZCLDJjtbNOuBO3HPwuUlrEjOnTsCvzmIc,1611
|
|
588
597
|
tests/_internal/core/backends/gcp/test_resources.py,sha256=7nkVM9w-cVZov1M6SmOKm5W-JhooQCIgph4i-MGZx3c,1638
|
|
@@ -639,26 +648,26 @@ tests/_internal/server/background/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
|
639
648
|
tests/_internal/server/background/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
640
649
|
tests/_internal/server/background/tasks/test_process_fleets.py,sha256=Dl31_TwxoCzYqkVNPWGLsYxmGL2sZfEK3rQXLFyPIz8,2701
|
|
641
650
|
tests/_internal/server/background/tasks/test_process_gateways.py,sha256=lOP4jPXDtadAgYp0aFND_fp5R_X19M58CaOlgnDAEck,5085
|
|
642
|
-
tests/_internal/server/background/tasks/test_process_instances.py,sha256=
|
|
651
|
+
tests/_internal/server/background/tasks/test_process_instances.py,sha256=zRUlcD04l_wYpM5r3PnODYxE95ngu1_RD5KJRTTr-io,27998
|
|
643
652
|
tests/_internal/server/background/tasks/test_process_metrics.py,sha256=z-u4HXJE5EMVH9kwU_POHmvp55ldAvuLpEMkaebBtsg,4976
|
|
644
653
|
tests/_internal/server/background/tasks/test_process_placement_groups.py,sha256=19LYbIMZIIeKAN0b9KOMyS-cHUx0FoOojqQuM8Oeiq4,1620
|
|
645
654
|
tests/_internal/server/background/tasks/test_process_prometheus_metrics.py,sha256=I9DgIJXVGS7UvbFgm4HFnzWiCICBpy72NjDPKU_7WII,7178
|
|
646
655
|
tests/_internal/server/background/tasks/test_process_running_jobs.py,sha256=sulsnw-stoMdN_54eaaUbpE7N-ffPJxdkuQJDDu5fLA,29539
|
|
647
656
|
tests/_internal/server/background/tasks/test_process_runs.py,sha256=CgC05lwsTai2eGAlpZS7pMAG5nWCG3FpszrkYrY65Vw,14010
|
|
648
|
-
tests/_internal/server/background/tasks/test_process_submitted_jobs.py,sha256=
|
|
657
|
+
tests/_internal/server/background/tasks/test_process_submitted_jobs.py,sha256=W09M7UJM27RYGdK31xLlUOLMLgbZ4N1ZzXXKl7pGZeU,24325
|
|
649
658
|
tests/_internal/server/background/tasks/test_process_submitted_volumes.py,sha256=pM7PwApOEDP0ogan91_a5ceF0foHQGCNKE9wlTJy9BA,2263
|
|
650
659
|
tests/_internal/server/background/tasks/test_process_terminating_jobs.py,sha256=RWXc2MXp2n8Mte1URlkJfgxUZKDnTQntuWtJ5JdyTBQ,14053
|
|
651
660
|
tests/_internal/server/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
652
|
-
tests/_internal/server/routers/test_backends.py,sha256=
|
|
653
|
-
tests/_internal/server/routers/test_fleets.py,sha256=
|
|
661
|
+
tests/_internal/server/routers/test_backends.py,sha256=LhD2PNnz4q2HcBzMkvwtyh9DcXuxOaoUd5pwKTNoAWU,39238
|
|
662
|
+
tests/_internal/server/routers/test_fleets.py,sha256=ussF8S4EdoyoArT0Va0uD70ajdumDdvz0zdqMzUt_ZM,34151
|
|
654
663
|
tests/_internal/server/routers/test_gateways.py,sha256=59r93kdVIuyMHGPNTMCKUdIDpGJADjNs0vEV3xprxTw,24205
|
|
655
664
|
tests/_internal/server/routers/test_instances.py,sha256=78HFMU9Xel8BNZL3TqnuvrKEAhqULOlnSpd1Ja3oXkU,9188
|
|
656
665
|
tests/_internal/server/routers/test_logs.py,sha256=NZwyJlgjMOGq4XEx7-VDjTpniYPhZpsbZvB0dTawaog,3989
|
|
657
666
|
tests/_internal/server/routers/test_metrics.py,sha256=xMdDFZW73Zl06QfggjatfwTut37s0soeliJivkCgBks,7620
|
|
658
667
|
tests/_internal/server/routers/test_projects.py,sha256=Z3Ok7onAjUYS4ADvKvN-SwSxYKvlvf4MG5Y8baqQU14,25964
|
|
659
|
-
tests/_internal/server/routers/test_prometheus.py,sha256=
|
|
668
|
+
tests/_internal/server/routers/test_prometheus.py,sha256=iYpgSVkV2yTSKV306rhAffuWGyQV3l2i88crwHIQWYo,23696
|
|
660
669
|
tests/_internal/server/routers/test_repos.py,sha256=G4dKuFGd_UrxAHwh_XLl1xCHK_DCsiJcXBsHODw3yJk,16682
|
|
661
|
-
tests/_internal/server/routers/test_runs.py,sha256=
|
|
670
|
+
tests/_internal/server/routers/test_runs.py,sha256=BNjyxFTTQFBfcUC8_6VsZ8Ve6CBoCCkyd7ISRgR5Pzw,63112
|
|
662
671
|
tests/_internal/server/routers/test_server.py,sha256=ROkuRNNJEkMQuK8guZ3Qy3iRRfiWvPIJJJDc09BI0D4,489
|
|
663
672
|
tests/_internal/server/routers/test_users.py,sha256=5QSLvfn9SroGsZoBGmSTEaaqJcdEO8EUUy_YuvLL8ss,12787
|
|
664
673
|
tests/_internal/server/routers/test_volumes.py,sha256=DuYWKVfZwdFoRbgYP2wwhn4WcJKYZIepOvxr8Dr2QjQ,16226
|
|
@@ -692,8 +701,9 @@ tests/_internal/server/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
692
701
|
tests/_internal/server/utils/test_common.py,sha256=CpElV3jAuGVh187tcnpuY3-RC07M5Hv2CSdsAKCpzB0,965
|
|
693
702
|
tests/_internal/server/utils/test_routers.py,sha256=vhaTGaZ8r3gbwM3AQlgvy4tFgzjZJv6eXJe6G4gfHB0,2010
|
|
694
703
|
tests/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
695
|
-
tests/_internal/utils/test_common.py,sha256=
|
|
704
|
+
tests/_internal/utils/test_common.py,sha256=16WPR7wdpP05vWKRckva8hv8OopT8lIB1xH4bGDMn4I,6620
|
|
696
705
|
tests/_internal/utils/test_env.py,sha256=MKg6gHw9JGROqg8Lovslr_BPfNol_eIVVrJSBcLCRJY,1109
|
|
706
|
+
tests/_internal/utils/test_event_loop.py,sha256=MpkFb8_rqS25ulfzZDw3RyR4LIMGrqPGzXHxeBFA1kQ,426
|
|
697
707
|
tests/_internal/utils/test_gpu.py,sha256=vTyyWXRgZzil5RhzzA2tWW5owH_jgXXJBtW1Dx9rswo,2051
|
|
698
708
|
tests/_internal/utils/test_interpolator.py,sha256=hjovKQhOkSdBFQyBXfnYG3kVJDG6x_jSiWizAxFfifs,1844
|
|
699
709
|
tests/_internal/utils/test_network.py,sha256=4nxej28JgoDWfZ-uwqh5HtUKtCQCmEspUGQ8O5g6ixU,968
|
|
@@ -701,9 +711,9 @@ tests/_internal/utils/test_path.py,sha256=rzS-1YCxsFUocBe42dghLOMFNymPruGrA7bqFZ
|
|
|
701
711
|
tests/_internal/utils/test_ssh.py,sha256=V-cBFPhD--9eM9d1uQQgpj2gnYLA3c43f4cX9uJ6E-U,1743
|
|
702
712
|
tests/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
703
713
|
tests/api/test_utils.py,sha256=SSSqHcNE5cZVqDq4n2sKZthRoXaZ_Bx7z1AAN5xTM9s,391
|
|
704
|
-
dstack-0.19.
|
|
705
|
-
dstack-0.19.
|
|
706
|
-
dstack-0.19.
|
|
707
|
-
dstack-0.19.
|
|
708
|
-
dstack-0.19.
|
|
709
|
-
dstack-0.19.
|
|
714
|
+
dstack-0.19.3.dist-info/LICENSE.md,sha256=qDABaRGjSKVOib1U8viw2P_96sIK7Puo426784oD9f8,15976
|
|
715
|
+
dstack-0.19.3.dist-info/METADATA,sha256=JXiOn6Mxq0ueL0AaG4xXiTpvdgTtUh1sWjarn4EbnzE,19039
|
|
716
|
+
dstack-0.19.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
717
|
+
dstack-0.19.3.dist-info/entry_points.txt,sha256=GnLrMS8hx3rWAySQjA7tPNhtixV6a-brRkmal1PKoHc,58
|
|
718
|
+
dstack-0.19.3.dist-info/top_level.txt,sha256=3BrIO1zrqxT9P20ymhRM6k15meZXzbPL6ykBlDZG2_k,13
|
|
719
|
+
dstack-0.19.3.dist-info/RECORD,,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from unittest.mock import patch
|
|
2
|
+
|
|
1
3
|
from dstack._internal.core.backends.datacrunch.configurator import (
|
|
2
4
|
DataCrunchConfigurator,
|
|
3
5
|
)
|
|
@@ -13,5 +15,7 @@ class TestDataCrunchConfigurator:
|
|
|
13
15
|
creds=DataCrunchCreds(client_id="valid", client_secret="valid"),
|
|
14
16
|
regions=["FIN-01"],
|
|
15
17
|
)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
with patch(
|
|
19
|
+
"dstack._internal.core.backends.datacrunch.configurator.DataCrunchConfigurator._validate_creds"
|
|
20
|
+
):
|
|
21
|
+
DataCrunchConfigurator().validate_config(config, default_creds_enabled=True)
|