click-extra

🌈 Drop-in replacement for Click to make user-friendly and colorful CLI

https://github.com/kdeldycke/click-extra

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Keywords

ansi-colors cli click cloup colorization console json logging multiplatform pygments pytest python python-tabulate sphinx terminal toml yaml

Keywords from Contributors

standardization interpretability yarn xbar steam spdx snap sbom ruby-gem pip
Last synced: 4 months ago · JSON representation ·

Repository

🌈 Drop-in replacement for Click to make user-friendly and colorful CLI

Basic Info
Statistics
  • Stars: 96
  • Watchers: 2
  • Forks: 8
  • Open Issues: 17
  • Releases: 97
Topics
ansi-colors cli click cloup colorization console json logging multiplatform pygments pytest python python-tabulate sphinx terminal toml yaml
Created about 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Funding License Code of conduct Citation

readme.md

Click Extra

Last release Python versions Downloads Unittests status Coverage status Documentation status DOI

What is Click Extra?

It should be easy to write a good CLI in Python. Click makes it so. But there is still hundrends of tweaks to implement by yourself to have a user-friendly CLI.

Click Extra is a ready-to-use wrapper around Click to make your CLI look good and behave well. It is a drop-in replacement with good defaults that saves lots of boilerplate code and frustration by making all parts working together.

It also comes with workarounds and patches that have not reached upstream yet (or are unlikely to).

Example

It transforms this vanilla click CLI:

click CLI help screen

Into this:

click-extra CLI help screen

To undestrand how we ended up with the result above, go read the tutorial.

Features

Used in

Check these projects to get real-life examples of click-extra usage:

Feel free to send a PR to add your project in this list if you are relying on Click Extra in any way.

Development

Development guidelines are the same as parent project mpm, from which click-extra originated.

Owner

  • Name: Kevin Deldycke
  • Login: kdeldycke
  • Kind: user
  • Location: ☁︎

Entrepreneur, VP, Engineering Manager, Founding Engineer - Billing, Payments & IAM.

Citation (citation.cff)

cff-version: 1.2.0
title: "Click Extra"
message: "If you use this software, please cite it as below."
type: software
authors:
  - family-names: "Deldycke"
    given-names: "Kevin"
    email: kevin@deldycke.com
    orcid: "https://orcid.org/0000-0001-9748-9014"
doi: 10.5281/zenodo.7116050
version: 5.2.0
# The release date is kept up to date by the external workflows. See:
# https://github.com/kdeldycke/workflows/blob/33b704b489c1aa18b7b7efbf963e153e91e1c810/.github/workflows/changelog.yaml#L135-L137
date-released: 2025-08-25
url: "https://github.com/kdeldycke/click-extra"

GitHub Events

Total
  • Create event: 142
  • Issues event: 8
  • Release event: 20
  • Watch event: 27
  • Delete event: 131
  • Issue comment event: 240
  • Push event: 1,516
  • Pull request event: 331
  • Fork event: 2
Last Year
  • Create event: 142
  • Issues event: 8
  • Release event: 20
  • Watch event: 27
  • Delete event: 131
  • Issue comment event: 240
  • Push event: 1,516
  • Pull request event: 331
  • Fork event: 2

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 2,184
  • Total Committers: 8
  • Avg Commits per committer: 273.0
  • Development Distribution Score (DDS): 0.179
Past Year
  • Commits: 416
  • Committers: 3
  • Avg Commits per committer: 138.667
  • Development Distribution Score (DDS): 0.284
Top Committers
Name Email Commits
Kevin Deldycke k****n@d****m 1,794
GitHub Actions a****s@g****m 367
Ross Smith II r****s@s****m 13
github-actions[bot] 4****] 4
Jakob g****t@t****t 3
Raj r****h@p****m 1
Kian-Meng Ang k****g@c****g 1
BD103 5****3 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 72
  • Total pull requests: 1,071
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Total issue authors: 17
  • Total pull request authors: 7
  • Average comments per issue: 1.25
  • Average comments per pull request: 0.94
  • Merged pull requests: 648
  • Bot issues: 44
  • Bot pull requests: 1,057
