import argparse from hatchling.cli.build import build_command from hatchling.cli.dep import dep_command from hatchling.cli.metadata import metadata_command from hatchling.cli.version import version_command def hatchling() -> int: parser = argparse.ArgumentParser(prog='hatchling', allow_abbrev=False) subparsers = parser.add_subparsers() defaults = {'metavar': ''} build_command(subparsers, defaults) dep_command(subparsers, defaults) metadata_command(subparsers, defaults) version_command(subparsers, defaults) kwargs = vars(parser.parse_args()) try: command = kwargs.pop('func') except KeyError: parser.print_help() else: command(**kwargs) return 0