Easily define your Command line and sub-commands using argparse.
Project description
easycli
Command line interface for python application on top of the argparse including sub-parsers.
Installation
pip install easycli
Quickstart
quickstart.py
from easycli import Root, SubCommand, Argument __version__ = '0.1.0' DEFAULT_TCP_PORT = 8585 DEFAULT_HOST = 'WPP.local' class SubCommand1(SubCommand): __command__ = 'sub-command1' __aliases__ = ['s1', 'sc1'] __arguments__ = [ Argument( '-V', '--version', action='store_true', help='Show programmer\'s version' ), Argument( '-p', '--port', type=int, default=DEFAULT_TCP_PORT, help=f'TCP port, default: {DEFAULT_TCP_PORT}' ), Argument( '-H', '--host', default=DEFAULT_HOST, help=f'Hostname, default: {DEFAULT_HOST}' ) ] def __call__(self, args): print('Sub command 1, args:', args) class Example(Root): __help__ = 'easycli example' __completion__ = True __arguments__ = [ Argument('-V', '--version', action='store_true', help='Show version'), SubCommand1, ] def __call__(self, args): if args.version: print(__version__) return return super().__call__(args) if __name__ == '__main__': Example().main()
$ python quickstart.py usage: quickstart.py [-h] [-V] {sub-command1,completion} ... easycli example optional arguments: -h, --help show this help message and exit -V, --version Show version Sub commands: {sub-command1,completion} sub-command1 completion Bash auto completion using argcomplete python package.
Bash Auto Completion
$ python quickstart.py completion usage: quickstart.py completion [-h] {install,uninstall} ... optional arguments: -h, --help show this help message and exit Sub commands: {install,uninstall} install Enables the autocompletion. uninstall Disables the autocompletion.
ProgressBar
from easycli import ProgressBar steps = 100 with ProgressBar(steps) as pb: for i in range(steps): # Do what you want here pb.increment()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size easycli-1.4.0.tar.gz (6.0 kB) | File type Source | Python version None | Upload date | Hashes View |