click

3 min read Original article ↗

Project description

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

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.

Contributing

See our detailed contributing documentation for many ways to contribute, including reporting issues, requesting features, asking or answering questions, and making PRs.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Filter files by name, interpreter, ABI, and platform.

If you're not sure about the file name format, learn more about wheel file names.

Copy a direct link to the current filters

File details

Details for the file click-8.3.2.tar.gz.

File metadata

  • Download URL: click-8.3.2.tar.gz
  • Upload date:
  • Size: 302.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for click-8.3.2.tar.gz
Algorithm Hash digest
SHA256 14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5
MD5 60309a697c11e757f4aa2adf059fe94a
BLAKE2b-256 577531212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804

See more details on using hashes here.

Provenance

The following attestation bundles were made for click-8.3.2.tar.gz:

Publisher: publish.yaml on pallets/click

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file click-8.3.2-py3-none-any.whl.

File metadata

  • Download URL: click-8.3.2-py3-none-any.whl
  • Upload date:
  • Size: 108.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for click-8.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1924d2c27c5653561cd2cae4548d1406039cb79b858b747cfea24924bbc1616d
MD5 5def983952903098a57abaccc23bbf7e
BLAKE2b-256 e42071885d8b97d4f3dde17b1fdb92dbd4908b00541c5a3379787137285f602e

See more details on using hashes here.

Provenance

The following attestation bundles were made for click-8.3.2-py3-none-any.whl:

Publisher: publish.yaml on pallets/click

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.