Unify dataset/tooling scripts into a single dwarf Typer CLI

Replace the five separately-hyphenated uv entry points (steps-to-parquet,
steps-to-parquet-parallel, migrate-geant-steps, bump-dataset-version,
create-root-files) plus the unregistered hparam_scan.py with one `dwarf`
command exposing convert/migrate/bump-gen/bump-schema/status/
update-manifest/create-manifest/make-root/hparam-scan as subcommands.

Each scripts/*.py module now only holds argparse-free business logic;
scripts/dwarf.py wires it up with Typer, matching giant/cli.py's style.
`dwarf convert` merges the old serial/parallel conversion scripts behind
a --jobs flag (default 1: sequential with plain -o; >1: dataset-layout
fan-out via subprocess).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 09:52:37 +02:00
parent 7b37b284f8
commit d5853d5a75
13 changed files with 662 additions and 505 deletions
+1 -5
View File
@@ -38,11 +38,7 @@ analysis = [
[project.scripts]
giant = "giant.cli:app"
steps-to-parquet = "scripts.steps_to_parquet:main"
steps-to-parquet-parallel = "scripts.steps_to_parquet_parallel:main"
migrate-geant-steps = "scripts.migrate_geant_steps:main"
bump-dataset-version = "scripts.bump_dataset_version:main"
create-root-files = "scripts.create_root_files:main"
dwarf = "scripts.dwarf:app"
[build-system]
requires = ["hatchling"]