CLI Tools python Advanced

Argparse Subcommand CLI

Multi-subcommand CLI with argparse: each subcommand in its own function, shared logging.

python
import argparse, logging

logging.basicConfig(level=logging.INFO)
log = logging.getLogger(__name__)

def cmd_build(args):
    log.info(f'Building {args.target}')

def cmd_deploy(args):
    log.info(f'Deploying to {args.env}')

p = argparse.ArgumentParser(prog='mytool')
sub = p.add_subparsers(dest='cmd', required=True)

b = sub.add_parser('build');  b.add_argument('target'); b.set_defaults(func=cmd_build)
d = sub.add_parser('deploy'); d.add_argument('env');    d.set_defaults(func=cmd_deploy)

args = p.parse_args()
args.func(args)

Prerequisites

  • python >= 3.9

Pro Tips

  • → Use Click for larger CLIs — better help formatting.

Was this module useful?

Share your experience — it helps the team improve.

Leave Feedback

Commercial Licensing

Acquire a production access token or template license for enterprise deployment.

Module Info

Language
python
Level
Advanced
Read time
4 min
Published
Jun 2025
License
Commercial License

Newsletter

New modules every week, directly to your inbox.