DefaultGroup
is a subclass of
click.Group
. But it invokes
the default subcommand instead of showing a help message when a subcommand is
not passed.
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
click-default-group
is compatible with these Click versions:
Written by Heungsub Lee, and distributed under the BSD 3-Clause license.