dstack 0.19.20__py3-none-any.whl → 0.19.21__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/core/backends/__init__.py +0 -65
- dstack/_internal/core/backends/features.py +64 -0
- dstack/_internal/core/compatibility/fleets.py +2 -0
- dstack/_internal/core/compatibility/runs.py +4 -0
- dstack/_internal/core/models/profiles.py +37 -0
- dstack/_internal/server/app.py +22 -10
- dstack/_internal/server/background/__init__.py +5 -6
- dstack/_internal/server/background/tasks/process_fleets.py +52 -38
- dstack/_internal/server/background/tasks/process_gateways.py +2 -2
- dstack/_internal/server/background/tasks/process_idle_volumes.py +5 -4
- dstack/_internal/server/background/tasks/process_instances.py +62 -48
- dstack/_internal/server/background/tasks/process_metrics.py +9 -2
- dstack/_internal/server/background/tasks/process_placement_groups.py +2 -0
- dstack/_internal/server/background/tasks/process_prometheus_metrics.py +14 -2
- dstack/_internal/server/background/tasks/process_running_jobs.py +129 -124
- dstack/_internal/server/background/tasks/process_runs.py +63 -20
- dstack/_internal/server/background/tasks/process_submitted_jobs.py +12 -10
- dstack/_internal/server/background/tasks/process_terminating_jobs.py +12 -4
- dstack/_internal/server/background/tasks/process_volumes.py +4 -1
- dstack/_internal/server/migrations/versions/50dd7ea98639_index_status_columns.py +55 -0
- dstack/_internal/server/migrations/versions/ec02a26a256c_add_runmodel_next_triggered_at.py +38 -0
- dstack/_internal/server/models.py +16 -16
- dstack/_internal/server/services/fleets.py +19 -10
- dstack/_internal/server/services/gateways/__init__.py +17 -17
- dstack/_internal/server/services/instances.py +10 -14
- dstack/_internal/server/services/jobs/__init__.py +10 -12
- dstack/_internal/server/services/offers.py +3 -3
- dstack/_internal/server/services/projects.py +35 -15
- dstack/_internal/server/services/prometheus/client_metrics.py +3 -0
- dstack/_internal/server/services/prometheus/custom_metrics.py +2 -3
- dstack/_internal/server/services/runs.py +74 -34
- dstack/_internal/server/services/services/__init__.py +4 -1
- dstack/_internal/server/services/users.py +2 -3
- dstack/_internal/server/services/volumes.py +11 -11
- dstack/_internal/server/settings.py +3 -0
- dstack/_internal/server/testing/common.py +7 -0
- dstack/_internal/server/utils/sentry_utils.py +12 -0
- dstack/_internal/utils/cron.py +5 -0
- dstack/version.py +1 -1
- {dstack-0.19.20.dist-info → dstack-0.19.21.dist-info}/METADATA +2 -11
- {dstack-0.19.20.dist-info → dstack-0.19.21.dist-info}/RECORD +44 -39
- {dstack-0.19.20.dist-info → dstack-0.19.21.dist-info}/WHEEL +0 -0
- {dstack-0.19.20.dist-info → dstack-0.19.21.dist-info}/entry_points.txt +0 -0
- {dstack-0.19.20.dist-info → dstack-0.19.21.dist-info}/licenses/LICENSE.md +0 -0
|
@@ -2,7 +2,6 @@ import hashlib
|
|
|
2
2
|
import os
|
|
3
3
|
import re
|
|
4
4
|
import uuid
|
|
5
|
-
from datetime import timezone
|
|
6
5
|
from typing import Awaitable, Callable, List, Optional, Tuple
|
|
7
6
|
|
|
8
7
|
from sqlalchemy import delete, select, update
|
|
@@ -195,7 +194,7 @@ def user_model_to_user(user_model: UserModel) -> User:
|
|
|
195
194
|
return User(
|
|
196
195
|
id=user_model.id,
|
|
197
196
|
username=user_model.name,
|
|
198
|
-
created_at=user_model.created_at
|
|
197
|
+
created_at=user_model.created_at,
|
|
199
198
|
global_role=user_model.global_role,
|
|
200
199
|
email=user_model.email,
|
|
201
200
|
active=user_model.active,
|
|
@@ -207,7 +206,7 @@ def user_model_to_user_with_creds(user_model: UserModel) -> UserWithCreds:
|
|
|
207
206
|
return UserWithCreds(
|
|
208
207
|
id=user_model.id,
|
|
209
208
|
username=user_model.name,
|
|
210
|
-
created_at=user_model.created_at
|
|
209
|
+
created_at=user_model.created_at,
|
|
211
210
|
global_role=user_model.global_role,
|
|
212
211
|
email=user_model.email,
|
|
213
212
|
active=user_model.active,
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import uuid
|
|
2
|
-
from datetime import datetime, timedelta
|
|
2
|
+
from datetime import datetime, timedelta
|
|
3
3
|
from typing import List, Optional
|
|
4
4
|
|
|
5
5
|
from sqlalchemy import and_, func, or_, select, update
|
|
6
6
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
7
7
|
from sqlalchemy.orm import joinedload, selectinload
|
|
8
8
|
|
|
9
|
-
from dstack._internal.core.backends import BACKENDS_WITH_VOLUMES_SUPPORT
|
|
10
9
|
from dstack._internal.core.backends.base.compute import ComputeWithVolumeSupport
|
|
10
|
+
from dstack._internal.core.backends.features import BACKENDS_WITH_VOLUMES_SUPPORT
|
|
11
11
|
from dstack._internal.core.errors import (
|
|
12
12
|
BackendNotAvailable,
|
|
13
13
|
ResourceExistsError,
|
|
14
14
|
ServerClientError,
|
|
15
15
|
)
|
|
16
|
-
from dstack._internal.core.models.users import GlobalRole
|
|
17
16
|
from dstack._internal.core.models.volumes import (
|
|
18
17
|
Volume,
|
|
19
18
|
VolumeAttachment,
|
|
@@ -40,7 +39,7 @@ from dstack._internal.server.services.locking import (
|
|
|
40
39
|
string_to_lock_id,
|
|
41
40
|
)
|
|
42
41
|
from dstack._internal.server.services.plugins import apply_plugin_policies
|
|
43
|
-
from dstack._internal.server.services.projects import
|
|
42
|
+
from dstack._internal.server.services.projects import list_user_project_models
|
|
44
43
|
from dstack._internal.utils import common, random_names
|
|
45
44
|
from dstack._internal.utils.logging import get_logger
|
|
46
45
|
|
|
@@ -57,10 +56,11 @@ async def list_volumes(
|
|
|
57
56
|
limit: int,
|
|
58
57
|
ascending: bool,
|
|
59
58
|
) -> List[Volume]:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
projects = await list_user_project_models(
|
|
60
|
+
session=session,
|
|
61
|
+
user=user,
|
|
62
|
+
only_names=True,
|
|
63
|
+
)
|
|
64
64
|
if project_name is not None:
|
|
65
65
|
projects = [p for p in projects if p.name == project_name]
|
|
66
66
|
volume_models = await list_projects_volume_models(
|
|
@@ -320,15 +320,15 @@ def volume_model_to_volume(volume_model: VolumeModel) -> Volume:
|
|
|
320
320
|
)
|
|
321
321
|
deleted_at = None
|
|
322
322
|
if volume_model.deleted_at is not None:
|
|
323
|
-
deleted_at = volume_model.deleted_at
|
|
323
|
+
deleted_at = volume_model.deleted_at
|
|
324
324
|
volume = Volume(
|
|
325
325
|
name=volume_model.name,
|
|
326
326
|
project_name=volume_model.project.name,
|
|
327
327
|
user=volume_model.user.name,
|
|
328
328
|
configuration=configuration,
|
|
329
329
|
external=configuration.volume_id is not None,
|
|
330
|
-
created_at=volume_model.created_at
|
|
331
|
-
last_processed_at=volume_model.last_processed_at
|
|
330
|
+
created_at=volume_model.created_at,
|
|
331
|
+
last_processed_at=volume_model.last_processed_at,
|
|
332
332
|
status=volume_model.status,
|
|
333
333
|
status_message=volume_model.status_message,
|
|
334
334
|
deleted=volume_model.deleted,
|
|
@@ -93,6 +93,9 @@ DEFAULT_PROJECT_NAME = "main"
|
|
|
93
93
|
|
|
94
94
|
SENTRY_DSN = os.getenv("DSTACK_SENTRY_DSN")
|
|
95
95
|
SENTRY_TRACES_SAMPLE_RATE = float(os.getenv("DSTACK_SENTRY_TRACES_SAMPLE_RATE", 0.1))
|
|
96
|
+
SENTRY_TRACES_BACKGROUND_SAMPLE_RATE = float(
|
|
97
|
+
os.getenv("DSTACK_SENTRY_TRACES_BACKGROUND_SAMPLE_RATE", 0.01)
|
|
98
|
+
)
|
|
96
99
|
SENTRY_PROFILES_SAMPLE_RATE = float(os.getenv("DSTACK_SENTRY_PROFILES_SAMPLE_RATE", 0))
|
|
97
100
|
|
|
98
101
|
DEFAULT_CREDS_DISABLED = os.getenv("DSTACK_DEFAULT_CREDS_DISABLED") is not None
|
|
@@ -68,6 +68,7 @@ from dstack._internal.core.models.runs import (
|
|
|
68
68
|
Requirements,
|
|
69
69
|
RunSpec,
|
|
70
70
|
RunStatus,
|
|
71
|
+
RunTerminationReason,
|
|
71
72
|
)
|
|
72
73
|
from dstack._internal.core.models.users import GlobalRole
|
|
73
74
|
from dstack._internal.core.models.volumes import (
|
|
@@ -282,12 +283,15 @@ async def create_run(
|
|
|
282
283
|
user: UserModel,
|
|
283
284
|
run_name: str = "test-run",
|
|
284
285
|
status: RunStatus = RunStatus.SUBMITTED,
|
|
286
|
+
termination_reason: Optional[RunTerminationReason] = None,
|
|
285
287
|
submitted_at: datetime = datetime(2023, 1, 2, 3, 4, tzinfo=timezone.utc),
|
|
286
288
|
run_spec: Optional[RunSpec] = None,
|
|
287
289
|
run_id: Optional[UUID] = None,
|
|
288
290
|
deleted: bool = False,
|
|
289
291
|
priority: int = 0,
|
|
290
292
|
deployment_num: int = 0,
|
|
293
|
+
resubmission_attempt: int = 0,
|
|
294
|
+
next_triggered_at: Optional[datetime] = None,
|
|
291
295
|
) -> RunModel:
|
|
292
296
|
if run_spec is None:
|
|
293
297
|
run_spec = get_run_spec(
|
|
@@ -305,12 +309,15 @@ async def create_run(
|
|
|
305
309
|
submitted_at=submitted_at,
|
|
306
310
|
run_name=run_name,
|
|
307
311
|
status=status,
|
|
312
|
+
termination_reason=termination_reason,
|
|
308
313
|
run_spec=run_spec.json(),
|
|
309
314
|
last_processed_at=submitted_at,
|
|
310
315
|
jobs=[],
|
|
311
316
|
priority=priority,
|
|
312
317
|
deployment_num=deployment_num,
|
|
313
318
|
desired_replica_count=1,
|
|
319
|
+
resubmission_attempt=resubmission_attempt,
|
|
320
|
+
next_triggered_at=next_triggered_at,
|
|
314
321
|
)
|
|
315
322
|
session.add(run)
|
|
316
323
|
await session.commit()
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
|
|
3
|
+
import sentry_sdk
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def instrument_background_task(f):
|
|
7
|
+
@functools.wraps(f)
|
|
8
|
+
async def wrapper(*args, **kwargs):
|
|
9
|
+
with sentry_sdk.start_transaction(name=f"background.{f.__name__}"):
|
|
10
|
+
return await f(*args, **kwargs)
|
|
11
|
+
|
|
12
|
+
return wrapper
|
dstack/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dstack
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.21
|
|
4
4
|
Summary: dstack is an open-source orchestration engine for running AI workloads on any cloud or on-premises.
|
|
5
5
|
Project-URL: Homepage, https://dstack.ai
|
|
6
6
|
Project-URL: Source, https://github.com/dstackai/dstack
|
|
@@ -15,6 +15,7 @@ Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
17
17
|
Requires-Python: >=3.9
|
|
18
|
+
Requires-Dist: apscheduler<4
|
|
18
19
|
Requires-Dist: argcomplete>=3.5.0
|
|
19
20
|
Requires-Dist: cachetools
|
|
20
21
|
Requires-Dist: cryptography
|
|
@@ -46,7 +47,6 @@ Requires-Dist: aiorwlock; extra == 'all'
|
|
|
46
47
|
Requires-Dist: aiosqlite; extra == 'all'
|
|
47
48
|
Requires-Dist: alembic-postgresql-enum; extra == 'all'
|
|
48
49
|
Requires-Dist: alembic>=1.10.2; extra == 'all'
|
|
49
|
-
Requires-Dist: apscheduler<4; extra == 'all'
|
|
50
50
|
Requires-Dist: asyncpg; extra == 'all'
|
|
51
51
|
Requires-Dist: azure-identity>=1.12.0; extra == 'all'
|
|
52
52
|
Requires-Dist: azure-mgmt-authorization>=3.0.0; extra == 'all'
|
|
@@ -92,7 +92,6 @@ Requires-Dist: aiorwlock; extra == 'aws'
|
|
|
92
92
|
Requires-Dist: aiosqlite; extra == 'aws'
|
|
93
93
|
Requires-Dist: alembic-postgresql-enum; extra == 'aws'
|
|
94
94
|
Requires-Dist: alembic>=1.10.2; extra == 'aws'
|
|
95
|
-
Requires-Dist: apscheduler<4; extra == 'aws'
|
|
96
95
|
Requires-Dist: asyncpg; extra == 'aws'
|
|
97
96
|
Requires-Dist: backports-entry-points-selectable; extra == 'aws'
|
|
98
97
|
Requires-Dist: boto3>=1.38.13; extra == 'aws'
|
|
@@ -117,7 +116,6 @@ Requires-Dist: aiorwlock; extra == 'azure'
|
|
|
117
116
|
Requires-Dist: aiosqlite; extra == 'azure'
|
|
118
117
|
Requires-Dist: alembic-postgresql-enum; extra == 'azure'
|
|
119
118
|
Requires-Dist: alembic>=1.10.2; extra == 'azure'
|
|
120
|
-
Requires-Dist: apscheduler<4; extra == 'azure'
|
|
121
119
|
Requires-Dist: asyncpg; extra == 'azure'
|
|
122
120
|
Requires-Dist: azure-identity>=1.12.0; extra == 'azure'
|
|
123
121
|
Requires-Dist: azure-mgmt-authorization>=3.0.0; extra == 'azure'
|
|
@@ -147,7 +145,6 @@ Requires-Dist: aiorwlock; extra == 'datacrunch'
|
|
|
147
145
|
Requires-Dist: aiosqlite; extra == 'datacrunch'
|
|
148
146
|
Requires-Dist: alembic-postgresql-enum; extra == 'datacrunch'
|
|
149
147
|
Requires-Dist: alembic>=1.10.2; extra == 'datacrunch'
|
|
150
|
-
Requires-Dist: apscheduler<4; extra == 'datacrunch'
|
|
151
148
|
Requires-Dist: asyncpg; extra == 'datacrunch'
|
|
152
149
|
Requires-Dist: backports-entry-points-selectable; extra == 'datacrunch'
|
|
153
150
|
Requires-Dist: datacrunch; extra == 'datacrunch'
|
|
@@ -179,7 +176,6 @@ Requires-Dist: aiorwlock; extra == 'gcp'
|
|
|
179
176
|
Requires-Dist: aiosqlite; extra == 'gcp'
|
|
180
177
|
Requires-Dist: alembic-postgresql-enum; extra == 'gcp'
|
|
181
178
|
Requires-Dist: alembic>=1.10.2; extra == 'gcp'
|
|
182
|
-
Requires-Dist: apscheduler<4; extra == 'gcp'
|
|
183
179
|
Requires-Dist: asyncpg; extra == 'gcp'
|
|
184
180
|
Requires-Dist: backports-entry-points-selectable; extra == 'gcp'
|
|
185
181
|
Requires-Dist: docker>=6.0.0; extra == 'gcp'
|
|
@@ -209,7 +205,6 @@ Requires-Dist: aiorwlock; extra == 'kubernetes'
|
|
|
209
205
|
Requires-Dist: aiosqlite; extra == 'kubernetes'
|
|
210
206
|
Requires-Dist: alembic-postgresql-enum; extra == 'kubernetes'
|
|
211
207
|
Requires-Dist: alembic>=1.10.2; extra == 'kubernetes'
|
|
212
|
-
Requires-Dist: apscheduler<4; extra == 'kubernetes'
|
|
213
208
|
Requires-Dist: asyncpg; extra == 'kubernetes'
|
|
214
209
|
Requires-Dist: backports-entry-points-selectable; extra == 'kubernetes'
|
|
215
210
|
Requires-Dist: docker>=6.0.0; extra == 'kubernetes'
|
|
@@ -233,7 +228,6 @@ Requires-Dist: aiorwlock; extra == 'lambda'
|
|
|
233
228
|
Requires-Dist: aiosqlite; extra == 'lambda'
|
|
234
229
|
Requires-Dist: alembic-postgresql-enum; extra == 'lambda'
|
|
235
230
|
Requires-Dist: alembic>=1.10.2; extra == 'lambda'
|
|
236
|
-
Requires-Dist: apscheduler<4; extra == 'lambda'
|
|
237
231
|
Requires-Dist: asyncpg; extra == 'lambda'
|
|
238
232
|
Requires-Dist: backports-entry-points-selectable; extra == 'lambda'
|
|
239
233
|
Requires-Dist: boto3>=1.38.13; extra == 'lambda'
|
|
@@ -258,7 +252,6 @@ Requires-Dist: aiorwlock; extra == 'nebius'
|
|
|
258
252
|
Requires-Dist: aiosqlite; extra == 'nebius'
|
|
259
253
|
Requires-Dist: alembic-postgresql-enum; extra == 'nebius'
|
|
260
254
|
Requires-Dist: alembic>=1.10.2; extra == 'nebius'
|
|
261
|
-
Requires-Dist: apscheduler<4; extra == 'nebius'
|
|
262
255
|
Requires-Dist: asyncpg; extra == 'nebius'
|
|
263
256
|
Requires-Dist: backports-entry-points-selectable; extra == 'nebius'
|
|
264
257
|
Requires-Dist: docker>=6.0.0; extra == 'nebius'
|
|
@@ -282,7 +275,6 @@ Requires-Dist: aiorwlock; extra == 'oci'
|
|
|
282
275
|
Requires-Dist: aiosqlite; extra == 'oci'
|
|
283
276
|
Requires-Dist: alembic-postgresql-enum; extra == 'oci'
|
|
284
277
|
Requires-Dist: alembic>=1.10.2; extra == 'oci'
|
|
285
|
-
Requires-Dist: apscheduler<4; extra == 'oci'
|
|
286
278
|
Requires-Dist: asyncpg; extra == 'oci'
|
|
287
279
|
Requires-Dist: backports-entry-points-selectable; extra == 'oci'
|
|
288
280
|
Requires-Dist: cryptography>=44.0.3; extra == 'oci'
|
|
@@ -308,7 +300,6 @@ Requires-Dist: aiorwlock; extra == 'server'
|
|
|
308
300
|
Requires-Dist: aiosqlite; extra == 'server'
|
|
309
301
|
Requires-Dist: alembic-postgresql-enum; extra == 'server'
|
|
310
302
|
Requires-Dist: alembic>=1.10.2; extra == 'server'
|
|
311
|
-
Requires-Dist: apscheduler<4; extra == 'server'
|
|
312
303
|
Requires-Dist: asyncpg; extra == 'server'
|
|
313
304
|
Requires-Dist: backports-entry-points-selectable; extra == 'server'
|
|
314
305
|
Requires-Dist: docker>=6.0.0; extra == 'server'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
dstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
dstack/version.py,sha256=
|
|
2
|
+
dstack/version.py,sha256=69F2XTd8pmd4oG2eNHMHCrCE3WDUqAhO21ECqYm3wnA,102
|
|
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=mlqH4Jwd-Qvxwt869dYXy4snQ0naUsHOwXiI0WSMojA,1246
|
|
@@ -47,8 +47,9 @@ dstack/_internal/cli/utils/volume.py,sha256=mU9I06dVMFbpjfkefxrZNoSWadKLoib3U14r
|
|
|
47
47
|
dstack/_internal/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
48
|
dstack/_internal/core/consts.py,sha256=c1Yd5UY6Qx7KeuYgloXWncWhMsYj6TqwlElda7NtB98,254
|
|
49
49
|
dstack/_internal/core/errors.py,sha256=VTEmJ6C0zWL3fUL8ObRjB4rNL7_NxwEuWf0hZs6orWo,3377
|
|
50
|
-
dstack/_internal/core/backends/__init__.py,sha256=
|
|
50
|
+
dstack/_internal/core/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
51
|
dstack/_internal/core/backends/configurators.py,sha256=7LFad72b6zdzzDRaFUaQrJLf6PxGRsxR3tfyn15rQbA,3976
|
|
52
|
+
dstack/_internal/core/backends/features.py,sha256=cswqwmZYD8g041V_m-ovHbJRkB2_vni1DiGJpKD8M_g,2764
|
|
52
53
|
dstack/_internal/core/backends/models.py,sha256=byP6YFXQHbkOyuX8MxwRvPfjtk87o9oCefR8U-lvsAI,4319
|
|
53
54
|
dstack/_internal/core/backends/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
55
|
dstack/_internal/core/backends/aws/auth.py,sha256=BAe3HAedoAO42Fbv7YhpODKWlyil8M0PuRJsL-_u_kw,978
|
|
@@ -162,10 +163,10 @@ dstack/_internal/core/backends/vultr/compute.py,sha256=-6Mw7ADW6HaqzK34I3T5RVhre
|
|
|
162
163
|
dstack/_internal/core/backends/vultr/configurator.py,sha256=YdBeMveKaUDiLESTG3AzpSpQRzevUGpdnCGJx4tUR7g,2190
|
|
163
164
|
dstack/_internal/core/backends/vultr/models.py,sha256=TkqK_lW6w5k_7wsoFiKDb6NXuTrHL6ypVm59FoyaSFY,928
|
|
164
165
|
dstack/_internal/core/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
|
-
dstack/_internal/core/compatibility/fleets.py,sha256=
|
|
166
|
+
dstack/_internal/core/compatibility/fleets.py,sha256=ijUNkEiamJ29jAszjBeT1jrsGygDFCo1zEyTa7xUuHw,3004
|
|
166
167
|
dstack/_internal/core/compatibility/gateways.py,sha256=4h_lfpN9KJFyLTFexq-wlu74Rwpk0anV67v38aJ-SnI,1463
|
|
167
168
|
dstack/_internal/core/compatibility/logs.py,sha256=keXt3OFKR0CjD_XMsetzRu8yQGCz7CWBwycuP267L_Q,629
|
|
168
|
-
dstack/_internal/core/compatibility/runs.py,sha256=
|
|
169
|
+
dstack/_internal/core/compatibility/runs.py,sha256=g1aIGTxLkXDh5kmnyfUzr9eQtRq65hhUhVr8PrmSc3o,7927
|
|
169
170
|
dstack/_internal/core/compatibility/volumes.py,sha256=ofjpVusuc-pq285bGrIh8PAqu0QlAd6NQgU3gfJQIc0,1546
|
|
170
171
|
dstack/_internal/core/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
171
172
|
dstack/_internal/core/models/common.py,sha256=RI03rSaxhSigIpqtWDeBZ9_yX6R0-6_wC1bMGqYsTZE,3855
|
|
@@ -179,7 +180,7 @@ dstack/_internal/core/models/instances.py,sha256=Vwh-D3WB_NBdG_1BPHBEaX60n4MtYks
|
|
|
179
180
|
dstack/_internal/core/models/logs.py,sha256=vCMJFnebmTk5chodUQvghsyT1Funir1-InAcDHr-M68,483
|
|
180
181
|
dstack/_internal/core/models/metrics.py,sha256=Xb8hCXUL-ncQ3PMsErIUAJTe9gwh5jyrQ4UQoZbibsc,269
|
|
181
182
|
dstack/_internal/core/models/placement.py,sha256=WJVq5ENJykyRarQzL2EeYQag_9_jV7VSAtR_xoFvPVM,720
|
|
182
|
-
dstack/_internal/core/models/profiles.py,sha256=
|
|
183
|
+
dstack/_internal/core/models/profiles.py,sha256=M9PXPaqQsOSOy32OHWwmWUwpdHR-8Ue9tEPJRSdLjKM,12866
|
|
183
184
|
dstack/_internal/core/models/projects.py,sha256=HmmlrvUSSEjfGfX7X5tmGJ-CbKeyGK6shHD5OghDNks,671
|
|
184
185
|
dstack/_internal/core/models/resources.py,sha256=mUqFwLazN2fUHV3ZOoi1_ZtmtjNUsIqmXYjviM_BERU,14370
|
|
185
186
|
dstack/_internal/core/models/runs.py,sha256=8uvtQInQv6PbKQwCYfLk9UaQAO02Zj0gicIBrCdCvGY,20972
|
|
@@ -262,27 +263,27 @@ dstack/_internal/proxy/lib/testing/auth.py,sha256=-firWTnis9Eogoi58BURv1S-te4Hf9
|
|
|
262
263
|
dstack/_internal/proxy/lib/testing/common.py,sha256=5e2VYboMqjBnUxkvidaWLoQ-uaBGh_hnURb_VJc38q4,1518
|
|
263
264
|
dstack/_internal/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
264
265
|
dstack/_internal/server/alembic.ini,sha256=rTauBJC8Jxlw76KUygW061OFAGV7GhwAStinlaxoYGY,3166
|
|
265
|
-
dstack/_internal/server/app.py,sha256=
|
|
266
|
+
dstack/_internal/server/app.py,sha256=W8vmHhWabKeiecHWjiHBxgyBjIka67AHC2PeZwG1cFU,14847
|
|
266
267
|
dstack/_internal/server/db.py,sha256=WjuqmjG3QAZmSMCeUaJ_ynbowlHuNAvYCZO649cTPHc,3210
|
|
267
268
|
dstack/_internal/server/deps.py,sha256=31e8SU_ogPJWHIDLkgl7cuC_5V91xbJoLyAj17VanfM,670
|
|
268
269
|
dstack/_internal/server/main.py,sha256=kztKhCYNoHSDyJJQScWfZXE0naNleJOCQULW6dd8SGw,109
|
|
269
|
-
dstack/_internal/server/models.py,sha256=
|
|
270
|
-
dstack/_internal/server/settings.py,sha256=
|
|
271
|
-
dstack/_internal/server/background/__init__.py,sha256=
|
|
270
|
+
dstack/_internal/server/models.py,sha256=UR0ouKSKimdYs6XwkCbZ-7ZU6r9mzI7DA5sTP561_PQ,31559
|
|
271
|
+
dstack/_internal/server/settings.py,sha256=5LIHHmVHEj4CST_eOYnrjKGzMv-CTltZICSqnxu6jo8,5263
|
|
272
|
+
dstack/_internal/server/background/__init__.py,sha256=ApoAca1NNtP4xu6Dv_mQkkfe2CknmWXumFIpzdhGe7I,5312
|
|
272
273
|
dstack/_internal/server/background/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
273
274
|
dstack/_internal/server/background/tasks/common.py,sha256=N7xSXbf2MoBWgbJ1e3AEzYBTf1Gn-pDXYND8Zr_YCJQ,970
|
|
274
|
-
dstack/_internal/server/background/tasks/process_fleets.py,sha256=
|
|
275
|
-
dstack/_internal/server/background/tasks/process_gateways.py,sha256=
|
|
276
|
-
dstack/_internal/server/background/tasks/process_idle_volumes.py,sha256=
|
|
277
|
-
dstack/_internal/server/background/tasks/process_instances.py,sha256
|
|
278
|
-
dstack/_internal/server/background/tasks/process_metrics.py,sha256=
|
|
279
|
-
dstack/_internal/server/background/tasks/process_placement_groups.py,sha256=
|
|
280
|
-
dstack/_internal/server/background/tasks/process_prometheus_metrics.py,sha256=
|
|
281
|
-
dstack/_internal/server/background/tasks/process_running_jobs.py,sha256=
|
|
282
|
-
dstack/_internal/server/background/tasks/process_runs.py,sha256=
|
|
283
|
-
dstack/_internal/server/background/tasks/process_submitted_jobs.py,sha256=
|
|
284
|
-
dstack/_internal/server/background/tasks/process_terminating_jobs.py,sha256=
|
|
285
|
-
dstack/_internal/server/background/tasks/process_volumes.py,sha256=
|
|
275
|
+
dstack/_internal/server/background/tasks/process_fleets.py,sha256=PInDWAcD7c-tSXGb4WzOBmJM4TIoD3Xy6C84kj6p1Zk,3703
|
|
276
|
+
dstack/_internal/server/background/tasks/process_gateways.py,sha256=Ee8uGE4rKPP7U0I9OpgvIRfO3sNkpp_tdFW0Gh4XYdE,8259
|
|
277
|
+
dstack/_internal/server/background/tasks/process_idle_volumes.py,sha256=mqnl8wvWaKTYvJMbgFJbOP-bZMRQG2vrhUnaNcyBldE,5223
|
|
278
|
+
dstack/_internal/server/background/tasks/process_instances.py,sha256=-SKtzDK2YPM9pkTOtbU8mEeREflYt1G5lwXXRUx9Ajg,43848
|
|
279
|
+
dstack/_internal/server/background/tasks/process_metrics.py,sha256=yKXe9J7m3oleK0C-oGJaYNkcPT8kqkz0nw-A7xqYbjE,6390
|
|
280
|
+
dstack/_internal/server/background/tasks/process_placement_groups.py,sha256=lgYIzjHG9EITK31yG6uQjlIcSwW5jsP9ZOBBZqW_eNs,4263
|
|
281
|
+
dstack/_internal/server/background/tasks/process_prometheus_metrics.py,sha256=_UZm37FVV4rhdd0So7HtcKbIgrSdAr5Vx-Uen_xizec,5459
|
|
282
|
+
dstack/_internal/server/background/tasks/process_running_jobs.py,sha256=r2VoyJlvIgXzeyAt_bhh4FWbAH5WleuWuiZmbO5hepw,43784
|
|
283
|
+
dstack/_internal/server/background/tasks/process_runs.py,sha256=p2YIjKobnObEjeWegdfwTNAaoe_9eYxAN7gmis6wqKI,24448
|
|
284
|
+
dstack/_internal/server/background/tasks/process_submitted_jobs.py,sha256=9jIB7yMC211yhQLFVtlmw__jGjb7w-7X1fZZ2wa4f4U,28913
|
|
285
|
+
dstack/_internal/server/background/tasks/process_terminating_jobs.py,sha256=4civvAaLPT1R-PopVNkcTNnbn_Na7fIhFL8szYqLHUg,4074
|
|
286
|
+
dstack/_internal/server/background/tasks/process_volumes.py,sha256=7qNGX3yRoVmx2zUwJ9iTU124lGGBjKL3E8aEwKFX9eg,5208
|
|
286
287
|
dstack/_internal/server/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
287
288
|
dstack/_internal/server/migrations/env.py,sha256=RuhcN-CST86VzMatjqBMdYcG0fGGMZl_o1YgZTL-WDw,2831
|
|
288
289
|
dstack/_internal/server/migrations/script.py.mako,sha256=Xi-IcoSN51tKWbAq1-nNVX7j6_89mf9AuX9DjnqUO_o,574
|
|
@@ -307,6 +308,7 @@ dstack/_internal/server/migrations/versions/3dbdce90d0e0_fix_code_uq_constraint.
|
|
|
307
308
|
dstack/_internal/server/migrations/versions/48ad3ecbaea2_do_not_delete_projects_and_runs.py,sha256=FaVmRi9ocsygGEf5j2XDPaYbdgGl98ykycpFul1GdMw,1453
|
|
308
309
|
dstack/_internal/server/migrations/versions/4ae1a5b0e7f1_add_run_list_index.py,sha256=qpzzdCpETXGCVCyhMDFoUviPBFrz585Kg5znYTffha8,862
|
|
309
310
|
dstack/_internal/server/migrations/versions/4b4319398164_introduce_runs_processing.py,sha256=XUyqSYoeTYpt4wu_aFeVY-NgDSx6ZAUtTUiTHNPitwY,4938
|
|
311
|
+
dstack/_internal/server/migrations/versions/50dd7ea98639_index_status_columns.py,sha256=X0gf8KqYfCfcZyq8tZj5mTSGKSeAZv3-teIemy2KlPY,1944
|
|
310
312
|
dstack/_internal/server/migrations/versions/51d45659d574_add_instancemodel_blocks_fields.py,sha256=RpGbj86Omt-Rme5D3q_CIRWlAScjpILcgXS4jszceLY,1161
|
|
311
313
|
dstack/_internal/server/migrations/versions/54a77e19c64c_add_manager_project_role.py,sha256=D3QgOShGrnWd-5SqIj8C6xQL2JwoRRB-b6Sm6eM_hA4,2056
|
|
312
314
|
dstack/_internal/server/migrations/versions/555138b1f77f_change_instancemodel_for_asynchronous_.py,sha256=WpwO5OHPUfjNg-LV6A53wPeKXiwb_saQvOWL7PGLCu8,2782
|
|
@@ -356,6 +358,7 @@ dstack/_internal/server/migrations/versions/dfffd6a1165c_add_fields_for_gateways
|
|
|
356
358
|
dstack/_internal/server/migrations/versions/e3b7db07727f_add_gatewaycomputemodel_app_updated_at.py,sha256=XAhYoza5xvG6ALFtNJn2H0LK8MMTDoAAV40U0opm1bg,1860
|
|
357
359
|
dstack/_internal/server/migrations/versions/e6391ca6a264_separate_gateways_from_compute.py,sha256=efWiMgcv9LCrimVC52dvA_sH1nfxtNm5Ywadr_pbW7s,2612
|
|
358
360
|
dstack/_internal/server/migrations/versions/ea60480f82bb_add_membermodel_member_num.py,sha256=jdUjThL8ELQAiFtODts2pxjo62fn3WEd8w50jp7-e44,825
|
|
361
|
+
dstack/_internal/server/migrations/versions/ec02a26a256c_add_runmodel_next_triggered_at.py,sha256=YeEeTHYqh5i5ycO3ExZhCWc16iC--JuRtVcDRu2RJ9Q,962
|
|
359
362
|
dstack/_internal/server/migrations/versions/ed0ca30e13bb_migrate_instancestatus_provisioning.py,sha256=YhXQ9ApeMB8grDjNcbnXQKHYPlIJB7QlvE1R1nM5_6k,689
|
|
360
363
|
dstack/_internal/server/migrations/versions/fe72c4de8376_add_gateways.py,sha256=1-0e060NDpgYQhoKDmHWednANk1cZzMdVns7sEo5Lwo,2730
|
|
361
364
|
dstack/_internal/server/migrations/versions/ffa99edd1988_add_jobterminationreason_max_duration_.py,sha256=1wBIisgN25doZfAErnqyshoSSzoDHPt4nZfC2MmSWak,2324
|
|
@@ -396,22 +399,22 @@ dstack/_internal/server/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
|
396
399
|
dstack/_internal/server/services/config.py,sha256=yo8njslwfS7_blhbPPhOtzCMyg8N_mmFSw5aPvirSzw,10691
|
|
397
400
|
dstack/_internal/server/services/docker.py,sha256=zAvjFHxIP03Td92NzbGEScz0piLjloE60tQ7vz0AeCA,5328
|
|
398
401
|
dstack/_internal/server/services/files.py,sha256=LJYFRtIJwB-QL-FhIu1408oqVVfa2lPZZlaTuZMo6pw,2847
|
|
399
|
-
dstack/_internal/server/services/fleets.py,sha256=
|
|
400
|
-
dstack/_internal/server/services/instances.py,sha256=
|
|
402
|
+
dstack/_internal/server/services/fleets.py,sha256=ugbITHV_KRkFBFKkRIaaRDUcKFzTYEYmtrZsmoa64b8,37146
|
|
403
|
+
dstack/_internal/server/services/instances.py,sha256=ox1J7OI0U-FYis8HyKgWh_DTvyxV6mmo_s6lgQwkzIk,18737
|
|
401
404
|
dstack/_internal/server/services/locking.py,sha256=4y_k8U7X71_lExdaXDSSEfizhfydBXOZKe64zo-1DX8,5224
|
|
402
405
|
dstack/_internal/server/services/logging.py,sha256=h5Cy22TJi5IvbKXE_kVZYXQy0XJrHK85JV4-GCuWA1o,543
|
|
403
406
|
dstack/_internal/server/services/metrics.py,sha256=jKLy1jSCVR_crqVu_CmsOMbvMkucWBandI0SS1LDeRQ,6896
|
|
404
|
-
dstack/_internal/server/services/offers.py,sha256=
|
|
407
|
+
dstack/_internal/server/services/offers.py,sha256=ACfTGW6Nx7RoUwJObsSH22lI_BDDi2ux55PXWZN6els,7746
|
|
405
408
|
dstack/_internal/server/services/permissions.py,sha256=l7Ngdelmn65vjw13NcOdaC6lBYMRuSw6FbHzYwdK3nE,1005
|
|
406
409
|
dstack/_internal/server/services/placement.py,sha256=U-7z4kJ6ZyrCXzkDychWoOhniz19ooFwiNI2InoTLls,2420
|
|
407
410
|
dstack/_internal/server/services/plugins.py,sha256=KgBqBUqxjQirRcYNuXVetE4OQj0EPkdC7ccbrNV1WQE,3825
|
|
408
|
-
dstack/_internal/server/services/projects.py,sha256=
|
|
411
|
+
dstack/_internal/server/services/projects.py,sha256=Gk4E4srbNPDG5AR4Ec8OmajaVrmupHDsg6dk8ybb6nQ,23001
|
|
409
412
|
dstack/_internal/server/services/repos.py,sha256=f9ztN7jz_2gvD9hXF5sJwWDVyG2-NHRfjIdSukowPh8,9342
|
|
410
413
|
dstack/_internal/server/services/resources.py,sha256=VRFOih_cMJdc0c2m9nSGsX8vWAJQV3M6N87aqS_JXfw,699
|
|
411
|
-
dstack/_internal/server/services/runs.py,sha256=
|
|
414
|
+
dstack/_internal/server/services/runs.py,sha256=Ncqun9CxD2WBwPRxOY8xIKdb9t_VqytP4iuZyNj9GV4,45373
|
|
412
415
|
dstack/_internal/server/services/secrets.py,sha256=oVz8mv4pQv8onaDdPKft2qJYq3Xnh8-uskoMxBuyfpE,5567
|
|
413
|
-
dstack/_internal/server/services/users.py,sha256=
|
|
414
|
-
dstack/_internal/server/services/volumes.py,sha256=
|
|
416
|
+
dstack/_internal/server/services/users.py,sha256=L-COF4RjtwYSfnkGQefrSiEU0haTv0o1P2OuUdvMK8E,7378
|
|
417
|
+
dstack/_internal/server/services/volumes.py,sha256=DBGIUsysAO7sQ6vb4mjhzO9XLdyQvtNujucxhGnkSsU,16682
|
|
415
418
|
dstack/_internal/server/services/backends/__init__.py,sha256=UzZ-JqaUEheaE3fwNfnRJ47yK2nO23mTT3BwcYDooP4,13147
|
|
416
419
|
dstack/_internal/server/services/backends/handlers.py,sha256=j-MhBxrpdepoDG7f2tApjFnE23RVO5I15-hxHyOWnew,3251
|
|
417
420
|
dstack/_internal/server/services/encryption/__init__.py,sha256=3kCw_cxC3-Un1OIofdW5Gqsm0ZCXXTlGz09cULBx_uc,3155
|
|
@@ -419,11 +422,11 @@ dstack/_internal/server/services/encryption/keys/__init__.py,sha256=47DEQpj8HBSa
|
|
|
419
422
|
dstack/_internal/server/services/encryption/keys/aes.py,sha256=2He1p2_Rg6hnCeLIGJo-Yfdsij7so_338oY49RXuL3Q,2276
|
|
420
423
|
dstack/_internal/server/services/encryption/keys/base.py,sha256=mqumJiidoexUPoqxhQG6J_SpC1WGYwkdjKm1MUWnXo8,352
|
|
421
424
|
dstack/_internal/server/services/encryption/keys/identity.py,sha256=ryb_YSV6u4c7W1OsVfEpzJvZCrR4zZYlzLw_GpjpD2Q,741
|
|
422
|
-
dstack/_internal/server/services/gateways/__init__.py,sha256=
|
|
425
|
+
dstack/_internal/server/services/gateways/__init__.py,sha256=eI98kRhV0eJuZPwRJLtSO4M4oLfFmMMNuDIEOsmVQzg,22132
|
|
423
426
|
dstack/_internal/server/services/gateways/client.py,sha256=kgkBxfIIklVQh2Djk8_qlDVHHbnoTRvoJNEwNNxTcY8,7653
|
|
424
427
|
dstack/_internal/server/services/gateways/connection.py,sha256=ot3lV85XdmCT45vBWeyj57nLPcLPNm316zu3jMyeWjA,5625
|
|
425
428
|
dstack/_internal/server/services/gateways/pool.py,sha256=0LclTl1tyx-doS78LeaAKjr-SMp98zuwh5f9s06JSd0,1914
|
|
426
|
-
dstack/_internal/server/services/jobs/__init__.py,sha256=
|
|
429
|
+
dstack/_internal/server/services/jobs/__init__.py,sha256=TuQpdBm62lIXPiA81ZfdjjCn3JIXMuxuOsGLFMquZhI,27569
|
|
427
430
|
dstack/_internal/server/services/jobs/configurators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
428
431
|
dstack/_internal/server/services/jobs/configurators/base.py,sha256=RldlN_CuPt7lQy_kaks1IwAzschGlVo8aZygwwWEjco,13622
|
|
429
432
|
dstack/_internal/server/services/jobs/configurators/dev.py,sha256=i58_LYvX__gxLoCx7GwjNj26M67FjgAIcEWyl3f8mOU,2435
|
|
@@ -439,8 +442,8 @@ dstack/_internal/server/services/logs/base.py,sha256=7eCB6SPF9iWviv4vZ_34SvfM_Bv
|
|
|
439
442
|
dstack/_internal/server/services/logs/filelog.py,sha256=ZpnrMWhWVOpZHnUCZEm2pkJRZYgWBzlasdcyPCb6v90,9811
|
|
440
443
|
dstack/_internal/server/services/logs/gcp.py,sha256=Rfl5x1Slr4hyjdr0YPCugfHRC3aNL7D2LCiP4CvQB1s,6917
|
|
441
444
|
dstack/_internal/server/services/prometheus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
442
|
-
dstack/_internal/server/services/prometheus/client_metrics.py,sha256=
|
|
443
|
-
dstack/_internal/server/services/prometheus/custom_metrics.py,sha256=
|
|
445
|
+
dstack/_internal/server/services/prometheus/client_metrics.py,sha256=BN38NpAdjJBPpoN_q5APHhxmGBd8PghJJpZ9Vi3OaZs,1745
|
|
446
|
+
dstack/_internal/server/services/prometheus/custom_metrics.py,sha256=xjBuNAbJQtfsf5zATzh7IwFCjIGjulJ-RuaMcYHKR2k,13547
|
|
444
447
|
dstack/_internal/server/services/proxy/__init__.py,sha256=aklmvGaGXISztQft-nH8R98WRU6x_L0Fx3RwVDhwt3g,85
|
|
445
448
|
dstack/_internal/server/services/proxy/auth.py,sha256=AVhDCnk9KvxJ7Jsd8Xmotl_29V4lNuBw8mQNBhx90Ws,485
|
|
446
449
|
dstack/_internal/server/services/proxy/deps.py,sha256=u4dHHKBlTgC8Fnnl3onErgE1HGKFwyZTwvq0uT6IdQ4,846
|
|
@@ -452,7 +455,7 @@ dstack/_internal/server/services/proxy/services/service_proxy.py,sha256=4JrSxHqh
|
|
|
452
455
|
dstack/_internal/server/services/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
453
456
|
dstack/_internal/server/services/runner/client.py,sha256=m2chzrQmtcRiw2JUmdfWAbcQFGVKq4CiNEFZGE21WBw,15944
|
|
454
457
|
dstack/_internal/server/services/runner/ssh.py,sha256=H-X0015ZPwYq5tc31ytFF1uNaUAr9itAsABI2oPJWrk,5017
|
|
455
|
-
dstack/_internal/server/services/services/__init__.py,sha256=
|
|
458
|
+
dstack/_internal/server/services/services/__init__.py,sha256=X5JEwtiuxyjs0v0SEOh1pUc1Yc_r6PSbqwUjOUZVH5E,11834
|
|
456
459
|
dstack/_internal/server/services/services/autoscalers.py,sha256=wg3QgfdKcaBdbtyJJlAzeMlicGKQMuRGpMPZKyemK5U,4447
|
|
457
460
|
dstack/_internal/server/services/services/options.py,sha256=BEpZbRY4PKFVkNNWxLtY--QISqBL1_aPPzZYLPpRgvM,2234
|
|
458
461
|
dstack/_internal/server/services/storage/__init__.py,sha256=ZjlLdCQiclM7h_dKJM9HXjMJDKCFOAf3yI4iO6K3HHk,1384
|
|
@@ -566,14 +569,16 @@ dstack/_internal/server/statics/static/media/logo.f602feeb138844eda97c8cb6414614
|
|
|
566
569
|
dstack/_internal/server/statics/static/media/okta.12f178e6873a1100965f2a4dbd18fcec.svg,sha256=KqFI05gQM135zC1plF1WBRF2F7CyKL7km97WKsZjAHI,319
|
|
567
570
|
dstack/_internal/server/statics/static/media/theme.3994c817bb7dda191c1c9640dee0bf42.svg,sha256=ZxFFBVZWuRLqmWH4zhwGLNtKjOzHj-5MGJRunFAtu1I,561
|
|
568
571
|
dstack/_internal/server/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
569
|
-
dstack/_internal/server/testing/common.py,sha256=
|
|
572
|
+
dstack/_internal/server/testing/common.py,sha256=ZpqosCSolTPCel1bFwgJ_3KWr2LfyoXCiJfGf_8o124,34423
|
|
570
573
|
dstack/_internal/server/testing/conf.py,sha256=-zhujfFjTHNfQDOK-hBck32By11c_kC0OeinB3esQGg,1902
|
|
571
574
|
dstack/_internal/server/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
572
575
|
dstack/_internal/server/utils/common.py,sha256=PbjXtqYy1taKXpyG5ys8cIrz9MXqc9dBAsR_9D1brrk,1414
|
|
573
576
|
dstack/_internal/server/utils/logging.py,sha256=bxUS2uWG5snypNRfL0d5sMLCDytyOZac81PSQlb7_rs,1907
|
|
574
577
|
dstack/_internal/server/utils/routers.py,sha256=WFjcIlJETY7SAQ1eHRxaZuAAUsWYT8S_ATLHQ6a_MBs,5498
|
|
578
|
+
dstack/_internal/server/utils/sentry_utils.py,sha256=3vYP_CH4Q6Ju5BZ0js2Yw4Gg_gdD8XVIjNVUpOQYwX8,277
|
|
575
579
|
dstack/_internal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
576
580
|
dstack/_internal/utils/common.py,sha256=m2_lmWjIPTJvI8V2XifY2FUiqT_1KIUWfnLCbAjOvEw,9119
|
|
581
|
+
dstack/_internal/utils/cron.py,sha256=_axJFBCuZwMXZN04YPSk_gMvrRv6gNiGqd5hITyIg9Y,127
|
|
577
582
|
dstack/_internal/utils/crypto.py,sha256=2RTSyzePuwwqc1X2HO6lwcSFyZ2kujnqluoICQ2DLJQ,1462
|
|
578
583
|
dstack/_internal/utils/dxf.py,sha256=wguK9s6-69kqSDZkxd1kFEr6VlH5ixvFRJxizyOuJ8I,3229
|
|
579
584
|
dstack/_internal/utils/env.py,sha256=HRbIspHpKHh05fMZeV23-hrZoV6vVMuniefD08u6ey0,357
|
|
@@ -622,8 +627,8 @@ dstack/plugins/builtin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
622
627
|
dstack/plugins/builtin/rest_plugin/__init__.py,sha256=lgTsq8Z6Km2F2UhPRChVB4vDM5ZpWtdk1iB1aa20ypA,440
|
|
623
628
|
dstack/plugins/builtin/rest_plugin/_models.py,sha256=9hgVuU6OGSxidar88XhQnNo9izYWeQvVH45ciErv-Es,1910
|
|
624
629
|
dstack/plugins/builtin/rest_plugin/_plugin.py,sha256=iv8TmQh959iEUZjCFTzmGnFW8fHukTVpPmD4iBzOfS4,5361
|
|
625
|
-
dstack-0.19.
|
|
626
|
-
dstack-0.19.
|
|
627
|
-
dstack-0.19.
|
|
628
|
-
dstack-0.19.
|
|
629
|
-
dstack-0.19.
|
|
630
|
+
dstack-0.19.21.dist-info/METADATA,sha256=ANt80iZwkabsiNy_6-3bJrwON0vBN7xOmRb7oImIu-M,20506
|
|
631
|
+
dstack-0.19.21.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
632
|
+
dstack-0.19.21.dist-info/entry_points.txt,sha256=GnLrMS8hx3rWAySQjA7tPNhtixV6a-brRkmal1PKoHc,58
|
|
633
|
+
dstack-0.19.21.dist-info/licenses/LICENSE.md,sha256=qDABaRGjSKVOib1U8viw2P_96sIK7Puo426784oD9f8,15976
|
|
634
|
+
dstack-0.19.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|