dh-cli 0.4.0__tar.gz → 0.4.1__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.
- {dh_cli-0.4.0 → dh_cli-0.4.1}/PKG-INFO +1 -1
- {dh_cli-0.4.0 → dh_cli-0.4.1}/pyproject.toml +1 -1
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/hz/users.py +49 -5
- {dh_cli-0.4.0 → dh_cli-0.4.1}/.gitignore +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/LICENSE +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/README.md +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/__init__.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/__init__.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/aws_batch.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/__init__.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/boltz.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/cancel.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/clean.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/embed_t5.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/finalize.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/list_jobs.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/local.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/logs.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/protmpnn.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/protmpnn_to_boltz.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/retry.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/status.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/submit.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/train.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/commands/wait_for.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/fasta_utils.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/h5_utils.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/job_id.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/manifest.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/batch/s3_transport.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/cloud_commands.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/codeartifact.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/__init__.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/api_client.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/auth.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/engine_commands.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/progress.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/ssh_config.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/engines_studios/studio_commands.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/github_commands.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/hz/__init__.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/hz/deploy.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/hz/local.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/hz/test.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/hz/tf.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/main.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/utility_commands.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/src/dh_cli/warehouse.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/tests/hz/test_init.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/tests/hz/test_suites.py +0 -0
- {dh_cli-0.4.0 → dh_cli-0.4.1}/tests/hz/test_users.py +0 -0
|
@@ -55,11 +55,19 @@ def list_users(
|
|
|
55
55
|
|
|
56
56
|
typer.echo(f"\n Horizyn users ({env})\n")
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
def _print_section(label: str, items: set[str]) -> None:
|
|
59
|
+
typer.echo(f" {label}:")
|
|
60
|
+
if not items:
|
|
61
|
+
typer.echo(" (none)")
|
|
62
|
+
else:
|
|
63
|
+
for item in sorted(items):
|
|
64
|
+
typer.echo(f" {item}")
|
|
65
|
+
|
|
66
|
+
_print_section("Admin domains", admin_domains)
|
|
67
|
+
_print_section("Admin emails", admin_emails)
|
|
68
|
+
_print_section("Alpha emails", alpha_emails)
|
|
69
|
+
_print_section("Allowed domains", allowed_domains)
|
|
70
|
+
_print_section("Allowed emails", allowed_emails)
|
|
63
71
|
typer.echo()
|
|
64
72
|
|
|
65
73
|
|
|
@@ -133,3 +141,39 @@ def promote_user(
|
|
|
133
141
|
else:
|
|
134
142
|
alphas.add(email)
|
|
135
143
|
_put_param(ssm, SSM_PARAMS["alpha_emails"].format(env=env), _format_csv(alphas))
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
@users_app.command("find")
|
|
147
|
+
def find_user(
|
|
148
|
+
email: str = typer.Argument(help="Email address to search for."),
|
|
149
|
+
):
|
|
150
|
+
"""Search for a user across both prod and dev environments."""
|
|
151
|
+
email = email.strip().lower()
|
|
152
|
+
ssm = _ssm_client()
|
|
153
|
+
|
|
154
|
+
domain = email.split("@")[-1] if "@" in email else ""
|
|
155
|
+
|
|
156
|
+
typer.echo(f"\n Searching for: {email}\n")
|
|
157
|
+
|
|
158
|
+
for env in ("prod", "dev"):
|
|
159
|
+
matches: list[str] = []
|
|
160
|
+
|
|
161
|
+
for param_key in SSM_PARAMS:
|
|
162
|
+
param_name = SSM_PARAMS[param_key].format(env=env)
|
|
163
|
+
values = _parse_csv(_get_param(ssm, param_name))
|
|
164
|
+
|
|
165
|
+
if param_key.endswith("_domains"):
|
|
166
|
+
if domain and domain in values:
|
|
167
|
+
matches.append(f"{param_key} (via @{domain})")
|
|
168
|
+
else:
|
|
169
|
+
if email in values:
|
|
170
|
+
matches.append(param_key)
|
|
171
|
+
|
|
172
|
+
if matches:
|
|
173
|
+
typer.echo(f" {env}: found")
|
|
174
|
+
for m in matches:
|
|
175
|
+
typer.echo(f" - {m}")
|
|
176
|
+
else:
|
|
177
|
+
typer.echo(f" {env}: not found")
|
|
178
|
+
|
|
179
|
+
typer.echo()
|
|
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
|
|
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
|