skillfed

mando

Create Python CLI apps with little to no effort at all!

mando v0.8.2 5.8M downloads/30d#2,028 on PyPI
Permissive license MIT DORMANT released

What it is and what it does

mando is a thin decorator-based wrapper around argparse that reduces boilerplate when building command-line applications with multiple subcommands. Instead of manually configuring argparse objects, you decorate functions with @command and mando extracts argument names, types, and help text from the function signature and docstring (supporting Sphinx, Google, and NumPy styles). It automatically generates short options from docstring parameter hints and validates argument types using Python 3 type annotations.

The package is designed for developers who want CLI applications with minimal setup—typical use is a few decorated functions and a call to main(). It has no runtime dependencies, installs easily, and works across Python 3.3 through 3.13. The trade-off is that it is dormant (last release October 2024, no recent commits tracked), so while it is stable and carries no known vulnerabilities, you are adopting a library that is not actively maintained.

Use it for:

  • Build a multi-command CLI tool (like git with push, pull, commit) by decorating functions instead of writing argparse boilerplate.
  • Automatically generate help text and short options from function docstrings without manually configuring each argument.
  • Validate command-line argument types at parse time using Python 3 type annotations.
  • Prototype or ship small-to-medium CLI applications where decorator-driven design is faster than hand-coded argparse.
  • Support shell autocompletion via argcomplete integration for a polished user experience.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

mando wraps argparse to let you build command-line applications with decorators, automatically generating argument parsing and help text from function signatures and docstrings.

Yes, for stable, single-developer or small-team CLI projects where you want to avoid argparse verbosity and don't need active maintenance. The package is dormant but Production/Stable, has no dependencies, and carries no known vulnerabilities. Not recommended if you need ongoing support or are building a large, complex CLI that may require future enhancements.

Install

mando on PyPI

pip

pip install mando

uv

uv add mando

poetry

poetry add mando

Installing mando

Before you install

Low friction to install; the package is dormant (663 days since last release) but marked Production/Stable and carries no known vulnerabilities. Suitable for stable, maintenance-light use cases.

License in practice

MIT license is permissive; you can use, modify, and distribute mando freely in commercial and open-source projects with minimal restrictions.

Quickstart

pip install mando

from mando import command, main

@command
def echo(text, capitalize=False):
    '''Echo the given text.'''
    if capitalize:
        text = text.upper()
    print(text)

if __name__ == '__main__':
    main()

Verify before relying

  • Whether shell autocompletion via argcomplete is tested and functional in current Python versions.
  • Current state of the repository and whether maintenance will resume if issues are reported.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 663 days since the last release
First released
Downloads 5,836,517/month — #2,028 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mando-0.8.2-py2.py3-none-any.whl

Keywords: argparse, argument parser, arguments, cli, command line, commands, decorator, dispatch, flags, getopt, options, optparse, parser, subcommands

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

cli decorator argparse wrappercommand line interface builderpython cli with decoratorsautomatic argument parsersubcommand cli framework
cli-builderdecorator-drivenargparse-wrapper

More Software Development packages