dh-cli 0.12.1__tar.gz → 0.12.2__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 (110) hide show
  1. {dh_cli-0.12.1 → dh_cli-0.12.2}/PKG-INFO +1 -1
  2. {dh_cli-0.12.1 → dh_cli-0.12.2}/pyproject.toml +1 -1
  3. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/protmpnn.py +10 -2
  4. {dh_cli-0.12.1 → dh_cli-0.12.2}/.gitignore +0 -0
  5. {dh_cli-0.12.1 → dh_cli-0.12.2}/LICENSE +0 -0
  6. {dh_cli-0.12.1 → dh_cli-0.12.2}/README.md +0 -0
  7. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/__init__.py +0 -0
  8. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/_identity.py +0 -0
  9. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/__init__.py +0 -0
  10. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/aws_batch.py +0 -0
  11. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/__init__.py +0 -0
  12. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/boltz.py +0 -0
  13. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/cancel.py +0 -0
  14. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/clean.py +0 -0
  15. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/disco.py +0 -0
  16. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/embed_t5.py +0 -0
  17. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/equilibrator.py +0 -0
  18. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/esmfold2.py +0 -0
  19. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/finalize.py +0 -0
  20. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/list_jobs.py +0 -0
  21. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/local.py +0 -0
  22. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/logs.py +0 -0
  23. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/orca.py +0 -0
  24. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/protmpnn_to_boltz.py +0 -0
  25. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/retry.py +0 -0
  26. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/rfd3.py +0 -0
  27. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/status.py +0 -0
  28. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/submit.py +0 -0
  29. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/commands/wait_for.py +0 -0
  30. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/fasta_utils.py +0 -0
  31. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/h5_utils.py +0 -0
  32. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/job_id.py +0 -0
  33. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/manifest.py +0 -0
  34. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/batch/s3_transport.py +0 -0
  35. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/bedrock/__init__.py +0 -0
  36. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/bedrock/commands.py +0 -0
  37. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/bedrock/cost_report.py +0 -0
  38. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/bedrock/pricing.yaml +0 -0
  39. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/cloud_commands.py +0 -0
  40. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/codeartifact.py +0 -0
  41. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/__init__.py +0 -0
  42. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/api_client.py +0 -0
  43. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/auth.py +0 -0
  44. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/engine_commands.py +0 -0
  45. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/progress.py +0 -0
  46. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/ssh_config.py +0 -0
  47. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/engines_studios/studio_commands.py +0 -0
  48. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/github_commands.py +0 -0
  49. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/hz/__init__.py +0 -0
  50. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/hz/deploy.py +0 -0
  51. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/hz/local.py +0 -0
  52. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/hz/test.py +0 -0
  53. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/hz/tf.py +0 -0
  54. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/hz/users.py +0 -0
  55. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/main.py +0 -0
  56. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/utility_commands.py +0 -0
  57. {dh_cli-0.12.1 → dh_cli-0.12.2}/src/dh_cli/warehouse.py +0 -0
  58. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/__init__.py +0 -0
  59. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_aws_batch_resources.py +0 -0
  60. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_image_override.py +0 -0
  61. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_no_train_command.py +0 -0
  62. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_submit_cpu_only.py +0 -0
  63. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_submit_image_validation.py +0 -0
  64. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_submit_merge.py +0 -0
  65. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/batch/test_submit_mlflow_env.py +0 -0
  66. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/conftest.py +0 -0
  67. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/A_cache_write.json +0 -0
  68. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/B_cache_read.json +0 -0
  69. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/C_plain.json +0 -0
  70. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/D_cursor_user.json +0 -0
  71. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/E_service_role.json +0 -0
  72. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/F_legacy_shared.json +0 -0
  73. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/fixtures/G_unknown_model.json +0 -0
  74. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_build_report.py +0 -0
  75. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_classify_arn.py +0 -0
  76. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_cli_exit_codes.py +0 -0
  77. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_cost_calc.py +0 -0
  78. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_cost_command.py +0 -0
  79. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_cur_reconciliation.py +0 -0
  80. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_key_command.py +0 -0
  81. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_render_formats.py +0 -0
  82. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_resolve_base_model.py +0 -0
  83. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_rotate.py +0 -0
  84. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/bedrock/test_s3_walker.py +0 -0
  85. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/__init__.py +0 -0
  86. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/conftest.py +0 -0
  87. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_engine_role_cannot_read_github_pat.py +0 -0
  88. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_identity.py +0 -0
  89. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_login.py +0 -0
  90. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_login_error_paths.py +0 -0
  91. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_login_security.py +0 -0
  92. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_logout.py +0 -0
  93. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_rotate.py +0 -0
  94. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/github/test_status.py +0 -0
  95. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/hz/test_init.py +0 -0
  96. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/hz/test_suites.py +0 -0
  97. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/hz/test_users.py +0 -0
  98. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_cloud_gcp.py +0 -0
  99. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_disco_command.py +0 -0
  100. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_disco_jobdef.py +0 -0
  101. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_equilibrator_command.py +0 -0
  102. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_esmfold2_cli.py +0 -0
  103. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_boltz_tar.py +0 -0
  104. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_disco.py +0 -0
  105. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_disco_dispatch.py +0 -0
  106. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_equilibrator.py +0 -0
  107. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_esmfold2.py +0 -0
  108. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_protmpnn.py +0 -0
  109. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_finalize_rfd3.py +0 -0
  110. {dh_cli-0.12.1 → dh_cli-0.12.2}/tests/test_rfd3_command.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dh-cli
