Turn any Python command line program into a GUI application with one line using a decorator.
Gooey is a Python library that converts command-line programs into full-featured GUI applications with minimal code. It wraps around argparse-based scripts, automatically generating a graphical interface with appropriate widgets, help text, and validation. This solves the problem of making powerful CLI tools accessible to non-technical users who prefer visual interactions over terminal commands.
Python developers building 'run-and-done' office-style scripts, internal tools, or utilities targeted at non-programmers such as colleagues, clients, or end-users unfamiliar with command-line interfaces.
Developers choose Gooey because it eliminates the need to write GUI code from scratch, saving significant development time. Its seamless integration with argparse means existing CLI logic remains unchanged, while its customizable widgets, internationalization, and progress tracking provide a professional user experience out of the box.
Turn (almost) any Python command line program into a full GUI application with one line
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Adding the @Gooey decorator to an argparse-based function instantly generates a full GUI, eliminating the need to write any GUI code from scratch, as shown in the quick start examples.
Intelligently maps argparse actions to appropriate GUI widgets like checkboxes and dropdowns, with GooeyParser allowing fine-tuned control over specialized widgets such as FileChooser and DateChooser.
Supports multiple run modes (Full/Advanced, Basic, No Config), navigation styles (tabbed, sidebar), and comes pre-stocked with 18+ language translations easily extensible via JSON files.
Includes visual progress tracking via regex pattern matching on console output and experimental lifecycle events (on_success, on_error) for post-run actions, enhancing user experience.
Relies on WX Python for rendering, which can have platform-specific bugs and a dated look compared to modern frameworks like Qt or web-based UIs, limiting visual polish.
Only works with argparse-based command-line tools, not supporting other CLI libraries or complex GUI needs beyond simple form-based interactions, as admitted in the README's 'Who is this for?' section.
Dynamic validation and lifecycle events are marked as experimental and likely unstable, with the README warning that APIs may change or be removed, risking breaking changes in production.
Adds GUI layer overhead to lightweight CLI scripts, making it unsuitable for resource-constrained environments or tools meant primarily for automation where a GUI is superfluous.