#!/usr/bin/env python3 from flupdt.flake_show import get_derivations from flupdt.cli import parse_inputs from flupdt.flake_eval import evaluate_output from flupdt.common import configure_logger, partition import logging def main() -> None: """Sets up logging, parses args, and runs evaluation routine. :returns: None """ configure_logger(logging.DEBUG) args = parse_inputs() flake_path = args.flake_path derivations, hydra_jobs = partition( lambda s: s.startswith("hydraJobs"), get_derivations(flake_path) ) logging.info(f"derivations: {list(derivations)}") for d in derivations: evaluate_output(flake_path, d) if not args.keep_hydra: logging.info("--keep-hydra flag is not specified, removing Hydra jobs") else: hydra_jobs = list(hydra_jobs) logging.info(f"hydraJobs: {hydra_jobs}") for d in hydra_jobs: evaluate_output(flake_path, d) if __name__ == "__main__": main()