Spaces:
Running on Zero
Running on Zero
| """Materialize all LTX 2.3 model files for every mode by walking each template.""" | |
| from __future__ import annotations | |
| import pathlib | |
| import sys | |
| # Ensure project root is on sys.path so `import models` / `import workflow` work | |
| # when this script is invoked directly (e.g. `python tools/refresh_models.py`). | |
| _PROJECT_ROOT = pathlib.Path(__file__).resolve().parent.parent | |
| if str(_PROJECT_ROOT) not in sys.path: | |
| sys.path.insert(0, str(_PROJECT_ROOT)) | |
| import models # noqa: E402 | |
| from workflow import VALID_MODES, load_template # noqa: E402 | |
| def main() -> int: | |
| needed: set[str] = set() | |
| for mode in VALID_MODES: | |
| try: | |
| wf = load_template(mode) | |
| needed.update(models.walk_workflow_for_models(wf)) | |
| except FileNotFoundError: | |
| print(f" WARNING: workflows/{mode}.json missing — run tools/extract_modes.py first") | |
| if not needed: | |
| print("Nothing to do.") | |
| return 0 | |
| print(f"Materializing {len(needed)} model files...") | |
| for event in models.ensure_models(needed): | |
| marker = "OK" if event.mb_done >= event.mb_total else "DL" | |
| print(f" [{marker}] {event.filename} {event.mb_done:.1f}/{event.mb_total:.1f} MB") | |
| print("Done.") | |
| return 0 | |
| if __name__ == "__main__": | |
| sys.exit(main()) | |