Summary
bmad-loop-setup documents its helper scripts as python3 ./scripts/<name>.py …, but merge-config.py is a PEP 723 script with an inline pyyaml dependency. Under bare python3 it exits with an error; it only works via uv run.
Environment
- bmad-loop 0.9.0, macOS, uv-managed Python
Repro
$ python3 ./scripts/merge-config.py --help
Error: pyyaml is required (PEP 723 dependency)
$ uv run ./scripts/merge-config.py --help
usage: merge-config.py ... # works — uv provisions the inline deps
merge-config.py header:
# /// script
# requires-python = ">=3.9"
# dependencies = ["pyyaml"]
# ///
merge-help-csv.py has no third-party deps, so it runs fine under python3 — which masks the inconsistency across the two documented commands.
Suggested fix
Document/use uv run for the PEP 723 scripts (BMAD's own resolve_config.py header already notes BMAD is "standardizing on uv run"), or drop the pyyaml dependency in favor of the stdlib.
Summary
bmad-loop-setupdocuments its helper scripts aspython3 ./scripts/<name>.py …, butmerge-config.pyis a PEP 723 script with an inlinepyyamldependency. Under barepython3it exits with an error; it only works viauv run.Environment
Repro
merge-config.pyheader:merge-help-csv.pyhas no third-party deps, so it runs fine underpython3— which masks the inconsistency across the two documented commands.Suggested fix
Document/use
uv runfor the PEP 723 scripts (BMAD's ownresolve_config.pyheader already notes BMAD is "standardizing onuv run"), or drop thepyyamldependency in favor of the stdlib.