3
- Version: 0.12.1
3
+ Version: 0.12.2
4
4
  Summary: Dayhoff Labs developer CLI
5
5
  Author-email: Dayhoff Labs <dev@dayhofflabs.com>
6
6
  License: # PolyForm Noncommercial License 1.0.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "dh-cli"
7
- version = "0.12.1"
7
+ version = "0.12.2"
8
8
  description = "Dayhoff Labs developer CLI"
9
9
  requires-python = ">=3.11"
10
10
  readme = "README.md"
@@ -71,6 +71,11 @@ DEFAULT_IMAGE_URI = "074735440724.dkr.ecr.us-east-1.amazonaws.com/dayhoff:protmp
71
71
  is_flag=True,
72
72
  help="Save per-residue log probabilities to scores/ directory",
73
73
  )
74
+ @click.option(
75
+ "--image",
76
+ default=None,
77
+ help="Override the container image URI or digest (e.g. repo@sha256:...)",
78
+ )
74
79
  def protmpnn(
75
80
  input_dir,
76
81
  workers,
@@ -83,6 +88,7 @@ def protmpnn(
83
88
  after,
84
89
  auto_validate_top,
85
90
  save_score,
91
+ image,
86
92
  ):
87
93
  """Design protein sequences with ProtMPNN/LigandMPNN.
88
94
 
@@ -136,7 +142,7 @@ def protmpnn(
136
142
  _run_local_mode(input_path, auto_validate_top, base_path, save_score)
137
143
  return
138
144
 
139
- _submit_batch_job(input_path, workers, queue, dry_run, base_path, after, auto_validate_top, save_score)
145
+ _submit_batch_job(input_path, workers, queue, dry_run, base_path, after, auto_validate_top, save_score, image)
140
146
 
141
147
 
142
148
  def _has_local_gpu() -> bool:
@@ -184,6 +190,7 @@ def _submit_batch_job(
184
190
  after: tuple[str, ...] = (),
185
191
  auto_validate_top: int | None = None,
186
192
  save_score: bool = False,
193
+ image: str | None = None,
187
194
  ):
188
195
  """Submit ProtMPNN job to AWS Batch."""
189
196
  click.echo(f"Scanning {input_path} for YAML files...")
@@ -236,7 +243,7 @@ def _submit_batch_job(
236
243
  user=job_id.split("-")[0],
237
244
  pipeline="protmpnn",
238
245
  status=JobStatus.PENDING,
239
- image_uri=DEFAULT_IMAGE_URI,
246
+ image_uri=image or DEFAULT_IMAGE_URI,
240
247
  input=InputConfig(
241
248
  source=str(input_path),
242
249
  num_sequences=num_files,
@@ -282,6 +289,7 @@ def _submit_batch_job(
282
289
  retry_attempts=5,
283
290
  depends_on=depends_on,
284
291
  share_identifier=get_aws_username(),
292
+ image_override=image,
285
293
  )
286
294
 
287
295
  manifest.status = JobStatus.SUBMITTED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes