trogon
Automatically generate a Textual TUI for your Click CLI
What it is and what it does
Trogon is a decorator-based tool that inspects a Click CLI application and automatically generates a Textual-based terminal user interface for it. Instead of users memorizing command syntax and options, they interact with a visual menu to discover and configure commands. The tool works by extracting the schema from your Click app—its options, switches, and help text—and rendering an interactive TUI where users can edit parameters and execute commands.
The integration is minimal: adding just two lines of code (an import and a decorator) to an existing Click application enables a new `tui` command that launches the interface. Trogon depends on textual for the UI framework and click for CLI introspection, both of which are well-maintained libraries. The package is in Beta and supports Python 3.8 through 3.12 across macOS, Windows, and Linux.
Use it for:
- Make a CLI tool more discoverable for infrequent users who struggle to remember command syntax and available options.
- Provide a graphical alternative to command-line invocation for end users who prefer visual interfaces over typing.
- Reduce support burden by offering a self-documenting UI that displays all available options and help text interactively.
- Quickly prototype a TUI wrapper around an existing Click application without rewriting the underlying CLI logic.
- Enable non-technical users to run complex CLI tools by hiding command-line syntax behind a friendly menu interface.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Trogon auto-generates a terminal user interface (TUI) for Click command-line applications, letting users interact with CLI options through a visual menu instead of typing commands.
Yes, if you maintain a Click CLI and want to offer users a low-friction TUI alternative. The integration is trivial (two lines), dependencies are minimal and stable, and the MIT license poses no restrictions. The aging maintenance status (681 days since last release) is a minor concern—verify compatibility with your current Click and Textual versions before relying on it for production—but the lack of known vulnerabilities and active repository suggest it remains usable.
Install
trogon on PyPI
pip
pip install trogonuv
uv add trogonpoetry
poetry add trogonInstalling trogon
Before you install
Low friction install with only two runtime dependencies (textual and click). The project is in Beta status and has not been updated in 681 days, though the repository remains active and well-starred.
License in practice
MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, making it suitable for both open-source and proprietary projects.
Quickstart
pip install trogon
from trogon import tui
import click
@tui()
@click.group()
def cli():
pass
if __name__ == "__main__":
cli()
Requires Python 3.8.1 or later; works on macOS, Windows 10/11, and Linux.
Verify before relying
- Whether Typer support mentioned in the description is fully functional or still experimental.
- Performance characteristics when applied to CLIs with very large numbers of options or subcommands.
- Whether the aging maintenance status (681 days since last release) affects compatibility with recent Click or Textual versions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0.0,>=3.8.1) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — textual, click |
| Maintenance | aging — 681 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 337,437/month — #7,449 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: trogon-0.6.0-py3-none-any.whl
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
MarkdownConverts Markdown text to HTML using a Python…
permissive · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
mkdocs-materialMaterial for MkDocs is a professional theme and…
permissive · top 5,000 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
tuipetA terminal-based virtual pet game in the…
permissive · top 15,000 on PyPI
textual-devtextual-dev provides a command-line tool for…
permissive · top 15,000 on PyPI
textual-serveRuns any Textual terminal application in a web…
permissive · top 5,000 on PyPI
uipath-devInteractive terminal application for building,…
unclear · top 5,000 on PyPI
textual-autocompleteAdds fuzzy-matching autocomplete dropdowns to…
permissive · top 15,000 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
jaraco.uiProvides command-line and user-interface…
permissive · top 15,000 on PyPI
rich-clickRenders Click command-line interfaces with rich…
permissive · top 1,000 on PyPI
click-shellConverts a click command-line app into an…
permissive · top 15,000 on PyPI