pysimplegui
Python GUIs for Humans. Launched in 2018. NEW LGPL3 Version 6 released in 2026.
What it is and what it does
PySimpleGUI is a wrapper around tkinter (and optionally Qt, WxPython, or Remi) that abstracts away low-level GUI complexity into a simpler, list-based layout syntax. Instead of managing callbacks and widget hierarchies directly, you define your interface as nested lists of elements, then run an event loop that returns user actions and input values as simple dictionaries. It targets developers who want to build desktop applications quickly without learning traditional GUI frameworks.
The package supports modern Python versions (3.6 through 3.15) and has no external runtime dependencies beyond Python itself. It recently transitioned from a commercial product back to open-source under LGPLv3 after the commercial venture concluded in early 2025. The project maintains active development with frequent releases and extensive documentation.
Use it for:
- Build a simple data-entry form or dialog box without learning tkinter's widget API
- Prototype a desktop application rapidly for internal tools or automation scripts
- Create a GUI wrapper around a command-line Python script for non-technical users
- Add a graphical interface to a Raspberry Pi or microcontroller project using PSGMicroPython
- Develop educational applications where students need GUI experience without framework overhead
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PySimpleGUI wraps tkinter and other GUI libraries to simplify desktop application development with a compact, event-driven architecture that requires no prior GUI programming experience.
Yes, if you need a quick desktop GUI and want to avoid tkinter's verbosity. PySimpleGUI has low install friction, no dependencies, and active maintenance. The LGPLv3 license is permissive for most use cases as long as you're willing to share modifications. Avoid it if you need advanced styling, cross-platform polish, or web deployment—consider Qt or web frameworks instead.
Install
pysimplegui on PyPI
pip
pip install pysimpleguiuv
uv add pysimpleguipoetry
poetry add pysimpleguiInstalling pysimplegui
Before you install
Installation is straightforward with no runtime dependencies. The project is actively maintained with a recent release and strong community engagement (13811 GitHub stars), though it transitioned from commercial to open-source in 2025.
License in practice
Licensed under LGPLv3 (copyleft). You may use and modify PySimpleGUI freely, but derivative works must also be licensed under LGPLv3 and source code must be made available to users.
Quickstart
pip install PySimpleGUI
import PySimpleGUI as sg
layout = [[sg.Text("What's your name?")],
[sg.Input(key='-INPUT-')],
[sg.Button('Ok'), sg.Button('Quit')]]
window = sg.Window('Window Title', layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED or event == 'Quit':
break
window.close()
Verify before relying
- Whether version 6 maintains full backward compatibility with version 4.60.5.1 after removing licensing components
- Current state of drag-and-drop support across Windows, Linux, and macOS platforms
- Whether PSGWeb (browser-based PySimpleGUI) is production-ready or experimental
Package facts
| License | GNU Lesser General Public License v3 (LGPLv3) (copyleft) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 12 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 114,809/month — #12,278 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pysimplegui-6.3-py3-none-any.whl
Keywords: GUI, UI, tkinter, Qt, WxPython, Remi, wrapper, simple, easy, beginner, novice, student, graphics, progressbar, progressmeter
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
easyguiEasyGUI provides simple, non-event-driven GUI…
permissive · top 5,000 on PyPI
customtkinterCustomTkinter wraps Python's Tkinter to provide…
permissive · top 5,000 on PyPI
tkinterdnd2Adds native drag-and-drop support to Tkinter…
permissive · top 15,000 on PyPI
pyshortcutsCreates desktop and Start Menu shortcuts for…
permissive · top 15,000 on PyPI
imgui-bundleDear ImGui Bundle provides Python bindings to a…
permissive · top 15,000 on PyPI
pywebviewpywebview wraps native webview components to…
permissive · top 5,000 on PyPI
tkcalendarProvides Calendar and DateEntry widgets for…
copyleft · top 15,000 on PyPI
niceguiNiceGUI is a Python framework for building…
permissive · top 5,000 on PyPI
sv-ttkApplies a modern, Windows 11-inspired visual…
permissive · top 15,000 on PyPI
ttkbootstrapApplies Bootstrap-inspired themes and a…
permissive · top 15,000 on PyPI