import argparse import dataclasses from typeguard import check_type def build_dataclass(dataclass, args: argparse.Namespace): """Helper function to build dataclass from 'args'.""" kwargs = {} for field in dataclasses.fields(dataclass): if not hasattr(args, field.name): raise ValueError( f"args doesn't have {field.name}. You need to set it to ArgumentsParser" ) check_type(field.name, getattr(args, field.name), field.type) kwargs[field.name] = getattr(args, field.name) return dataclass(**kwargs)