dayhoff-tools 1.13.10__tar.gz → 1.13.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/PKG-INFO +1 -1
  2. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/deploy_aws.py +49 -40
  3. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/pyproject.toml +1 -1
  4. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/README.md +0 -0
  5. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/__init__.py +0 -0
  6. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/chemistry/standardizer.py +0 -0
  7. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/chemistry/utils.py +0 -0
  8. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/__init__.py +0 -0
  9. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/cloud_commands.py +0 -0
  10. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/__init__.py +0 -0
  11. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/engine_core.py +0 -0
  12. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/engine_lifecycle.py +0 -0
  13. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/engine_maintenance.py +0 -0
  14. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/engine_management.py +0 -0
  15. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/shared.py +0 -0
  16. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engine1/studio_commands.py +0 -0
  17. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/__init__.py +0 -0
  18. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/api_client.py +0 -0
  19. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/auth.py +0 -0
  20. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/engine-studio-cli.md +0 -0
  21. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/engine_commands.py +0 -0
  22. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/progress.py +0 -0
  23. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/cli-simulators.md +0 -0
  24. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/demo.sh +0 -0
  25. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/engine_list_simulator.py +0 -0
  26. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/engine_status_simulator.py +0 -0
  27. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/idle_status_simulator.py +0 -0
  28. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/simulator_utils.py +0 -0
  29. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/studio_list_simulator.py +0 -0
  30. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/simulators/studio_status_simulator.py +0 -0
  31. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/engines_studios/studio_commands.py +0 -0
  32. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/main.py +0 -0
  33. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/swarm_commands.py +0 -0
  34. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/cli/utility_commands.py +0 -0
  35. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/base.py +0 -0
  36. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
  37. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/deploy_utils.py +0 -0
  38. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/job_runner.py +0 -0
  39. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/processors.py +0 -0
  40. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/deployment/swarm.py +0 -0
  41. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/embedders.py +0 -0
  42. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/fasta.py +0 -0
  43. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/file_ops.py +0 -0
  44. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/h5.py +0 -0
  45. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/intake/gcp.py +0 -0
  46. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/intake/gtdb.py +0 -0
  47. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/intake/kegg.py +0 -0
  48. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/intake/mmseqs.py +0 -0
  49. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/intake/structure.py +0 -0
  50. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/intake/uniprot.py +0 -0
  51. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/logs.py +0 -0
  52. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/sqlite.py +0 -0
  53. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.11}/dayhoff_tools/warehouse.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dayhoff-tools
3
- Version: 1.13.10
3
+ Version: 1.13.11
4
4
  Summary: Common tools for all the repos at Dayhoff Labs
5
5
  Author: Daniel Martin-Alarcon
6
6
  Author-email: dma@dayhofflabs.com
@@ -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
- # Auto-mount Primordial Drive if available
348
- # This ensures all batch jobs have access to shared datasets at /primordial/
349
- primordial_fs_id = get_primordial_fs_id(session)
350
- if primordial_fs_id:
351
- print(f"Adding Primordial Drive configuration (fs_id: {primordial_fs_id})")
352
-
353
- # Add volume configuration
354
- efs_volume = {
355
- "name": "primordial",
356
- "efsVolumeConfiguration": {
357
- "fileSystemId": primordial_fs_id,
358
- "rootDirectory": "/",
359
- },
360
- }
361
-
362
- if "volumes" not in container_properties:
363
- container_properties["volumes"] = []
364
-
365
- # Check if already added to avoid duplicates
366
- if not any(
367
- v.get("name") == "primordial" for v in container_properties["volumes"]
368
- ):
369
- container_properties["volumes"].append(efs_volume)
370
-
371
- # Add mount point
372
- mount_point = {
373
- "sourceVolume": "primordial",
374
- "containerPath": "/primordial",
375
- "readOnly": False,
376
- }
377
-
378
- if "mountPoints" not in container_properties:
379
- container_properties["mountPoints"] = []
380
-
381
- # Check if already added
382
- if not any(
383
- mp.get("containerPath") == "/primordial"
384
- for mp in container_properties["mountPoints"]
385
- ):
386
- container_properties["mountPoints"].append(mount_point)
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:
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
5
5
 
6
6
  [project]
7
7
  name = "dayhoff-tools"
8
- version = "1.13.10"
8
+ version = "1.13.11"
9
9
  description = "Common tools for all the repos at Dayhoff Labs"
10
10
  authors = [
11
11
  {name = "Daniel Martin-Alarcon", email = "dma@dayhofflabs.com"}