click

Python composable command line interface toolkit

https://github.com/pallets/click

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    14 of 404 committers (3.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

cli click pallets python

Keywords from Contributors

jinja templates wsgi werkzeug unit-testing closember apps jinja2 views template-engine
Last synced: 6 months ago · JSON representation

Repository

Python composable command line interface toolkit

Basic Info
Statistics
  • Stars: 16,805
  • Watchers: 182
  • Forks: 1,465
  • Open Issues: 132
  • Releases: 22
Topics
cli click pallets python
Created almost 12 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Support

README.md

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.

Contributing

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

Owner

  • Name: Pallets
  • Login: pallets
  • Kind: organization
  • Email: contact@palletsprojects.com

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,812
  • Total Committers: 404
  • Avg Commits per committer: 4.485
  • Development Distribution Score (DDS): 0.743
Past Year
  • Commits: 180
  • Committers: 42
  • Avg Commits per committer: 4.286
  • Development Distribution Score (DDS): 0.706
Top Committers
Name Email Commits
Armin Ronacher a****r@a****m 465
David Lord d****m@g****m 315
Edward G e****3@g****m 66
Markus Unterwaditzer m****s@u****t 64
dependabot[bot] 4****] 58
dependabot-preview[bot] 2****] 55
Nicholas Wiles n****s@g****m 27
pre-commit-ci[bot] 6****] 26
denuoweb j****n@r****o 22
Julen Ruiz Aizpuru j****x@g****m 21
Kevin Deldycke k****n@d****m 20
Stephen Rosen s****n@g****g 19
Kevin Yap me@k****a 18
jacrotts j****s@c****m 14
Jon Dufresne j****e@g****m 10
Andreas Backx a****s@b****g 9
Gianluca Gippetto g****o@g****m 8
Estevan Pequeno e****o@g****m 8
Saif807380 s****i@g****m 8
Joshua Storck j****k@t****m 8
cAtaman c****n@g****m 7
Amy l****2@g****m 7
Brett Bethke b****e@a****m 6
Taylor Payne t****v@g****m 6
Segev Finer s****8@g****m 6
Ryan Siemens r****s@g****m 5
Young proger 6****r 5
John T. Wodder II g****t@v****g 5
Claudio Bandera c****a@k****u 4
Doug Harris d****s@t****g 4
and 374 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 340
  • Total pull requests: 419
  • Average time to close issues: 7 months
  • Average time to close pull requests: 4 months
  • Total issue authors: 289
  • Total pull request authors: 121
  • Average comments per issue: 2.36
  • Average comments per pull request: 1.42
  • Merged pull requests: 273
  • Bot issues: 1
  • Bot pull requests: 59
Past Year
  • Issues: 119
  • Pull requests: 205
  • Average time to close issues: 13 days
  • Average time to close pull requests: 16 days
  • Issue authors: 95
  • Pull request authors: 45
  • Average comments per issue: 1.7
  • Average comments per pull request: 1.29
  • Merged pull requests: 118
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Rowlando13 (15)
  • davidism (11)
  • azmeuk (3)
  • simonw (3)
  • ofek (3)
  • AndreasBackx (3)
  • kdeldycke (3)
  • peterdragun (3)
  • potiuk (2)
  • seebi (2)
  • zerothi (2)
  • cblackbu (2)
  • rhizoome (2)
  • janluke (2)
  • andy-maier (2)
Pull Request Authors
  • Rowlando13 (68)
  • dependabot[bot] (47)
  • davidism (38)
  • kdeldycke (20)
  • AndreasBackx (17)
  • denuoweb (16)
  • pre-commit-ci[bot] (12)
  • Veebaa (8)
  • john0isaac (6)
  • kieranyyu (6)
  • Tyl13 (6)
  • sirosen (5)
  • ofek (4)
  • ic (4)
  • rhizoome (4)
Top Labels
Issue Labels
docs (22) bug (20) f:parser (8) typing (4) save-for-sprint (2) f:help (2) f:completion (2) f:parameters (1) f:prompt (1) f:test runner (1) f:context (1) github_actions (1) windows (1)
Pull Request Labels
docs (53) dependencies (47) github_actions (33) python (16) typing (7) bug (7) f:parameters (2) f:parser (2) f:completion (1) windows (1)

Packages

  • Total packages: 7
  • Total downloads:
    • pypi 367,425,312 last-month
  • Total docker downloads: 6,509,859,824
  • Total dependent packages: 11,078
    (may contain duplicates)
  • Total dependent repositories: 320,511
    (may contain duplicates)
  • Total versions: 101
  • Total maintainers: 7
pypi.org: click

Composable command line interface toolkit

  • Versions: 57
  • Dependent Packages: 10,358
  • Dependent Repositories: 316,082
  • Downloads: 367,416,009 Last month
  • Docker Downloads: 6,509,859,824
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Downloads: 0.0%
Docker downloads count: 0.0%
Average: 0.3%
Stargazers count: 0.3%
Forks count: 1.5%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: 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

  • Versions: 16
  • Dependent Packages: 654
  • Dependent Repositories: 2,206
