click
Composable command line interface toolkit
Decision gist · record as of 2026-08-14
Yes. Click is a production-stable, actively maintained toolkit (Development Status 5) with no known vulnerabilities, permissive licensing, and low install friction. It is widely used (position 23 on PyPI) and the right choice for any Python CLI project where you want to avoid manual argument parsing and help generation. Install it unless you have a specific reason to prefer a different CLI framework.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Click installs with low friction—a single pure-Python wheel with only colorama as a runtime dependency.
- The project is actively maintained with a recent release (51 days old) and strong community backing (17623 GitHub stars), indicating reliable ongoing support.
License · maintenance · safety
BSD-3-Clause (permissive) — Click is licensed under BSD-3-Clause (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
last release 2026-06-24 (51 days) · last repo commit 2026-08-09 · 17,623 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,089,240,135 downloads/mo, #23 on PyPI
Alternatives
Verify before relying
pip install click
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
def hello(count):
for _ in range(count):
click.echo('Hello!')
if __name__ == '__main__':
hello()What it is and what it does
Click is a decorator-based command-line interface toolkit that lets you build CLI applications by annotating Python functions with options and commands. Instead of manually parsing arguments and building help text, you write functions decorated with @click.command() and @click.option(), and Click handles the rest—argument parsing, type conversion, help page generation, and nested command hierarchies.
The package is designed for developers who want to ship command-line tools quickly without boilerplate. It supports arbitrary nesting of commands, lazy loading of subcommands, and comes with sensible defaults while remaining highly configurable. Its single runtime dependency is colorama, keeping the install footprint small.
Use it for
- Build CLI tools for system administration, deployment, or build automation with minimal code.
- Create interactive command-line applications that prompt users for input and validate arguments.
- Organize complex CLI applications with nested subcommands and shared options across command groups.
- Generate professional help and usage documentation automatically from your command definitions.
- Prototype or ship internal developer tools and scripts that need a polished command-line interface.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Click is a production-stable, actively maintained toolkit (Development Status 5) with no known vulnerabilities, permissive licensing, and low install friction. It is widely used (position 23 on PyPI) and the right choice for any Python CLI project where you want to avoid manual argument parsing and help generation. Install it unless you have a specific reason to prefer a different CLI framework.
Install
click on PyPI
Before you install
Click installs with low friction—a single pure-Python wheel with only colorama as a runtime dependency. The project is actively maintained with a recent release (51 days old) and strong community backing (17623 GitHub stars), indicating reliable ongoing support.
Requires Python 3.10 or later.
License in practice
Click is licensed under BSD-3-Clause (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install click
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
def hello(count):
for _ in range(count):
click.echo('Hello!')
if __name__ == '__main__':
hello()
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagecolorama |
| Maintenance | Actively maintained 51 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,089,240,135 / month, #23 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonTyping :: Typed |
Evidence: click-8.4.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “command line interface toolkit”
- clickClick is a Python toolkit for building command-line interfaces with…
- knackKnack is a Python framework for building command-line interfaces with…
- inquirerpyInquirerPy provides interactive command-line prompts (text input,…
Give your agent the search over MCP, or paste the wish link into any chat.
Similar packages
Asyncclick provides a fork of Click that enables async command and subcommand handlers compatible with asyncio or trio, letting you build command-line interfaces with async/await syntax.
Provides composable callback utilities for Click CLI applications, enabling you to chain multiple validators or transformations together and apply them to command parameters.
However, it is very new (first release in October 2025) with minimal real-world adoption, so treat it as a convenience tool rather than a critical dependency—the same…
Adds configuration file support to Click command-line applications through a single decorator, automatically handling file parsing and option resolution.
Install only if the feature set is complete for your use case and you're willing to fork or patch it yourself if Click evolves incompatibly.
Extends click with configuration file support, allowing CLI commands to read INI-format config files and merge their values into command options.
However, be aware that the last release was 2017 and maintenance is dormant—if you encounter issues with modern Python or click versions, you may need to fork or…
Adds datetime type support to Click, allowing CLI developers to parse and validate date strings as command-line parameters with custom format specifications.
Renders Click command-line interfaces with rich terminal formatting, replacing Click's default help output with colorful, structured text using the Rich library.
See also auto-click-auto · clize · click-plugins · lib-cli-exit-tools