Gooey is a Python library that turns command line programs into cross-platform desktop GUI apps with forms, progress bars, and an output console by adding a single decorator to argparse-based code.
- 1.0.8.2
- Published at
- 18h ago
- 21,895
- Stars
- 1,143
- Download
- Synced at
- 9h ago
Latest release
1.0.8.2Oct 28, 2026, 05:09 AMDownloads slow? Switch the source anytime above
README
Project Overview
Gooey turns almost any Python 3 console program into a full GUI application with one line. It works on top of argparse: attach the @Gooey decorator to your main function and existing command line arguments are automatically mapped to form widgets, while program output streams into the GUI window in real time.
| Item | Value |
|---|---|
| Platforms | Windows, macOS, Linux |
| Language | Python 3 |
| UI framework | wxPython |
| License | MIT |
One decorator moves your script tools from the terminal onto everyone's desktop.
Key Features
- One-line integration: add the
@Gooeydecorator to a function with argparse declarations to get a GUI - Automatic forms: widgets such as text fields, dropdowns, and file pickers are chosen from argument types
- Fine-grained control: swap in
GooeyParserto pick widget styles and validation per argument - Run modes: full configuration, basic mode, or skip the config screen and run directly
- Progress and output: program output streams into the window, with progress bars and elapsed/remaining time
- Lifecycle events: hooks for startup, success, and failure let you drive the UI dynamically
- Dynamic validation: validate inputs before submission and surface errors on the form
- Appearance options: custom menus, icons, fonts, and global UI configuration
Target Audience
- Python script authors
- Developers handing internal tools to non-technical colleagues
- Teams maintaining many argparse-based CLI tools
- Prototype builders who need a UI fast
Quick Start
- Install via pip
pip install Gooey- Decorate your argparse entry point
from gooey import Gooey
@Gooey
def main():
# existing argparse declarations stay unchanged
...- Run the script to open the GUI; pair with PyInstaller to distribute a standalone executable
Core Advantages
- Zero rewrite: existing argparse logic stays untouched, one decorator line adds the interface
- Friendly UX: non-technical users run scripts through forms instead of memorizing flags
- Complete toolkit: progress display, lifecycle events, and packaging guidance are all included
System Requirements
| Item | Requirement |
|---|---|
| Language | Python 3 |
| OS | Windows, macOS, Linux |
| UI dependency | wxPython |
Notes
- wxPython dependency: installing wxPython on some platforms may require prebuilt wheels or extra setup
- argparse based: programs must define parameters with argparse for forms to be generated automatically
Release history
Sort