Past Year
  • Issues: 8
  • Pull requests: 362
  • Average time to close issues: 9 days
  • Average time to close pull requests: 9 days
  • Issue authors: 7
  • Pull request authors: 4
  • Average comments per issue: 2.13
  • Average comments per pull request: 0.62
  • Merged pull requests: 181
  • Bot issues: 2
  • Bot pull requests: 359
Top Authors
Issue Authors
  • github-actions[bot] (44)
  • kdeldycke (6)
  • rasa (4)
  • dependabot[bot] (3)
  • gsemet (2)
  • isezen (2)
  • jasondamour (2)
  • MePsyDuck (2)
  • andreby (1)
  • wangjinbei (1)
  • johanneskastl (1)
  • danigm (1)
  • MrClock8163 (1)
  • themoep (1)
  • mrevoir (1)
Pull Request Authors
  • dependabot[bot] (560)
  • github-actions[bot] (557)
  • rasa (10)
  • themoep (1)
  • dia38 (1)
  • isezen (1)
  • kdeldycke (1)
Top Labels
Issue Labels
📚 documentation (49) 🐛 bug (9) 🎁 feature request (8) 🙏 help wanted (7) ✨ enhancement (5) 📦 dependencies (5) 🤖 ci (1) 🧑‍🤝‍🧑 duplicate (1)
Pull Request Labels
📦 dependencies (656) 📚 documentation (259) 🆙 changelog (114) 🤖 ci (90) 🐛 bug (6) 🎁 feature request (1) ✨ enhancement (1) 🎲 can't reproduce (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 15,788 last-month
  • Total dependent packages: 6
    (may contain duplicates)
  • Total dependent repositories: 8
    (may contain duplicates)
  • Total versions: 192
  • Total maintainers: 1
pypi.org: click-extra

🌈 Drop-in replacement for Click to make user-friendly and colorful CLI

  • Versions: 95
  • Dependent Packages: 6
  • Dependent Repositories: 8
  • Downloads: 15,788 Last month
Rankings
Dependent packages count: 1.3%
Downloads: 4.5%
Dependent repos count: 5.3%
Average: 7.1%
Stargazers count: 10.0%
Forks count: 14.3%
Maintainers (1)
Funding
  • https://github.com/sponsors/kdeldycke
Last synced: 4 months ago
proxy.golang.org: github.com/kdeldycke/click-extra
  • Versions: 97
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 6.1%
Forks count: 8.2%
Average: 8.3%
Dependent packages count: 8.4%
Dependent repos count: 10.6%
Last synced: 4 months ago

Dependencies

