Gooey is a Python library that converts command-line programs into graphical user interface applications with minimal code changes.
The tool solves the problem of making CLI applications accessible to users who prefer graphical interfaces. It works by wrapping existing argument parsers—primarily argparse, but also supporting click and other frameworks—and automatically generating a GUI that mirrors the command-line interface. The generated interface includes form fields for arguments, options, and flags, along with buttons to execute the program and display output. This approach requires only a single decorator added to the entry point of an existing CLI application.
Gooey suits projects where you want to maintain a command-line tool while providing a GUI alternative without duplicating logic or maintaining separate codebases. It is particularly valuable for internal tools, utilities, and scripts where end users may lack comfort with terminal interfaces. The tool handles most common argument patterns automatically, though the README notes it works on "almost any" Python command-line program, implying some edge cases may require workarounds. This is most appropriate for applications where the CLI interface maps naturally to form-based input rather than interactive or streaming workflows.
The project shows sustained maintenance with regular responses to issues and pull requests. Development activity includes ongoing bug fixes addressing specific use cases and edge cases in argument parsing and GUI rendering. The maintainer actively engages with user-reported problems and merges contributions that extend compatibility with different argument parser libraries and improve the visual presentation of generated interfaces. The codebase receives updates to handle evolving Python versions and dependencies, indicating the project remains aligned with current Python ecosystem standards.