ahuston-0 e2c127a012 update flake lock, add flake diff, add evaluation json
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
2025-03-07 22:27:55 -05:00

45 lines
1.5 KiB
Python

"""Manages the CLI component of the tool."""
import argparse
def parse_inputs() -> argparse.Namespace:
"""Parse inputs from argparse.
:returns the argparse Namespace to be evaluated
"""
parser = argparse.ArgumentParser()
parser.add_argument("flake_path", metavar="flake-path", help="path to flake to evaluate")
parser.add_argument("--keep-hydra", action="store_true", help="retain Hydra jobs")
parser.add_argument("--build", action="store_true", help="allow building Hydra jobs")
parser.add_argument("--evaluate", action="store_true", help="allow evaluating Hydra jobs")
parser.add_argument(
"--json", metavar="json-path", help="whether or not to output evaluations to a json"
)
parser.add_argument(
"--compare-drvs",
action="store_true",
help="whether to compare two drv sets, must provide two evaluation jsons to compare",
)
parser.add_argument(
"--compare-pre-json",
metavar="pre-json-path",
default=None,
help="location of pre.json for comparison. defaults to <flake_path>/pre.json",
)
parser.add_argument(
"--compare-post-json",
metavar="post-json-path",
default=None,
help="location of post.json for comparison. defaults to <flake_path>/post.json",
)
args = parser.parse_args()
if args.compare_pre_json is None:
args.compare_pre_json = args.flake_path + "/pre.json"
if args.compare_post_json is None:
args.compare_post_json = args.flake_path + "/post.json"
return args