freshcrate
Skin:/

click

Composable command line interface toolkit

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

<div align="center"><img src="https://raw.githubusercontent.com/pallets/click/refs/heads/stable/docs/_static/click-name.svg" alt="" height="150"></div> # Click Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It's the "Command Line Interface Creation Kit". It's highly configurable but comes with sensible defaults out of the box. It aims to make the process of writing command line tools quick and fun while also preventing any frustration caused by the inability to implement an intended CLI API. Click in three points: - Arbitrary nesting of commands - Automatic help page generation - Supports lazy loading of subcommands at runtime ## A Simple Example ```python import click @click.command() @click.option("--count", default=1, help="Number of greetings.") @click.option("--name", prompt="Your name", help="The person to greet.") def hello(count, name): """Simple program that greets NAME for a total of COUNT times.""" for _ in range(count): click.echo(f"Hello, {name}!") if __name__ == '__main__': hello() ``` ``` $ python hello.py --count=3 Your name: Click Hello, Click! Hello, Click! Hello, Click! ``` ## Donate The Pallets organization develops and supports Click and other popular packages. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, [please donate today][]. [please donate today]: https://palletsprojects.com/donate ## Contributing See our [detailed contributing documentation][contrib] for many ways to contribute, including reporting issues, requesting features, asking or answering questions, and making PRs. [contrib]: https://palletsprojects.com/contributing/

Release History

