skillfed

click-didyoumean

Enables git-like *did-you-mean* feature in click

click-didyoumean Permissive license MIT DORMANT 101 v0.3.1 released

Install

click-didyoumean on PyPI

pip

pip install click-didyoumean

uv

uv add click-didyoumean

poetry

poetry add click-didyoumean

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6.2)
Install friction low — pure-Python wheel
Runtime dependencies 1 — click
Maintenance dormant — 872 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: click_didyoumean-0.3.1-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

About click-didyoumean

from the package's own PyPI description — quoted content, verbatim

click-didyoumean

|pypi| |build| |license|

Enable git-like did-you-mean feature in click.

It's as simple as this:

.. code:: python

import click
from click_didyoumean import DYMGroup

@click.group(cls=DYMGroup)
def cli():
    ...

|demo|

Usage

Install this extension with pip:

.. code::

pip install click-didyoumean

Use specific did-you-mean group class for your cli:

.. code:: python

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:

.. code:: python

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...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

click-didyoumean adds git-like command suggestions to click CLI applications, automatically recommending similar commands when a user types an invalid one.

Low install friction with a single runtime dependency on click. The package is dormant (872 days since last release as of the fact sheet date), though the repository remains active with a recent commit on 2024-03-27 and 101 stars, suggesting stable maintenance rather than abandonment.

Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.

Usage

pip install click-didyoumean

import click
from click_didyoumean import DYMGroup

@click.group(cls=DYMGroup)
def cli():
    pass

@cli.command()
def foo():
    pass

if __name__ == "__main__":
    cli()

Requires Python >=3.6.2 and click as a runtime dependency.

Verdict: A lightweight, permissively licensed extension for click that adds user-friendly command suggestions with no security vulnerabilities. Suitable for CLI projects seeking improved user experience; dormancy is not a concern given the stable repository state and broad Python version support (3.7–3.12).

Needs verification

  • Whether the package's dormancy (872 days) reflects true stability or signals that maintenance may be limited if issues arise.
  • Real-world performance impact of fuzzy matching on large command sets.
click command suggestionsgit-like did you meancli typo correctionclick autocorrectcommand name fuzzy matchingclick error hintscli command recommendations

Similar packages