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
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 8.3.2 | Imported from PyPI (8.3.2) | Low | 4/21/2026 |
| 8.3.1 | This 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`` | Low | 11/15/2025 |
| 8.3.0 | This 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/ | Low | 9/18/2025 |
| 8.2.2 | This 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 environmen | Low | 8/2/2025 |
| 8.2.1 | This 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 - F | Low | 5/20/2025 |
| 8.2.0 | This 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/cl | Low | 5/10/2025 |
| 8.1.8 | This 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` display | Low | 12/21/2024 |
| 8.1.7 | This 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=1 | Low | 8/17/2023 |
| 8.1.6 | This 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=1 | Low | 7/18/2023 |
| 8.1.5 | This 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=1 | Low | 7/13/2023 |
| 8.1.4 | This 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=1 | Low | 7/6/2023 |
| 8.1.3 | This 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=1 | Low | 4/28/2022 |
| 8.1.2 | This 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=1 | Low | 3/31/2022 |
| 8.1.1 | This 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=1 | Low | 3/30/2022 |
| 8.1.0 | This 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/p | Low | 3/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=1 | Low | 2/18/2022 |
| 8.0.3 | * Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-3 | Low | 10/10/2021 |
| 8.0.2 | * Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-2 | Low | 10/8/2021 |
| 8.0.1 | * Changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-1 | Low | 5/19/2021 |
| 8.0.0 | New 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 wor | Low | 5/12/2021 |
| 8.0.0rc1 | * Changes: https://click.palletsprojects.com/en/master/changes/#version-8-0 | Low | 4/16/2021 |
| 8.0.0a1 | * Changes: https://click.palletsprojects.com/en/master/changelog/#version-8-0 | Low | 11/29/2020 |
| 7.1.2 | * Changes: https://click.palletsprojects.com/en/7.x/changelog/#version-7-1-2 | Low | 4/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/1237090317838340099 | Low | 3/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/1237090317838340099 | Low | 3/9/2020 |
