dayhoff-tools 1.3.5__tar.gz → 1.3.6__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.
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/PKG-INFO +1 -1
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/cli/engine_commands.py +19 -7
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/pyproject.toml +1 -1
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/README.md +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/__init__.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/chemistry/standardizer.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/chemistry/utils.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/cli/__init__.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/cli/cloud_commands.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/cli/main.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/cli/swarm_commands.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/cli/utility_commands.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/base.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/deploy_aws.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/deploy_utils.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/job_runner.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/processors.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/deployment/swarm.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/embedders.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/fasta.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/file_ops.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/h5.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/intake/gcp.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/intake/gtdb.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/intake/kegg.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/intake/mmseqs.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/intake/structure.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/intake/uniprot.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/logs.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/sqlite.py +0 -0
- {dayhoff_tools-1.3.5 → dayhoff_tools-1.3.6}/dayhoff_tools/warehouse.py +0 -0
@@ -338,11 +338,10 @@ def launch_engine(
|
|
338
338
|
@engine_app.command("list")
|
339
339
|
def list_engines(
|
340
340
|
user: Optional[str] = typer.Option(None, "--user", "-u", help="Filter by user"),
|
341
|
-
all_users: bool = typer.Option(False, "--all", "-a", help="Show all users' engines"),
|
342
341
|
running_only: bool = typer.Option(False, "--running", help="Show only running engines"),
|
343
342
|
stopped_only: bool = typer.Option(False, "--stopped", help="Show only stopped engines"),
|
344
343
|
):
|
345
|
-
"""List all engines."""
|
344
|
+
"""List engines (shows all engines by default)."""
|
346
345
|
current_user = check_aws_sso()
|
347
346
|
|
348
347
|
params = {}
|
@@ -618,14 +617,18 @@ def ssh_engine(
|
|
618
617
|
@engine_app.command("config-ssh")
|
619
618
|
def config_ssh(
|
620
619
|
clean: bool = typer.Option(False, "--clean", help="Remove all managed entries"),
|
620
|
+
all_engines: bool = typer.Option(False, "--all", "-a", help="Include all engines from all users"),
|
621
621
|
):
|
622
|
-
"""Update SSH config with
|
622
|
+
"""Update SSH config with available engines."""
|
623
623
|
username = check_aws_sso()
|
624
624
|
|
625
625
|
if clean:
|
626
626
|
console.print("Removing all managed SSH entries...")
|
627
627
|
else:
|
628
|
-
|
628
|
+
if all_engines:
|
629
|
+
console.print("Updating SSH config with all running engines...")
|
630
|
+
else:
|
631
|
+
console.print(f"Updating SSH config with running engines for [cyan]{username}[/cyan] and [cyan]shared[/cyan]...")
|
629
632
|
|
630
633
|
# Get all engines
|
631
634
|
response = make_api_request("GET", "/engines")
|
@@ -635,6 +638,14 @@ def config_ssh(
|
|
635
638
|
|
636
639
|
engines = response.json().get("engines", [])
|
637
640
|
running_engines = [e for e in engines if e["state"].lower() == "running"]
|
641
|
+
|
642
|
+
# Filter engines based on options
|
643
|
+
if not all_engines:
|
644
|
+
# Show only current user's engines and shared engines
|
645
|
+
running_engines = [
|
646
|
+
e for e in running_engines
|
647
|
+
if e["user"] == username or e["user"] == "shared"
|
648
|
+
]
|
638
649
|
|
639
650
|
# Read existing config
|
640
651
|
config_path = Path.home() / ".ssh" / "config"
|
@@ -685,7 +696,8 @@ def config_ssh(
|
|
685
696
|
f"[green]✓ Updated SSH config with {len(running_engines)} engines[/green]"
|
686
697
|
)
|
687
698
|
for engine in running_engines:
|
688
|
-
|
699
|
+
user_display = f"[dim]({engine['user']})[/dim]" if engine['user'] != username else ""
|
700
|
+
console.print(f" • {engine['name']} → {engine['instance_id']} {user_display}")
|
689
701
|
|
690
702
|
|
691
703
|
@engine_app.command("keep-awake")
|
@@ -1020,7 +1032,7 @@ def studio_status():
|
|
1020
1032
|
# Format status with colors
|
1021
1033
|
status = studio['status']
|
1022
1034
|
if status == "in-use":
|
1023
|
-
status_display = "[
|
1035
|
+
status_display = "[bright_blue]attached[/bright_blue]"
|
1024
1036
|
elif status in ["attaching", "detaching"]:
|
1025
1037
|
status_display = f"[yellow]{status}[/yellow]"
|
1026
1038
|
else:
|
@@ -1258,7 +1270,7 @@ def list_studios(
|
|
1258
1270
|
for studio in studios:
|
1259
1271
|
# Change status display
|
1260
1272
|
if studio["status"] == "in-use":
|
1261
|
-
status_display = "[
|
1273
|
+
status_display = "[bright_blue]attached[/bright_blue]"
|
1262
1274
|
elif studio["status"] in ["attaching", "detaching"]:
|
1263
1275
|
status_display = "[yellow]" + studio["status"] + "[/yellow]"
|
1264
1276
|
else:
|
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
|
|
5
5
|
|
6
6
|
[project]
|
7
7
|
name = "dayhoff-tools"
|
8
|
-
version = "1.3.
|
8
|
+
version = "1.3.6"
|
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
|