skillfed

click-extra

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

click-extra v8.9.0 134.1K downloads/30d#11,486 on PyPI120
Copyleft license GPL-2.0-or-later Active released

What it is and what it does

Click Extra is a production-ready wrapper around the Click CLI framework that bundles configuration file loading, colorized help screens, theming, and standard options (verbosity, version, timing, parallel jobs) into a single decorator. Instead of assembling these pieces yourself across multiple Click plugins and custom code, you get them as defaults with one import.

It reads configuration from TOML, YAML, JSON, INI, and XML files (including pyproject.toml), supports environment variables and prompts with proper precedence, and renders help text with syntax highlighting and theme support. The package includes seven built-in themes and lets you define custom ones. It's designed for developers who want a polished CLI without writing hundreds of lines of boilerplate—from security researchers turning proofs-of-concept into shareable tools to DevOps engineers whose scripts have grown into team utilities.

Use it for:

  • Build a CLI tool with colored help, config file support, and standard options (--verbose, --version) in minutes instead of hours.
  • Add configuration file loading to an existing Click CLI without modifying its source, using the CLI wrapper.
  • Create a tool that reads settings from pyproject.toml or a custom config file with automatic validation and environment variable overrides.
  • Render help text with syntax highlighting and theme switching (dark, light, dracula, nord, etc.) for better UX.
  • Debug CLI parameter values, defaults, and environment variable sources with the built-in --params option.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Click Extra is a wrapper around Click that adds configuration file loading, colored help screens, standard CLI options, and theming to make building professional command-line tools faster and with less boilerplate.

Yes, if your CLI is open-source or will be distributed under a GPL-compatible license. Click Extra eliminates substantial boilerplate for configuration, theming, and standard options, and is actively maintained with no known vulnerabilities. The copyleft license is a hard blocker for proprietary applications; for open-source projects, it's a strong win.

Install

click-extra on PyPI

pip

pip install click-extra

uv

uv add click-extra

poetry

poetry add click-extra

Installing click-extra

Before you install

Low friction installation with a pure-Python wheel. Active maintenance as of 2026-08-14 with recent release. Depends on nine runtime packages including click, cloup, tabulate, and configuration parsers (tomli, deepmerge); all are well-established libraries.

License in practice

Licensed under GPL-2.0-or-later (copyleft). Any CLI you build with Click Extra must be distributed under a compatible open-source license; proprietary or closed-source applications cannot use this package.

Quickstart

pip install click-extra

from click_extra import command, option

@command()
@option('--name', default='World')
def hello(name):
    """A simple greeting."""
    print(f'Hello {name}!')

if __name__ == '__main__':
    hello()

Requires Python 3.10 or later. GPL-2.0-or-later license applies to any CLI built with it.

Verify before relying

  • Whether the nine runtime dependencies (boltons, click, cloup, deepmerge, extra-platforms, tabulate, tomli, wcmatch, wcwidth) are all stable and actively maintained.
  • Performance impact of configuration file loading and colorization on CLI startup time for latency-sensitive use cases.
  • Compatibility with Click plugins or extensions not explicitly tested in Click Extra's test suite.

Package facts

License GPL-2.0-or-later (copyleft)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 9 — boltons, click, cloup, deepmerge, extra-platforms, tabulate, tomli, wcmatch, wcwidth
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 134,106/month — #11,486 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: click_extra-8.9.0-py3-none-any.whl

Keywords: ansi-colors, ansi-escape-codes, cli-framework, click, click-extension, click-plugin, cloup, colorization, config-file, configuration-file, hjson, ini, json5, pygments, pytest-plugin, python-cli, python-tabulate, sphinx-extension, tabulate, toml-parser

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: PluginsFramework :: PytestFramework :: SphinxFramework :: Sphinx :: ExtensionFramework :: Sphinx :: ThemeIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: BSD :: FreeBSDOperating System :: POSIX :: BSD :: NetBSDOperating System :: POSIX :: BSD :: OpenBSDOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Documentation :: SphinxTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User InterfacesTopic :: System :: LoggingTopic :: System :: ShellsTopic :: TerminalsTopic :: Text Processing :: FiltersTopic :: Text Processing :: Markup :: HTMLTopic :: Text Processing :: Markup :: MarkdownTopic :: Text Processing :: Markup :: XMLTopic :: Text Processing :: Markup :: reStructuredTextTopic :: UtilitiesTyping :: Typed

Tags

click cli wrappercolored command line interfacecli configuration file loaderpython click extensioncli theming and stylingcommand line help colorizationcli defaults and boilerplate
cli-frameworkconfiguration-managementterminal-ui

More Python Modules packages