dayhoff-tools 1.10.2__tar.gz → 1.10.4__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.

Potentially problematic release.


This version of dayhoff-tools might be problematic. Click here for more details.

Files changed (38) hide show
  1. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/PKG-INFO +3 -2
  2. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/base.py +10 -2
  3. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/deploy_aws.py +14 -3
  4. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/pyproject.toml +1 -1
  5. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/README.md +0 -0
  6. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/__init__.py +0 -0
  7. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/chemistry/standardizer.py +0 -0
  8. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/chemistry/utils.py +0 -0
  9. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/__init__.py +0 -0
  10. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/cloud_commands.py +0 -0
  11. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/__init__.py +0 -0
  12. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/engine_core.py +0 -0
  13. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/engine_lifecycle.py +0 -0
  14. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/engine_maintenance.py +0 -0
  15. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/engine_management.py +0 -0
  16. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/shared.py +0 -0
  17. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/engine/studio_commands.py +0 -0
  18. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/main.py +0 -0
  19. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/swarm_commands.py +0 -0
  20. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/cli/utility_commands.py +0 -0
  21. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
  22. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/deploy_utils.py +0 -0
  23. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/job_runner.py +0 -0
  24. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/processors.py +0 -0
  25. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/deployment/swarm.py +0 -0
  26. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/embedders.py +0 -0
  27. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/fasta.py +0 -0
  28. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/file_ops.py +0 -0
  29. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/h5.py +0 -0
  30. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/intake/gcp.py +0 -0
  31. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/intake/gtdb.py +0 -0
  32. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/intake/kegg.py +0 -0
  33. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/intake/mmseqs.py +0 -0
  34. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/intake/structure.py +0 -0
  35. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/intake/uniprot.py +0 -0
  36. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/logs.py +0 -0
  37. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/sqlite.py +0 -0
  38. {dayhoff_tools-1.10.2 → dayhoff_tools-1.10.4}/dayhoff_tools/warehouse.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: dayhoff-tools
3
- Version: 1.10.2
3
+ Version: 1.10.4
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
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
13
14
  Provides-Extra: embedders
14
15
  Provides-Extra: full
15
16
  Requires-Dist: biopython (>=1.84) ; extra == "full"
@@ -152,7 +152,9 @@ def build_job_image(config: dict) -> str:
152
152
 
153
153
  print("\nBuilding Docker image: ", image_uri)
154
154
  print(f"Using Dockerfile: {docker_config['dockerfile']}")
155
- print(f"Using shared memory: {docker_config['shared_memory']}\n")
155
+ print(f"Using shared memory: {docker_config['shared_memory']}")
156
+ platform = docker_config.get("platform", "linux/amd64")
157
+ print(f"Building for platform: {platform}\n")
156
158
 
157
159
  # Build the image
158
160
  build_image_command = [
@@ -163,8 +165,14 @@ def build_job_image(config: dict) -> str:
163
165
  docker_config["dockerfile"],
164
166
  "-t",
165
167
  image_uri,
166
- ".", # Use the root of the repo as image context
167
168
  ]
169
+
170
+ # Add platform specification if provided, default to linux/amd64 for cloud deployments
171
+ platform = docker_config.get("platform", "linux/amd64")
172
+ build_image_command.extend(["--platform", platform])
173
+
174
+ # Add build context
175
+ build_image_command.append(".") # Use the root of the repo as image context
168
176
  subprocess.run(build_image_command, check=True)
169
177
 
170
178
  # Get and print image size
@@ -477,10 +477,21 @@ def submit_aws_batch_job(
477
477
  print(f"Setting retry attempts to {retry_attempts}")
478
478
  job_submit_args["retryStrategy"] = {"attempts": retry_attempts}
479
479
 
480
- # Add tags if specified in config
480
+ # Automatically add User tag for cost tracking
481
+ username = os.getenv("LOCAL_USER", "unknown_user")
482
+ default_tags = {"User": username}
483
+
484
+ # Merge with any tags specified in config (config tags take precedence)
481
485
  if "tags" in aws_config:
482
- job_submit_args["tags"] = aws_config["tags"]
483
- print(f"Adding tags to batch job: {aws_config['tags']}")
486
+ tags = {**default_tags, **aws_config["tags"]}
487
+ else:
488
+ tags = default_tags
489
+
490
+ job_submit_args["tags"] = tags
491
+ job_submit_args["propagateTags"] = (
492
+ True # Propagate tags to ECS tasks and EC2 instances
493
+ )
494
+ print(f"Adding tags to batch job: {tags}")
484
495
 
485
496
  # Submit the job using the session client
486
497
  response = batch.submit_job(**job_submit_args)
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
5
5
 
6
6
  [project]
7
7
  name = "dayhoff-tools"
8
- version = "1.10.2"
8
+ version = "1.10.4"
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"}
File without changes