
Gooey
Turns a Python argparse command-line script into a GUI app with a single decorator.
- Stars
- 21.9k
- Forks
- 1k
- Licence
- MIT
- Language
- Python
- Last update
- 7 days ago
- Type
- Library
What it is
Gooey is a Python library that wraps an existing command-line script in a graphical window. You add a decorator to the function that defines your argparse arguments, and Gooey builds a form from those arguments so non-programmers can fill in options with buttons and text boxes instead of typing commands. The README says it is aimed at run-and-done scripts and tools meant for non-programmers.
- Wrap a file-processing script with a file chooser and date picker
- Give a team a button-driven front end for a recurring data task
- Turn an argparse tool into a GUI with validation and progress display
- Generate a configurable form layout with options such as required and optional columns
Great for
- Developers who have an argparse script that colleagues need to run without a terminal
- Making internal office utilities that move or process files with a simple form
- Students or hobbyists wanting a quick GUI front end for a Python script
- Building multi-option tools for non-programmer end users
Not ideal for
- Scripts whose output is piped into other command-line programs, since the README says Gooey is not meant for that case
- Projects that use optparse, which the README says is not supported
- Python 2 projects, because the README says Gooey no longer supports Python 2 and older releases need a manual wxPython install
How to get it
- 1
Install with a package manager
You'll need: Python
Install from PyPI
pip install Gooey - 2
Run it
- Install Gooey with pip install Gooey
- Import Gooey and add the @Gooey decorator above your main function that defines argparse arguments
- Run your script to open the generated window
- Optionally download the GooeyExamples repository to see sample scripts
- 3
Get the most out of it
- Use GooeyParser in place of ArgumentParser and set widget="FileChooser" or "DateChooser" to control input types
- Pass options such as program_name, default_size, required_cols and optional_cols to the @Gooey decorator
- Use auto_start=True to skip the configuration screen when you do not need it
- Use dump_build_config and load_build_config to save and reuse a generated configuration
- Explore the GooeyExamples repository for working demos of layouts and widgets
Downloads
Strengths
- Adds a GUI with one decorator, per the README, without rewriting argparse code
- GooeyParser lets you pick widget types while staying a drop-in replacement for ArgumentParser
- Large community interest, with about 21,900 GitHub stars at the time of metadata
Trade-offs
- The README describes the GUI as built on wxPython, which adds a GUI toolkit dependency
- Only argparse is supported, and the README says it parses the script for ArgumentParser references
- The README is truncated here, so details on newer features and platform support are unclear
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| Gooey (this) | 21.9k | Library | beginner | 7 days ago | Developers who have an argparse script that colleagues need to run without a terminal |
| typer | 20.2k | Library | beginner | 5 days ago | Python developers writing small or medium command-line tools |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.