#!/usr/bin/env python from __future__ import annotations import argparse import sys from pathlib import Path PROJECT_ROOT = Path(__file__).resolve().parents[1] if str(PROJECT_ROOT) not in sys.path: sys.path.insert(0, str(PROJECT_ROOT)) from dovla_cil.experiments.reports import generate_dataset_report # noqa: E402 def main(argv: list[str] | None = None) -> int: parser = argparse.ArgumentParser(description="Create analysis reports for a CIL dataset.") parser.add_argument("--dataset", type=Path, required=True, help="CIL dataset directory.") parser.add_argument("--out", type=Path, required=True, help="Report output directory.") parser.add_argument("--sample-groups", type=int, default=3) parser.add_argument("--seed", type=int, default=0) args = parser.parse_args(argv) summary = generate_dataset_report( args.dataset, args.out, sample_groups=args.sample_groups, seed=args.seed, ) print(f"report: {args.out}") print(f"num records: {summary['num_records']}") print(f"num groups: {summary['num_groups']}") print(f"success rate: {summary['success_rate']:.3f}") return 0 if __name__ == "__main__": raise SystemExit(main())