pip install -U cmd2

# Hello World アプリを作成して実行
cat > /tmp/demo_cmd2.py << 'EOF'
import cmd2
import argparse

class DemoApp(cmd2.Cmd):
    """cmd2 demo app"""

    greet_parser = argparse.ArgumentParser()
    greet_parser.add_argument('name', nargs='?', default='World', help='Name to greet')

    @cmd2.with_argparser(greet_parser)
    def do_greet(self, args):
        """Greet someone."""
        self.poutput(f'Hello, {args.name}!')

    def do_upper(self, args: cmd2.Statement):
        """Convert text to uppercase."""
        self.poutput(str(args).upper())

if __name__ == '__main__':
    import sys
    app = DemoApp()
    sys.exit(app.cmdloop())
EOF

python /tmp/demo_cmd2.py
# (Cmd) プロンプトで以下を試す:
#   greet Python
#   upper hello world
#   help
#   quit