Rankings
Dependent packages count: 0.1%
Dependent repos count: 0.2%
Average: 1.7%
Stargazers count: 2.3%
Forks count: 4.1%
Last synced: 6 months ago
pypi.org: click8

Composable command line interface toolkit

  • Versions: 2
  • Dependent Packages: 3
  • Dependent Repositories: 13
  • Downloads: 7,973 Last month
Rankings
Stargazers count: 0.1%
Forks count: 1.1%
Dependent packages count: 1.7%
Average: 2.0%
Downloads: 2.9%
Dependent repos count: 4.1%
Maintainers (1)
Last synced: 6 months ago
pypi.org: click-hotoffthehamster

Composable command line interface toolkit

  • Versions: 11
  • Dependent Packages: 6
  • Dependent Repositories: 3
  • Downloads: 389 Last month
Rankings
Stargazers count: 0.1%
Forks count: 1.2%
Dependent packages count: 3.2%
Average: 4.4%
Downloads: 8.5%
Dependent repos count: 8.9%
Maintainers (1)
Last synced: 6 months ago
anaconda.org: 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.

  • Versions: 11
  • Dependent Packages: 57
  • Dependent Repositories: 2,206
Rankings
Dependent packages count: 0.6%
Dependent repos count: 1.3%
Average: 4.5%
Stargazers count: 6.5%
Forks count: 9.7%
Last synced: 6 months ago
pypi.org: nulink-click

Composable command line interface toolkit

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 26 Last month
Rankings
Stargazers count: 0.1%
Forks count: 1.1%
Dependent packages count: 7.4%
Average: 16.6%
Dependent repos count: 22.2%
Downloads: 52.2%
Maintainers (1)
Last synced: 6 months ago
pypi.org: artefacts-click

Composable command line interface toolkit

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 915 Last month
Rankings
Dependent packages count: 9.2%
Average: 30.5%
Dependent repos count: 51.8%
Maintainers (3)
Last synced: 6 months ago

Dependencies

.github/workflows/lock.yaml actions
  • dessant/lock-threads v4 composite
.github/workflows/tests.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
examples/aliases/setup.py pypi
  • click *
examples/colors/setup.py pypi
  • click *
examples/completion/setup.py pypi
  • click *
examples/complex/setup.py pypi
  • click *
examples/imagepipe/setup.py pypi
  • click *
examples/inout/setup.py pypi
  • click *
examples/naval/setup.py pypi
  • click *
examples/repo/setup.py pypi
  • click *
examples/termui/setup.py pypi
  • click *
examples/validation/setup.py pypi
  • click *
requirements/dev.in pypi
  • pip-compile-multi * development
  • pre-commit * development
  • tox * development
requirements/dev.txt pypi
  • build ==0.9.0 development
  • cachetools ==5.2.0 development
  • cfgv ==3.3.1 development
  • chardet ==5.1.0 development
  • click ==8.1.3 development
  • colorama ==0.4.6 development
  • distlib ==0.3.6 development
  • filelock ==3.9.0 development
  • identify ==2.5.11 development
  • nodeenv ==1.7.0 development
  • pep517 ==0.13.0 development
  • pip-compile-multi ==2.6.1 development
  • pip-tools ==6.12.1 development
  • platformdirs ==2.6.2 development
  • pre-commit ==2.21.0 development
  • pyproject-api ==1.2.1 development
  • pyyaml ==6.0 development
  • toposort ==1.7 development
  • tox ==4.1.0 development
  • virtualenv ==20.17.1 development
  • wheel ==0.38.4 development
requirements/docs.in pypi
  • Pallets-Sphinx-Themes *
  • Sphinx *
  • sphinx-issues *
  • sphinx-tabs *
  • sphinxcontrib-log-cabinet *
requirements/docs.txt pypi
  • alabaster ==0.7.12
  • babel ==2.11.0
  • certifi ==2022.12.7
  • charset-normalizer ==2.1.1
  • docutils ==0.18.1
  • idna ==3.4
  • imagesize ==1.4.1
  • jinja2 ==3.1.2
  • markupsafe ==2.1.1
  • packaging ==22.0
  • pallets-sphinx-themes ==2.0.3
  • pygments ==2.13.0
  • pytz ==2022.7
  • requests ==2.28.1
  • snowballstemmer ==2.2.0
  • sphinx ==6.0.0
  • sphinx-issues ==3.0.1
  • sphinx-tabs ==3.4.1
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-log-cabinet ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • urllib3 ==1.26.13
requirements/tests.in pypi
  • pytest * test
requirements/tests.txt pypi
  • attrs ==22.2.0 test
  • exceptiongroup ==1.1.0 test
  • iniconfig ==1.1.1 test
  • packaging ==22.0 test
  • pluggy ==1.0.0 test
  • pytest ==7.2.0 test
  • tomli ==2.0.1 test
requirements/typing.in pypi
  • mypy *
requirements/typing.txt pypi
  • mypy ==0.991
  • mypy-extensions ==0.4.3
  • tomli ==2.0.1
  • typing-extensions ==4.4.0
setup.py pypi
  • colorama *
  • importlib-metadata *