Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions bindmaster.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@
install → bash install/install.sh
configure → python configurator/configurator.py
evaluate → Mosaic/.venv/bin/python evaluator_legacy/evaluator.py
nodes → python nodes/status.py

Usage:
bindmaster Interactive menu (TUI)
bindmaster install [--tool bindcraft|boltzgen|mosaic|all] [--cuda VERSION] [--skip-examples]
bindmaster configure [options passed through to configurator.py]
bindmaster evaluate <run-dir> [--metric METRIC] [--top N] [--refold N]
bindmaster nodes [--json] [--config PATH] [--timeout SEC]
bindmaster --help
"""

Expand All @@ -36,18 +38,21 @@
bindmaster install [--tool bindcraft|boltzgen|mosaic|all] [--cuda VERSION] [--skip-examples]
bindmaster configure [options passed through]
bindmaster evaluate <run-dir> [--metric METRIC] [--top N] [--refold N]
bindmaster nodes [--json] [--config PATH] [--timeout SEC]
bindmaster --help

{BOLD}Commands:{RESET}
{CYAN}(no args){RESET} Launch interactive menu — install, configure, run, evaluate
{CYAN}install{RESET} Install BindCraft, BoltzGen, and/or Mosaic
{CYAN}configure{RESET} Interactive wizard to set up a run (target, tools, parameters)
{CYAN}evaluate{RESET} Parse outputs, rank designs, optionally re-fold top candidates
{CYAN}nodes{RESET} Show GPU/process status across configured hosts (ssh + nvidia-smi)

{BOLD}Environments:{RESET}
install → bash {REPO}/install/install.sh
configure → system python {REPO}/configurator/configurator.py
evaluate → Mosaic venv {REPO}/evaluator_legacy/evaluator.py
nodes → system python {REPO}/nodes/status.py

{BOLD}Clone:{RESET}
git clone https://github.com/damborik22/BindMaster.git
Expand Down Expand Up @@ -114,6 +119,13 @@ def _dispatch(cmd: str, args: list) -> None:
print(f"{BOLD}BindMaster → evaluate{RESET}")
os.execv(str(MOSAIC_VENV_PYTHON), [str(MOSAIC_VENV_PYTHON), str(script)] + args)

elif cmd == "nodes":
script = REPO / "nodes" / "status.py"
if not script.exists():
print(f"{RED}✗ nodes/status.py not found: {script}{RESET}", file=sys.stderr)
sys.exit(1)
os.execv(sys.executable, [sys.executable, str(script)] + args)

else:
print(f"{RED}✗ Unknown command: {cmd!r}{RESET}", file=sys.stderr)
print(USAGE, file=sys.stderr)
Expand Down
1 change: 1 addition & 0 deletions nodes/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""bindmaster nodes — show GPU/process status across configured hosts."""
Loading
Loading