dayhoff-tools 1.13.16__tar.gz → 1.13.17__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 (54) hide show
  1. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/PKG-INFO +1 -1
  2. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/engine_commands.py +17 -8
  3. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/pyproject.toml +1 -1
  4. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/README.md +0 -0
  5. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/__init__.py +0 -0
  6. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/chemistry/standardizer.py +0 -0
  7. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/chemistry/utils.py +0 -0
  8. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/__init__.py +0 -0
  9. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/cloud_commands.py +0 -0
  10. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/__init__.py +0 -0
  11. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/engine_core.py +0 -0
  12. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/engine_lifecycle.py +0 -0
  13. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/engine_maintenance.py +0 -0
  14. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/engine_management.py +0 -0
  15. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/shared.py +0 -0
  16. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engine1/studio_commands.py +0 -0
  17. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/__init__.py +0 -0
  18. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/api_client.py +0 -0
  19. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/auth.py +0 -0
  20. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/engine-studio-cli.md +0 -0
  21. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/progress.py +0 -0
  22. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/cli-simulators.md +0 -0
  23. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/demo.sh +0 -0
  24. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/engine_list_simulator.py +0 -0
  25. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/engine_status_simulator.py +0 -0
  26. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/idle_status_simulator.py +0 -0
  27. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/simulator_utils.py +0 -0
  28. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/studio_list_simulator.py +0 -0
  29. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/simulators/studio_status_simulator.py +0 -0
  30. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/engines_studios/studio_commands.py +0 -0
  31. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/github_commands.py +0 -0
  32. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/main.py +0 -0
  33. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/swarm_commands.py +0 -0
  34. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/cli/utility_commands.py +0 -0
  35. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/base.py +0 -0
  36. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/deploy_aws.py +0 -0
  37. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
  38. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/deploy_utils.py +0 -0
  39. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/job_runner.py +0 -0
  40. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/processors.py +0 -0
  41. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/deployment/swarm.py +0 -0
  42. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/embedders.py +0 -0
  43. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/fasta.py +0 -0
  44. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/file_ops.py +0 -0
  45. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/h5.py +0 -0
  46. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/intake/gcp.py +0 -0
  47. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/intake/gtdb.py +0 -0
  48. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/intake/kegg.py +0 -0
  49. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/intake/mmseqs.py +0 -0
  50. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/intake/structure.py +0 -0
  51. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/intake/uniprot.py +0 -0
  52. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/logs.py +0 -0
  53. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/dayhoff_tools/sqlite.py +0 -0
  54. {dayhoff_tools-1.13.16 → dayhoff_tools-1.13.17}/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.16
3
+ Version: 1.13.17
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
@@ -1121,19 +1121,28 @@ def debug_engine(name_or_id: str, env: Optional[str]):
1121
1121
  click.echo(f"Current Stage: {readiness.get('current_stage', 'unknown')}")
1122
1122
  click.echo(f"\nBootstrap Stages:")
1123
1123
 
1124
- stages = readiness.get("stages", [])
1125
- for i, stage in enumerate(stages, 1):
1126
- status = stage.get("status", "unknown")
1124
+ # Deduplicate stages by name, keeping the latest status for each
1125
+ # (bootstrap reports both "starting" and "completed" for each stage)
1126
+ stages_by_name: dict[str, dict] = {}
1127
+ for stage in readiness.get("stages", []):
1127
1128
  name = stage.get("name", "unknown")
1129
+ stages_by_name[name] = stage # Later entries overwrite earlier ones
1130
+
1131
+ for i, (name, stage) in enumerate(stages_by_name.items(), 1):
1132
+ status = stage.get("status", "unknown")
1128
1133
  duration = (
1129
1134
  stage.get("duration_ms", 0) / 1000 if stage.get("duration_ms") else None
1130
1135
  )
1131
1136
 
1132
- icon = (
1133
- ""
1134
- if status == "completed"
1135
- else "⏳" if status == "in_progress" else ""
1136
- )
1137
+ # Map status to icon: completed=✓, starting/in_progress=⏳, failed=✗
1138
+ if status == "completed":
1139
+ icon = ""
1140
+ elif status in ("starting", "in_progress"):
1141
+ icon = "⏳"
1142
+ elif status == "failed":
1143
+ icon = "✗"
1144
+ else:
1145
+ icon = "?" # Unknown status
1137
1146
  duration_str = f" ({duration:.1f}s)" if duration else ""
1138
1147
 
1139
1148
  click.echo(f" {icon} {i}. {name}{duration_str}")
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
5
5
 
6
6
  [project]
7
7
  name = "dayhoff-tools"
8
- version = "1.13.16"
8
+ version = "1.13.17"
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"}