Skip to main content

Latest version released on PyPi Build status of the master branch Package license

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():
    ...

Demo

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)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

click-didyoumean-0.0.3.tar.gz (2.6 kB view details)

Uploaded Source

File details

Details for the file click-didyoumean-0.0.3.tar.gz.

File metadata

File hashes

Hashes for click-didyoumean-0.0.3.tar.gz
Algorithm Hash digest
SHA256 112229485c9704ff51362fe34b2d4f0b12fc71cc20f6d2b3afabed4b8bfa6aeb
MD5 08ac34aa0355f58ffc43ee57f1969ffb
BLAKE2b-256 9f79d265d783dd022541b744d002745d9e55d84c04a41930e35d8795934f6526

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

This release

0.0.3 This release

1 file

0.0.2

1 file

0.0.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page