Command-line Applications

    Some popular command-line applications include:

    • grep - A plain-text data search utility
    • - A command-line HTTPclient, a user-friendly cURL replacement
    • Git - A distributed version control system
    • - A distributed version controlsystem primarily written in Python

    click is a Python package for creatingcommand-line interfaces in a composable way with as little code as possible.This “Command-Line Interface Creation Kit” is highly configurable but comeswith good defaults out of the box.

    docopt

    Plac is a simple wrapperover the Python standard library ,which hides most of its complexity by using a declarative interface: theargument parser is inferred rather than written down imperatively. Thismodule targets unsophisticated users, programmers, sysadmins,scientists, and in general people writing throw-away scripts for themselves,who choose to create a command-line interface because it is quick and simple.

    Cliff

    is a framework forbuilding command-line programs. It uses setuptools entry points to providesubcommands, output formatters, and other extensions. The framework is meantto be used to create multi-level commands such as and git, wherethe main program handles some basic argument parsing and then invokes asub-command to do the work.

    Python Fire

    is a library forautomatically generating command-line interfaces from absolutely any Pythonobject. It can help debug Python code more easily from the command line,create CLI interfaces to existing code, allow you to interactively explorecode in a REPL, and simplify transitioning between Python and Bash (or anyother shell).