Skip to content

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
Step-by-step guide: how to use GooeyInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python

    Install from PyPI

    pip install Gooey
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
Gooey (this)21.9kLibrarybeginner7 days agoDevelopers who have an argparse script that colleagues need to run without a terminal
typer20.2kLibrarybeginner5 days agoPython 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.