dayhoff-tools 1.6.3__tar.gz → 1.6.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.
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/PKG-INFO +1 -1
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/cli/engine_commands.py +9 -7
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/pyproject.toml +1 -1
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/README.md +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/__init__.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/chemistry/standardizer.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/chemistry/utils.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/cli/__init__.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/cli/cloud_commands.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/cli/main.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/cli/swarm_commands.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/cli/utility_commands.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/base.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/deploy_aws.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/deploy_utils.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/job_runner.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/processors.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/deployment/swarm.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/embedders.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/fasta.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/file_ops.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/h5.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/intake/gcp.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/intake/gtdb.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/intake/kegg.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/intake/mmseqs.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/intake/structure.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/intake/uniprot.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/logs.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/sqlite.py +0 -0
- {dayhoff_tools-1.6.3 → dayhoff_tools-1.6.4}/dayhoff_tools/warehouse.py +0 -0
|
@@ -1860,13 +1860,13 @@ def _attempt_studio_attach(studio, engine, target_user, public_key):
|
|
|
1860
1860
|
|
|
1861
1861
|
|
|
1862
1862
|
def _poll_operation(operation_id: str, timeout: int = 600) -> Tuple[bool, str]:
|
|
1863
|
-
"""Poll
|
|
1863
|
+
"""Poll /operations/<id> until COMPLETED or FAILED.
|
|
1864
1864
|
|
|
1865
|
-
Returns (True, "") on success
|
|
1865
|
+
Returns (True, "") on success or (False, error_message) on failure / timeout.
|
|
1866
|
+
Uses a simple status spinner to avoid nested Live displays.
|
|
1866
1867
|
"""
|
|
1867
1868
|
start_ts = time.time()
|
|
1868
|
-
with
|
|
1869
|
-
task = prog.add_task("Waiting for studio attach to complete…", total=None)
|
|
1869
|
+
with console.status("[cyan]Waiting for studio attach to complete…", spinner="dots") as status:
|
|
1870
1870
|
while True:
|
|
1871
1871
|
if time.time() - start_ts > timeout:
|
|
1872
1872
|
return False, "Timed out waiting for attach operation to complete"
|
|
@@ -1874,11 +1874,13 @@ def _poll_operation(operation_id: str, timeout: int = 600) -> Tuple[bool, str]:
|
|
|
1874
1874
|
if op_resp.status_code != 200:
|
|
1875
1875
|
return False, f"Failed to fetch operation status (HTTP {op_resp.status_code})"
|
|
1876
1876
|
data = op_resp.json()
|
|
1877
|
-
|
|
1878
|
-
if
|
|
1877
|
+
op_status = data.get("status")
|
|
1878
|
+
if op_status == "COMPLETED":
|
|
1879
1879
|
return True, ""
|
|
1880
|
-
if
|
|
1880
|
+
if op_status == "FAILED":
|
|
1881
1881
|
return False, data.get("error", "Operation failed")
|
|
1882
|
+
# update spinner text occasionally
|
|
1883
|
+
status.update(f"[cyan]Waiting… ({op_status.lower()})")
|
|
1882
1884
|
time.sleep(3)
|
|
1883
1885
|
|
|
1884
1886
|
|
|
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "dayhoff-tools"
|
|
8
|
-
version = "1.6.
|
|
8
|
+
version = "1.6.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
|
|
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
|
|
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
|