experimental/sources/: click-didyoumean-0.3.1 metadata and description
Enables git-like *did-you-mean* feature in click
author | Timo Furrer |
author_email | timo.furrer@roche.com |
classifiers |
|
description_content_type | text/x-rst |
license | MIT |
project_urls |
|
requires_dist |
|
requires_python | >=3.6.2 |
File | Tox results | History |
---|---|---|
click_didyoumean-0.3.1.tar.gz
|
|
Enable git-like did-you-mean feature in click.
It’s as simple as this:
import click
from click_didyoumean import DYMGroup
@click.group(cls=DYMGroup)
def cli():
...
Usage
Install this extension with pip:
pip install click-didyoumean
Use specific did-you-mean group class for your cli:
import click
from click_didyoumean import DYMGroup
@click.group(cls=DYMGroup)
def cli():
pass
@cli.command()
def foo():
pass
@cli.command()
def bar():
pass
@cli.command()
def barrr():
pass
if __name__ == "__main__":
cli()
Or you it in a CommandCollection:
import click
from click_didyoumean import DYMCommandCollection
@click.group()
def cli1():
pass
@cli1.command()
def foo():
pass
@cli1.command()
def bar():
pass
@click.group()
def cli2():
pass
@cli2.command()
def barrr():
pass
cli = DYMCommandCollection(sources=[cli1, cli2])
if __name__ == "__main__":
cli()
Change configuration
There are two configuration for the DYMGroup and DYMCommandCollection:
Parameter |
Type |
Default |
Description |
---|---|---|---|
max_suggestions |
int |
3 |
Maximal number of did-you-mean suggestions |
cutoff |
float |
0.5 |
Possibilities that don’t score at least that similar to word are ignored. |
Examples
@cli.group(cls=DYMGroup, max_suggestions=2, cutoff=0.7)
def cli():
pass
... or ...
cli = DYMCommandCollection(sources=[cli1, cli2], max_suggestions=2, cutoff=0.7)