Skip to content

An extension to click that easily turns your click app into a shell utility

License

Notifications You must be signed in to change notification settings

SilentFrogNet/click-shell

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub tag GitHub issues

click-shell

This is a enhanced version of click-shell. In particular it adds the function add_shell_only_command that allow to add a command to the shell that is hidden in the command called with parameters.

click-shell is an extension to click that easily turns your click app into a shell utility. It is built on top of the built in python cmd module, with modifications to make it work with click.

Installation

From git

pip install git+git://github.com/SilentFrogNet/click-shell.git

Features

  • Adds a "shell" mode with command completion to any click app
  • Just a one line change for most click apps

Usage

Simply replace @click.group with @click_shell.shell on the root level command:

from click_shell import shell

# @click.group()  # no longer
@shell(prompt='my-app > ', intro='Starting my app...')
def my_app():
    pass

@my_app.command()
def the_command():
    print 'the_command is running'
    
...

When run, you should expect an output like so:

$ python my_app.py
Starting my app...
my-app > 

Note

It should be noted that this decorator only alters functionality if no arguments are passed on the command line. If you try to run a command directly (like python my_app.py the_command in the above example), your app will function identically to how it did before.

For more advanced usage, check out our docs at http://click-shell.readthedocs.org/

About

An extension to click that easily turns your click app into a shell utility

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%