Analysis updated 2026-06-21
Turn an existing argparse Python script into a desktop app non-programmer colleagues can run by double-clicking.
Add a file picker and dropdown GUI to a data-processing script without writing any UI code.
Package a Python utility as a graphical app with a progress bar for long-running tasks.
Build a simple office tool with a form-based interface using only Python's standard argparse.
| chriskiehl/gooey | jina-ai/serve | alishahryar1/free-claude-code | |
|---|---|---|---|
| Stars | 21,889 | 21,872 | 21,991 |
| Language | Python | Python | Python |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 4/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
wxPython installs via pip but may need system libraries on Linux.
Gooey is a Python library that turns a command line program into a graphical desktop application. The author Chris Kiehl built it for scripts that already use Python's argparse module, which is the standard way to define command line options. By adding a single decorator called @Gooey above your main function, the library reads your argparse setup and builds a window with input fields, checkboxes, dropdowns, and file pickers that match each option. You get a clickable interface without writing any GUI code. Installation is one pip command. After that, a normal argparse-based script becomes a small app that a non-programmer can run by double clicking. The decorator accepts options for the window size, the program name, the number of columns in the layout, the language for translations, and whether to skip the config screen and start straight away. If you want more control over which widget shows up for a given argument, you can swap ArgumentParser for the included GooeyParser and pass a widget hint such as FileChooser or DateChooser to each add_argument call. The intended audience is people who write small around-the-office scripts and want to hand them to colleagues who do not live in a terminal. Gooey is not aimed at Unix pipeline tools or utilities meant to be chained with other programs. The author is direct about that distinction in the README, suggesting Gooey for run-and-done utilities and quick one-off tools rather than for shell-friendly helpers. Internally Gooey parses your script for references to ArgumentParser, then maps each action to a wxPython widget. A store action becomes a text box, a store_true becomes a checkbox, a choice argument becomes a dropdown, and a mutually exclusive group becomes a radio group. The README also lists features for showing progress bars, custom icons, packaging the app, lifecycle hooks, dynamic validation, and a basic versus advanced view mode, with example screenshots and a companion GooeyExamples repository for ready-made demos.
A Python library that converts any argparse command-line script into a clickable graphical desktop application with a single decorator, generating input fields, file pickers, and dropdowns automatically.
Mainly Python. The stack also includes Python, wxPython, pip.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.