easygui
EasyGUI is a module for very simple, very easy GUI programming in Python. EasyGUI is different from other GUI generators in that EasyGUI is NOT event-driven. Instead, all GUI interactions are invoked by simple function calls.
What it is and what it does
EasyGUI is a thin wrapper around Tkinter that lets you create simple GUI dialogs without writing event handlers. Instead of building a GUI application with callbacks and event loops, you call functions like msgbox(), ynbox(), and buttonbox() to show dialogs and get user input synchronously. It's designed for scripts and small tools that need a quick graphical interface without the overhead of learning a full GUI framework.
The package runs on Python 2 and 3 and has no dependencies beyond Tkinter, which ships with most Python installations. It supports basic dialog types—message boxes, yes/no prompts, button selections, text input, and file open/save dialogs—and allows customization of button labels and keyboard hotkeys. The description notes the project is in maintenance mode with limited recent activity, though the repository remains available for contributions.
Use it for:
- Quick scripts that need user confirmation or input without building a full GUI application.
- Educational projects where students want to add simple dialogs to Python programs without learning event-driven frameworks.
- System utilities and automation tools that require file selection or yes/no prompts from the command line.
- Prototyping or testing GUI interactions before committing to a heavier framework like PyQt or Tkinter directly.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
EasyGUI provides simple, non-event-driven GUI dialogs for Python using Tkinter—message boxes, yes/no prompts, button selections, and file dialogs invoked by plain function calls.
Yes, if you need simple synchronous dialogs for a script or educational project. The low install friction, zero runtime dependencies, and permissive license make it straightforward to add. However, the dormant maintenance status (last release 1596 days ago) means it's not actively developed; use it for lightweight, stable use cases, not for new applications requiring ongoing support or modern GUI features.
Install
easygui on PyPI
pip
pip install easyguiuv
uv add easyguipoetry
poetry add easyguiInstalling easygui
Before you install
Low friction: pure Python wheel with no runtime dependencies beyond Tkinter (built into Python). Maintenance is dormant—last release was 1596 days ago, though the repository remains active with a recent commit on 2024-10-22.
License in practice
BSD license (permissive) is GPL-compatible and imposes minimal restrictions on use or redistribution.
Quickstart
pip install easygui
import easygui
easygui.msgbox('Hello', 'Title')
easygui.ynbox('Continue?', 'Prompt', ('Yes', 'No'))
Tkinter must be installed; Linux users may need to install python-tk or python3-tk separately.
Verify before relying
- Whether the dormant maintenance status and 1596-day gap since last release affects stability or compatibility with recent Python versions beyond 3.9.
- Current state of IDLE IDE compatibility, which was flagged as a known issue in earlier releases.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 1,596 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,798,829/month — #1,693 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: easygui-0.98.3-py2.py3-none-any.whl
Keywords: gui, linux, windows, graphical, user, interface
Tags
More User Interfaces packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
humanfriendlyFormats and parses numbers, file sizes,…
permissive · top 1,000 on PyPI
coloredlogsAdds colored output to Python's standard…
permissive · top 1,000 on PyPI
rich-argparseFormats argparse and optparse help output with…
permissive · top 1,000 on PyPI
progressbar2progressbar2 renders text-based progress bars…
permissive · top 5,000 on PyPI
inquirerpyInquirerPy provides interactive command-line…
permissive · top 5,000 on PyPI
niceguiNiceGUI is a Python framework for building…
permissive · top 5,000 on PyPI
PyMsgBoxPyMsgBox provides JavaScript-like message box…
copyleft · top 5,000 on PyPI
pysimpleguiPySimpleGUI wraps tkinter and other GUI…
copyleft · top 15,000 on PyPI
customtkinterCustomTkinter wraps Python's Tkinter to provide…
permissive · top 5,000 on PyPI
pywinautoAutomate Microsoft Windows GUI interactions by…
permissive · top 5,000 on PyPI
sv-ttkApplies a modern, Windows 11-inspired visual…
permissive · top 15,000 on PyPI
PyAutoGUIPyAutoGUI programmatically controls the mouse…
permissive · top 5,000 on PyPI
jupyter-ui-pollBlocks Jupyter cell execution while waiting for…
permissive · top 15,000 on PyPI
imgui-bundleDear ImGui Bundle provides Python bindings to a…
permissive · top 15,000 on PyPI
imguiPython bindings for the dear imgui C++ library,…
permissive · top 15,000 on PyPI