Extra utils for click library
Project description
ClickUtils
Extra utils for click library
Examples
Loading click groups and commands from filepath or directory
Directory structure
_ cwd
|_ __init__.py (contains code below)
|_ plugins/
|_ group_or_command_folder
|_ *groups (this folder must exists to find click groups or commands)
|_ __init__.py (any click groups or commands will be pulled from this location)
...
import os
import re
import click
from clickutils import load_commands_from_directory
@click.group()
@click.option('--verbose', '-v', type=bool, is_flag=True, default=False,
help='Print more verbose output')
def cli(verbose: bool):
'''click_plugins'''
load_commands_from_directory(plugins_group, 'plugins', verbose=verbose)
@click.group()
def plugins_group():
'''click_plugins test plugins'''
pass
cli.add_command(plugins_group, name='plugins')
if __name__ == '__main__':
cli()
Same example using decorator
import os
import re
import click
from clickutils import click_loader
@click.group()
def cli(verbose: bool):
'''click_plugins'''
@click_loader.group('plugins', name='plugins', verbose=False)
def plugins_group():
'''click_plugins test plugins'''
pass
cli.add_command(plugins_group)
if __name__ == '__main__':
cli()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
clickutils-0.1.1.tar.gz
(4.4 kB
view hashes)