dayhoff-tools 1.13.9__py3-none-any.whl → 1.13.11__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.
- dayhoff_tools/cli/engines_studios/studio_commands.py +6 -4
- dayhoff_tools/deployment/deploy_aws.py +49 -40
- {dayhoff_tools-1.13.9.dist-info → dayhoff_tools-1.13.11.dist-info}/METADATA +1 -1
- {dayhoff_tools-1.13.9.dist-info → dayhoff_tools-1.13.11.dist-info}/RECORD +6 -6
- {dayhoff_tools-1.13.9.dist-info → dayhoff_tools-1.13.11.dist-info}/WHEEL +0 -0
- {dayhoff_tools-1.13.9.dist-info → dayhoff_tools-1.13.11.dist-info}/entry_points.txt +0 -0
|
@@ -225,12 +225,14 @@ def studio_status(user: Optional[str], env: Optional[str]):
|
|
|
225
225
|
# Attached to in blue (if present) - resolve instance ID to engine name
|
|
226
226
|
if studio.get("attached_to"):
|
|
227
227
|
instance_id = studio["attached_to"]
|
|
228
|
-
# Try to resolve instance ID to engine name
|
|
228
|
+
# Try to resolve instance ID to engine name by searching engines list
|
|
229
229
|
engine_name = instance_id # Default to instance ID if not found
|
|
230
230
|
try:
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
231
|
+
engines_result = client.list_engines()
|
|
232
|
+
for engine in engines_result.get("engines", []):
|
|
233
|
+
if engine.get("instance_id") == instance_id:
|
|
234
|
+
engine_name = engine.get("name", instance_id)
|
|
235
|
+
break
|
|
234
236
|
except Exception:
|
|
235
237
|
pass # Fall back to instance ID
|
|
236
238
|
click.echo(f"Attached to: \033[34m{engine_name}\033[0m")
|
|
@@ -344,46 +344,55 @@ def create_or_update_job_definition(
|
|
|
344
344
|
f"Adding mount points to job definition: {batch_job_config['mountPoints']}"
|
|
345
345
|
)
|
|
346
346
|
|
|
347
|
-
#
|
|
348
|
-
#
|
|
349
|
-
|
|
350
|
-
if
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
"
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
347
|
+
# Mount Primordial Drive if explicitly enabled via feature flag
|
|
348
|
+
# Add 'mount_primordial_drive' to features list to mount shared EFS at /primordial/
|
|
349
|
+
features = config.get("features", []) or []
|
|
350
|
+
features_set = {f if isinstance(f, str) else next(iter(f)) for f in features}
|
|
351
|
+
mount_primordial = "mount_primordial_drive" in features_set
|
|
352
|
+
|
|
353
|
+
if mount_primordial:
|
|
354
|
+
primordial_fs_id = get_primordial_fs_id(session)
|
|
355
|
+
if primordial_fs_id:
|
|
356
|
+
print(f"Adding Primordial Drive configuration (fs_id: {primordial_fs_id})")
|
|
357
|
+
|
|
358
|
+
# Add volume configuration
|
|
359
|
+
efs_volume = {
|
|
360
|
+
"name": "primordial",
|
|
361
|
+
"efsVolumeConfiguration": {
|
|
362
|
+
"fileSystemId": primordial_fs_id,
|
|
363
|
+
"rootDirectory": "/",
|
|
364
|
+
},
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
if "volumes" not in container_properties:
|
|
368
|
+
container_properties["volumes"] = []
|
|
369
|
+
|
|
370
|
+
# Check if already added to avoid duplicates
|
|
371
|
+
if not any(
|
|
372
|
+
v.get("name") == "primordial" for v in container_properties["volumes"]
|
|
373
|
+
):
|
|
374
|
+
container_properties["volumes"].append(efs_volume)
|
|
375
|
+
|
|
376
|
+
# Add mount point
|
|
377
|
+
mount_point = {
|
|
378
|
+
"sourceVolume": "primordial",
|
|
379
|
+
"containerPath": "/primordial",
|
|
380
|
+
"readOnly": False,
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
if "mountPoints" not in container_properties:
|
|
384
|
+
container_properties["mountPoints"] = []
|
|
385
|
+
|
|
386
|
+
# Check if already added
|
|
387
|
+
if not any(
|
|
388
|
+
mp.get("containerPath") == "/primordial"
|
|
389
|
+
for mp in container_properties["mountPoints"]
|
|
390
|
+
):
|
|
391
|
+
container_properties["mountPoints"].append(mount_point)
|
|
392
|
+
else:
|
|
393
|
+
print(
|
|
394
|
+
"Warning: mount_primordial_drive enabled but Primordial Drive not found in this environment"
|
|
395
|
+
)
|
|
387
396
|
|
|
388
397
|
# Check if job definition already exists using the session client
|
|
389
398
|
try:
|
|
@@ -24,12 +24,12 @@ dayhoff_tools/cli/engines_studios/simulators/idle_status_simulator.py,sha256=F_M
|
|
|
24
24
|
dayhoff_tools/cli/engines_studios/simulators/simulator_utils.py,sha256=HA08pIMJWV3OFrWj3Ca8GldvgJZfFoTOloyLK0UWMgA,6729
|
|
25
25
|
dayhoff_tools/cli/engines_studios/simulators/studio_list_simulator.py,sha256=ntizeR0BJLdJOwCRBKPajc2xT-BL7SNnONxfgxXDgr8,11609
|
|
26
26
|
dayhoff_tools/cli/engines_studios/simulators/studio_status_simulator.py,sha256=6WvpnRawJVaQf_H81zuR1_66igRRVxPxjAt8e69xjp4,5394
|
|
27
|
-
dayhoff_tools/cli/engines_studios/studio_commands.py,sha256=
|
|
27
|
+
dayhoff_tools/cli/engines_studios/studio_commands.py,sha256=4ul6i8HDHZTffavu1y_j4kwvsDNvjMvYMWbZGXN8nKY,25597
|
|
28
28
|
dayhoff_tools/cli/main.py,sha256=Nz_jtbppmvWKHZydQ0nkt_eejccJE90ces8xCGrerdY,7086
|
|
29
29
|
dayhoff_tools/cli/swarm_commands.py,sha256=5EyKj8yietvT5lfoz8Zx0iQvVaNgc3SJX1z2zQR6o6M,5614
|
|
30
30
|
dayhoff_tools/cli/utility_commands.py,sha256=e2P4dCCtoqMUGNyb0lFBZ6GZpl5Zslm1qqE5qIvsy38,50765
|
|
31
31
|
dayhoff_tools/deployment/base.py,sha256=fM9zyhuRvIK8YqY6ooYg9j6wy_8touA_L-dkV7FA5q4,18058
|
|
32
|
-
dayhoff_tools/deployment/deploy_aws.py,sha256=
|
|
32
|
+
dayhoff_tools/deployment/deploy_aws.py,sha256=1j16aE4hmln4pQVtcSGuIGVWbOBfWwveytvihjofADo,21519
|
|
33
33
|
dayhoff_tools/deployment/deploy_gcp.py,sha256=xgaOVsUDmP6wSEMYNkm1yRNcVskfdz80qJtCulkBIAM,8860
|
|
34
34
|
dayhoff_tools/deployment/deploy_utils.py,sha256=KyUFZZWn8NGT9QpR0HGqkX-huOFubvYCabko9SlC5Gg,26516
|
|
35
35
|
dayhoff_tools/deployment/job_runner.py,sha256=hljvFpH2Bw96uYyUup5Ths72PZRL_X27KxlYzBMgguo,5086
|
|
@@ -48,7 +48,7 @@ dayhoff_tools/intake/uniprot.py,sha256=BZYJQF63OtPcBBnQ7_P9gulxzJtqyorgyuDiPeOJq
|
|
|
48
48
|
dayhoff_tools/logs.py,sha256=DKdeP0k0kliRcilwvX0mUB2eipO5BdWUeHwh-VnsICs,838
|
|
49
49
|
dayhoff_tools/sqlite.py,sha256=jV55ikF8VpTfeQqqlHSbY8OgfyfHj8zgHNpZjBLos_E,18672
|
|
50
50
|
dayhoff_tools/warehouse.py,sha256=UETBtZD3r7WgvURqfGbyHlT7cxoiVq8isjzMuerKw8I,24475
|
|
51
|
-
dayhoff_tools-1.13.
|
|
52
|
-
dayhoff_tools-1.13.
|
|
53
|
-
dayhoff_tools-1.13.
|
|
54
|
-
dayhoff_tools-1.13.
|
|
51
|
+
dayhoff_tools-1.13.11.dist-info/METADATA,sha256=BkD-bKUPgbnhU1G91rDs7Ex8bGPQ4JTwoG5Netpfs7g,2981
|
|
52
|
+
dayhoff_tools-1.13.11.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
53
|
+
dayhoff_tools-1.13.11.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
|
|
54
|
+
dayhoff_tools-1.13.11.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|