VersionChangesUrgencyDate
8.4.1This is the Click 8.4.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release. PyPI: https://pypi.org/project/click/8.4.1/ Changes: https://click.palletsprojects.com/page/changes/#version-8-4-1 Milestone: https://github.com/pallets/click/milestone/32?closed=1 - `get_parameter_source()` is available during eager callbacks and type conversion again. #3458 #3484 - Zsh completion scripts parse coHigh5/22/2026
8.4.0This is the Click 8.4.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes. We encourage everyone to upgrade. You can read more about our [Version Support Policy][version] on our website. [version]: https://palletsprojects.com/versions PyPI: https://pypi.org/project/click/8.4.0/ Changes: https://click.palletsprojects.com/page/changes/#version-8-4-0 Milestone https://github.com/High5/17/2026
8.3.3This is the Click 8.3.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release. PyPI: https://pypi.org/project/click/8.3.3/ Changes: https://click.palletsprojects.com/page/changes/#version-8-3-3 Milestone: https://github.com/pallets/click/milestone/30 - Use :func:`shlex.split` to split pager and editor commands into ``argv`` lists for :class:`subprocess.Popen`, removing ``shell=True``. High4/22/2026
8.3.2Imported from PyPI (8.3.2)Low4/21/2026
8.3.1This is the Click 8.3.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release. PyPI: https://pypi.org/project/click/8.3.1/ Changes: https://click.palletsprojects.com/page/changes/#version-8-3-1 Milestone: https://github.com/pallets/click/milestone/28 - Don't discard pager arguments by correctly using ``subprocess.Popen``. #3039 #3055 - Replace ``Sentinel.UNSET`` default values by ``None``Low11/15/2025
8.3.0This is the Click 8.3.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes. We encourage everyone to upgrade. You can read more about our [Version Support Policy][version] on our website. [version]: https://palletsprojects.com/versions PyPI: https://pypi.org/project/click/8.3.0/ Changes: https://click.palletsprojects.com/page/changes/#version-8-3-0 Milestone https://github.com/Low9/18/2025
8.2.2This is the Click 8.2.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release. PyPI: https://pypi.org/project/click/8.2.2/ Changes: https://click.palletsprojects.com/page/changes/#version-8-2-2 Milestone: https://github.com/pallets/click/milestone/25 - Fix reconciliation of `default`, `flag_value` and `type` parameters for flag options, as well as parsing and normalization of environmenLow8/2/2025
8.2.1This is the Click 8.2.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release. PyPI: https://pypi.org/project/click/8.2.1/ Changes: https://click.palletsprojects.com/page/changes/#version-8-2-1 Milestone: https://github.com/pallets/click/milestone/24?closed=1 - Fix flag value handling for flag options with a provided type. #2894 #2897 - Fix shell completion for nested groups. #2906 - FLow5/20/2025
8.2.0This is the Click 8.2.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecation, or introduce potentially breaking changes. We encourage everyone to upgrade. You can read more about our [Version Support Policy][version] on our website. [version]: https://palletsprojects.com/versions PyPI: https://pypi.org/project/click/8.2.0/ Changes: https://click.palletsprojects.com/en/stable/changes/ Milestone https://github.com/pallets/clLow5/10/2025
8.1.8This is the Click 8.1.8 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release. PyPI: https://pypi.org/project/click/8.1.8/ Changes: https://click.palletsprojects.com/en/stable/changes/#version-8-1-8 Milestone https://github.com/pallets/click/milestones/23?closed=1 - Fix an issue with type hints for `click.open_file()`. #2717 - Fix issue where error message for invalid `click.Path` displayLow12/21/2024
8.1.7This is a fix release for the 8.1.x feature branch. - Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-7 - Milestone: https://github.com/pallets/click/milestone/22?closed=1Low8/17/2023
8.1.6This is a fix release for the 8.1.x feature branch. If you were having issues with type checking tools like pyright or mypy not accepting uses of Click's decorators, this should fix that. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-6 * Milestone: https://github.com/pallets/click/milestone/21?closed=1Low7/18/2023
8.1.5This is a fix release for the 8.1.x feature branch. This fixes an issue with decorator type annotations that caused type checkers to fail for valid code. There are no runtime behavior changes. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-5 * Milestone: https://github.com/pallets/click/milestone/20?closed=1Low7/13/2023
8.1.4This is a fix release for the 8.1.x feature branch. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-4 * Milestone: https://github.com/pallets/click/milestone/19?closed=1Low7/6/2023
8.1.3This is a fix release for the [8.1.0](https://github.com/pallets/click/releases/tag/8.1.0) feature release. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-3 * Milestone: https://github.com/pallets/click/milestone/18?closed=1Low4/28/2022
8.1.2This is a fix release for the [8.1.0](https://github.com/pallets/click/releases/tag/8.1.0) feature release. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-2 * Milestone: https://github.com/pallets/click/milestone/17?closed=1Low3/31/2022
8.1.1This is a fix release for the [8.1.0](https://github.com/pallets/click/releases/tag/8.1.0) feature release. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-1 * Milestone: https://github.com/pallets/click/milestone/14?closed=1Low3/30/2022
8.1.0This is a feature release, which includes new features and removes previously deprecated features. The 8.1.x branch is now the supported bugfix branch, the 8.0.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as [pip-tools](https://pypi.org/project/pip-tools/) to pin all dependencies and control upgrades. * Changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-0 * Milestone: https://github.com/pLow3/28/2022
8.0.4* Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-4 * Milestone: https://github.com/pallets/click/milestone/13?closed=1Low2/18/2022
8.0.3* Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-3Low10/10/2021
8.0.2* Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-2Low10/8/2021
8.0.1* Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-1Low5/19/2021
8.0.0New major versions of all the core Pallets libraries, including Click 8.0, have been released! :tada: * Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/ * Read the full list of changes: https://click.palletsprojects.com/changes/#version-8-0-0 * Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048 * Follow our blog, Twitter, or GitHub to see future announcements. This represents a significant amount of worLow5/12/2021
8.0.0rc1* Changes: https://click.palletsprojects.com/en/master/changes/#version-8-0Low4/16/2021
8.0.0a1* Changes: https://click.palletsprojects.com/en/master/changelog/#version-8-0Low11/29/2020
7.1.2* Changes: https://click.palletsprojects.com/en/7.x/changelog/#version-7-1-2Low4/27/2020
7.1.1* Changes: https://click.palletsprojects.com/en/7.x/changelog/#version-7-1-1 * Blog: https://palletsprojects.com/blog/click-7-1-released/ * Twitter: https://twitter.com/PalletsTeam/status/1237090317838340099Low3/9/2020
7.1* Changes: https://click.palletsprojects.com/en/7.x/changelog/#version-7-1 * Blog: https://palletsprojects.com/blog/click-7-1-released/ * Twitter: https://twitter.com/PalletsTeam/status/1237090317838340099Low3/9/2020

Dependencies & License Audit

Loading dependencies...

Similar Packages

modalPython client library for Modalmain@2026-06-05
unstructured-clientPython Client SDK for Unstructured APIv0.45.0
anthropicThe official Python library for the anthropic APIv0.106.0
pipThe PyPA recommended tool for installing Python packages.main@2026-06-05
openinference-semantic-conventionsOpenInference Semantic Conventionspython-openinference-instrumentation-pipecat-v2.0.0

More from pypi

markitdownUtility tool for converting various files to Markdown
fastapiFastAPI framework, high performance, easy to learn, fast to code, ready for production
djangoA high-level Python web framework that encourages rapid development and clean, pragmatic design.
flaskA simple framework for building complex web applications.

More in Developer Tools

mypyOptional static typing for Python
pipThe PyPA recommended tool for installing Python packages.
anthropicThe official Python library for the anthropic API
openinference-instrumentationOpenInference instrumentation utilities