dayhoff-tools 1.5.4__tar.gz → 1.5.5__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.5.4 → dayhoff_tools-1.5.5}/PKG-INFO +4 -2
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/README.md +3 -1
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/cli/engine_commands.py +15 -5
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/pyproject.toml +1 -1
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/__init__.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/chemistry/standardizer.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/chemistry/utils.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/cli/__init__.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/cli/cloud_commands.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/cli/main.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/cli/swarm_commands.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/cli/utility_commands.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/base.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/deploy_aws.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/deploy_gcp.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/deploy_utils.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/job_runner.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/processors.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/deployment/swarm.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/embedders.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/fasta.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/file_ops.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/h5.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/intake/gcp.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/intake/gtdb.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/intake/kegg.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/intake/mmseqs.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/intake/structure.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/intake/uniprot.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/logs.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/sqlite.py +0 -0
- {dayhoff_tools-1.5.4 → dayhoff_tools-1.5.5}/dayhoff_tools/warehouse.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dayhoff-tools
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.5
|
|
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
|
|
@@ -52,7 +52,9 @@ The base package includes minimal dependencies required for core CLI functionali
|
|
|
52
52
|
```bash
|
|
53
53
|
pip install dayhoff-tools
|
|
54
54
|
# or
|
|
55
|
-
|
|
55
|
+
uv add dayhoff-tools
|
|
56
|
+
# or, for the special case of installing it in the DHT repo itself,
|
|
57
|
+
uv pip install -e .[full]
|
|
56
58
|
```
|
|
57
59
|
|
|
58
60
|
### Optional Dependencies
|
|
@@ -9,7 +9,9 @@ The base package includes minimal dependencies required for core CLI functionali
|
|
|
9
9
|
```bash
|
|
10
10
|
pip install dayhoff-tools
|
|
11
11
|
# or
|
|
12
|
-
|
|
12
|
+
uv add dayhoff-tools
|
|
13
|
+
# or, for the special case of installing it in the DHT repo itself,
|
|
14
|
+
uv pip install -e .[full]
|
|
13
15
|
```
|
|
14
16
|
|
|
15
17
|
### Optional Dependencies
|
|
@@ -391,8 +391,15 @@ def check_session_manager_plugin():
|
|
|
391
391
|
return True
|
|
392
392
|
|
|
393
393
|
|
|
394
|
-
def update_ssh_config_entry(engine_name: str, instance_id: str, ssh_user: str):
|
|
395
|
-
"""Add or update a single SSH config entry for the given SSH user.
|
|
394
|
+
def update_ssh_config_entry(engine_name: str, instance_id: str, ssh_user: str, idle_timeout: int = 600):
|
|
395
|
+
"""Add or update a single SSH config entry for the given SSH user.
|
|
396
|
+
|
|
397
|
+
Args:
|
|
398
|
+
engine_name: Host alias to write into ~/.ssh/config
|
|
399
|
+
instance_id: EC2 instance-id (used by the proxy command)
|
|
400
|
+
ssh_user: Username to place into the SSH stanza
|
|
401
|
+
idle_timeout: Idle timeout **in seconds** to pass to the SSM port-forward. 600 = 10 min.
|
|
402
|
+
"""
|
|
396
403
|
config_path = Path.home() / ".ssh" / "config"
|
|
397
404
|
config_path.parent.mkdir(mode=0o700, exist_ok=True)
|
|
398
405
|
|
|
@@ -408,7 +415,7 @@ def update_ssh_config_entry(engine_name: str, instance_id: str, ssh_user: str):
|
|
|
408
415
|
Host {engine_name} {SSH_MANAGED_COMMENT}
|
|
409
416
|
HostName {instance_id}
|
|
410
417
|
User {ssh_user}
|
|
411
|
-
ProxyCommand sh -c \"AWS_SSM_IDLE_TIMEOUT=
|
|
418
|
+
ProxyCommand sh -c \"AWS_SSM_IDLE_TIMEOUT={idle_timeout} aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p,idleTimeout={idle_timeout}'\"\n"""
|
|
412
419
|
|
|
413
420
|
# Check if entry already exists
|
|
414
421
|
host_line = f"Host {engine_name} {SSH_MANAGED_COMMENT}"
|
|
@@ -899,6 +906,9 @@ def ssh_engine(
|
|
|
899
906
|
admin: bool = typer.Option(
|
|
900
907
|
False, "--admin", help="Connect as ec2-user instead of the engine owner user"
|
|
901
908
|
),
|
|
909
|
+
idle_timeout: int = typer.Option(
|
|
910
|
+
600, "--idle-timeout", help="Idle timeout (seconds) for the SSM port-forward (0 = disable)"
|
|
911
|
+
),
|
|
902
912
|
):
|
|
903
913
|
"""Connect to an engine via SSH.
|
|
904
914
|
|
|
@@ -931,7 +941,7 @@ def ssh_engine(
|
|
|
931
941
|
console.print(
|
|
932
942
|
f"Updating SSH config for [cyan]{engine['name']}[/cyan] (user: {ssh_user})..."
|
|
933
943
|
)
|
|
934
|
-
update_ssh_config_entry(engine["name"], engine["instance_id"], ssh_user)
|
|
944
|
+
update_ssh_config_entry(engine["name"], engine["instance_id"], ssh_user, idle_timeout)
|
|
935
945
|
|
|
936
946
|
# Connect
|
|
937
947
|
console.print(f"[green]✓ Connecting to {engine['name']}...[/green]")
|
|
@@ -1019,7 +1029,7 @@ def config_ssh(
|
|
|
1019
1029
|
f"Host {engine['name']} {SSH_MANAGED_COMMENT}",
|
|
1020
1030
|
f" HostName {engine['instance_id']}",
|
|
1021
1031
|
f" User {ssh_user}",
|
|
1022
|
-
f" ProxyCommand sh -c \"AWS_SSM_IDLE_TIMEOUT=600 aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'\"",
|
|
1032
|
+
f" ProxyCommand sh -c \"AWS_SSM_IDLE_TIMEOUT=600 aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p,idleTimeout=600'\"",
|
|
1023
1033
|
]
|
|
1024
1034
|
)
|
|
1025
1035
|
|
|
@@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "dayhoff-tools"
|
|
8
|
-
version = "1.5.
|
|
8
|
+
version = "1.5.5"
|
|
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
|