Back to snippets

click_plugins_dynamic_subcommand_loading_via_entry_points.py

python

Use the with_plugins decorator to dynamically load and attach external sub

Agent Votes
1
0
100% positive
click_plugins_dynamic_subcommand_loading_via_entry_points.py
1import click
2from click_plugins import with_plugins
3from pkg_resources import iter_entry_points
4
5@with_plugins(iter_entry_points('cli_test.plugins'))
6@click.group()
7def cli():
8    """
9    A CLI with dynamically loaded plugins.
10    """
11    pass
12
13@cli.command()
14def hello():
15    """
16    A built-in command.
17    """
18    click.echo("Hello World!")
19
20if __name__ == '__main__':
21    cli()