What: Automatically generate shell tab completion scripts for Python CLI apps
Why: Speed & correctness. Alternatives like argcomplete and pyzshcomplete are
slow and have side-effects
How: shtab processes an argparse.ArgumentParser object to generate a tab
completion script for your shell

Features:
- Outputs tab completion scripts for
  - bash
  - zsh
  - tcsh
- Supports
  - argparse
  - docopt (via argopt)
- Supports arguments, options and subparsers
- Supports choices (e.g. --say={hello,goodbye})
- Supports file and directory path completion
- Supports custom path completion (e.g. --file={*.txt})
