dayhoff-tools 1.13.10__tar.gz → 1.13.12__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.12}/PKG-INFO +1 -1
  2. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/base.py +8 -2
  3. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/deploy_aws.py +49 -40
  4. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/pyproject.toml +1 -1
  5. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/README.md +0 -0
  6. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/__init__.py +0 -0
  7. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/chemistry/standardizer.py +0 -0
  8. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/chemistry/utils.py +0 -0
  9. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/__init__.py +0 -0
  10. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/cloud_commands.py +0 -0
  11. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/__init__.py +0 -0
  12. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/engine_core.py +0 -0
  13. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/engine_lifecycle.py +0 -0
  14. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/engine_maintenance.py +0 -0
  15. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/engine_management.py +0 -0
  16. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/shared.py +0 -0
  17. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engine1/studio_commands.py +0 -0
  18. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/__init__.py +0 -0
  19. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/api_client.py +0 -0
  20. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/auth.py +0 -0
  21. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/engine-studio-cli.md +0 -0
  22. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/engine_commands.py +0 -0
  23. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/progress.py +0 -0
  24. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/cli-simulators.md +0 -0
  25. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/demo.sh +0 -0
  26. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/engine_list_simulator.py +0 -0
  27. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/engine_status_simulator.py +0 -0
  28. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/idle_status_simulator.py +0 -0
  29. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/simulator_utils.py +0 -0
  30. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/studio_list_simulator.py +0 -0
  31. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/simulators/studio_status_simulator.py +0 -0
  32. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/engines_studios/studio_commands.py +0 -0
  33. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/main.py +0 -0
  34. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/swarm_commands.py +0 -0
  35. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/cli/utility_commands.py +0 -0
  36. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
  37. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/deploy_utils.py +0 -0
  38. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/job_runner.py +0 -0
  39. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/processors.py +0 -0
  40. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/deployment/swarm.py +0 -0
  41. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/embedders.py +0 -0
  42. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/fasta.py +0 -0
  43. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/file_ops.py +0 -0
  44. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/h5.py +0 -0
  45. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/intake/gcp.py +0 -0
  46. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/intake/gtdb.py +0 -0
  47. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/intake/kegg.py +0 -0
  48. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/intake/mmseqs.py +0 -0
  49. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/intake/structure.py +0 -0
  50. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/intake/uniprot.py +0 -0
  51. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/logs.py +0 -0
  52. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/dayhoff_tools/sqlite.py +0 -0
  53. {dayhoff_tools-1.13.10 → dayhoff_tools-1.13.12}/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.12
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
@@ -177,8 +177,14 @@ def build_job_image(config: dict) -> str:
177
177
  platform = docker_config.get("platform", "linux/amd64")
178
178
  build_image_command.extend(["--platform", platform])
179
179
 
180
- # Add build context
181
- build_image_command.append(".") # Use the root of the repo as image context
180
+ # Add build args if provided (for parameterized Dockerfiles)
181
+ build_args = docker_config.get("build_args", {})
182
+ for arg_name, arg_value in build_args.items():
183
+ build_image_command.extend(["--build-arg", f"{arg_name}={arg_value}"])
184
+
185
+ # Add build context (defaults to "." for backward compatibility)
186
+ build_context = docker_config.get("build_context", ".")
187
+ build_image_command.append(build_context)
182
188
  subprocess.run(build_image_command, check=True)
183
189
 
184
190
  # Get and print image size
@@ -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.12"
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"}