Click Default Group

DefaultGroup is a sub class of click.Group. But it invokes a default subcommand instead of showing a help message when a subcommand is not passed.

Build Status Coverage Status

Usage

Define a default subcommand by default=NAME:

import click
from click_default_group import DefaultGroup

@click.group(cls=DefaultGroup, default='foo', default_if_no_args=True)
def cli():
    pass

@cli.command()
def foo():
    click.echo('foo')

@cli.command()
def bar():
    click.echo('bar')

Then you can invoke that without explicit subcommand name:

$ cli.py --help
Usage: cli.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help    Show this message and exit.

Command:
  foo*
  bar

$ cli.py
foo
$ cli.py foo
foo
$ cli.py bar
bar

Compatibility

click-default-group is compatible with these Click versions:

See the latest build status at Travis CI.

Licensing

Written by Heungsub Lee, and distributed under the BSD 3-Clause license.