poetry.lock pypi
  • alabaster 0.7.12 develop
  • atomicwrites 1.4.1 develop
  • attrs 22.1.0 develop
  • babel 2.10.3 develop
  • beautifulsoup4 4.11.1 develop
  • bump2version 1.0.1 develop
  • coverage 6.4.3 develop
  • decopatch 1.4.10 develop
  • docutils 0.18.1 develop
  • furo 2022.6.21 develop
  • imagesize 1.4.1 develop
  • iniconfig 1.1.1 develop
  • jinja2 3.1.2 develop
  • makefun 1.14.0 develop
  • markdown-it-py 2.1.0 develop
  • markupsafe 2.1.1 develop
  • mdit-py-plugins 0.3.0 develop
  • mdurl 0.1.1 develop
  • myst-parser 0.18.0 develop
  • packaging 21.3 develop
  • pallets-sphinx-themes 2.0.2 develop
  • pluggy 1.0.0 develop
  • py 1.11.0 develop
  • pyparsing 3.0.9 develop
  • pytest 7.1.2 develop
  • pytest-cases 3.6.13 develop
  • pytest-cov 3.0.0 develop
  • pytest-httpserver 1.0.5 develop
  • pytest-randomly 3.12.0 develop
  • pytz 2022.1 develop
  • snowballstemmer 2.2.0 develop
  • soupsieve 2.3.2.post1 develop
  • sphinx 5.1.1 develop
  • sphinx-autodoc-typehints 1.19.1 develop
  • sphinx-basic-ng 0.0.1a12 develop
  • sphinx-copybutton 0.5.0 develop
  • sphinx-design 0.2.0 develop
  • sphinx-issues 3.0.1 develop
  • sphinxcontrib-applehelp 1.0.2 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 2.0.0 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.5 develop
  • sphinxext-opengraph 0.6.3 develop
  • types-tabulate 0.8.11 develop
  • types-xmltodict 0.13.0 develop
  • werkzeug 2.2.1 develop
  • boltons 21.0.0
  • certifi 2022.6.15
  • charset-normalizer 2.1.0
  • cli-helpers 2.2.1
  • click 8.1.3
  • click-log 0.4.0
  • cloup 1.0.0
  • colorama 0.4.5
  • commentjson 0.9.0
  • configobj 5.0.6
  • idna 3.3
  • importlib-metadata 4.12.0
  • lark-parser 0.7.8
  • mergedeep 1.3.4
  • pygments 2.12.0
  • pygments-ansi-color 0.0.6
  • pyyaml 6.0
  • regex 2022.7.25
  • requests 2.28.1
  • six 1.16.0
  • tabulate 0.8.10
  • tomli 2.0.1
  • typing-extensions 4.3.0
  • urllib3 1.26.11
  • wcwidth 0.2.5
  • xmltodict 0.13.0
  • zipp 3.8.1
pyproject.toml pypi
  • Pallets-Sphinx-Themes ^2.0.2 develop
  • bump2version ^1.0.1 develop
  • coverage ^6.4 develop
  • furo ^2022.6.21 develop
  • myst-parser ^0.18.0 develop
  • pytest ^7.1.2 develop
  • pytest-cases ^3.6.13 develop
  • pytest-cov ^3.0.0 develop
  • pytest-httpserver ^1.0.3 develop
  • pytest-randomly ^3.12.0 develop
  • sphinx ^5.0.2 develop
  • sphinx-autodoc-typehints ^1.18.3 develop
  • sphinx-copybutton ^0.5.0 develop
  • sphinx-design ^0.2.0 develop
  • sphinx-issues ^3.0.1 develop
  • sphinxext-opengraph ^0.6.3 develop
  • types-tabulate ^0.8.11 develop
  • types-xmltodict ^0.13.0 develop
  • typing-extensions ^4.3.0 develop
  • boltons ^21.0.0
  • cli-helpers ^2.2.0
  • click ^8.1.1
  • click-log ^0.4.0
  • cloup ^1.0.0
  • commentjson ^0.9.0
  • mergedeep ^1.3.4
  • pygments ^2.10.0
  • pygments-ansi-color ^0.0.6
  • python ^3.7
  • pyyaml ^6.0.0
  • regex ^2022.3.15
  • requests ^2.27.1
  • tabulate ^0.8.9
  • tomli ^2.0.1
  • xmltodict >=0.12,<0.14
.github/workflows/docs.yaml actions
  • actions/checkout v3.3.0 composite
  • actions/setup-python v4.5.0 composite
  • peter-evans/create-pull-request v4.2.3 composite
.github/workflows/tests.yaml actions
  • actions/checkout v3.3.0 composite
  • actions/setup-python v4.5.0 composite
  • codecov/codecov-action v3.1.1 composite
.github/workflows/autofix.yaml actions
.github/workflows/autolock.yaml actions
.github/workflows/changelog.yaml actions
.github/workflows/label-sponsors.yaml actions
.github/workflows/labeller-file-based.yaml actions
.github/workflows/labels.yaml actions
.github/workflows/lint.yaml actions
.github/workflows/release.yaml actions