explaingit

pysimplegui/pysimplegui

13,803PythonAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

PySimpleGUI is a Python library that lets beginners build real desktop apps with windows, buttons, and text fields in under 20 lines of code by wrapping tkinter and other GUI toolkits in a much simpler interface.

Mindmap

mindmap
  root((repo))
    What it does
      Simple GUI for Python
      Wraps tkinter
      Quick desktop apps
    Key Concepts
      Window as list of rows
      Event loop
      Element types
    Tech Stack
      Python
      tkinter backend
    Use Cases
      Script front-ends
      Data entry forms
      Raspberry Pi tools
    History
      Open source 2018
      Commercial then back
      LGPL3 from 2025
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a simple desktop tool with a file picker, input fields, and buttons without learning tkinter directly

USE CASE 2

Create a graphical front-end for an existing Python script so non-technical users can run it

USE CASE 3

Build a quick data-entry form or settings panel for a hardware project running on Raspberry Pi

Tech stack

Pythontkinter

Getting it running

Difficulty · easy Time to first run · 5min
Free to use and modify, if you distribute a modified version you must make the source code available under the same LGPL-3.0 license, but apps that merely use the library are not affected.

In plain English

PySimpleGUI is a Python library that makes it easier to build desktop applications with graphical windows, buttons, text fields, and other interface elements. It acts as a wrapper around existing GUI toolkits, primarily tkinter (which ships with Python by default), and presents a much simpler programming interface so that beginners can create real, working desktop apps in a small number of lines of code. Instead of learning the full details of tkinter, Qt, wxPython, or Remi directly, you describe your window as a list of rows and elements, then write a short event loop to respond to button clicks and user input. The README includes a complete working example with an input field and a greeting button in under 20 lines. No prior GUI programming experience is required. The project has an unusual history. It launched in 2018 as open source, then shifted to a commercial model under a company called PySimpleSoft. That company shut down in early 2025 when the commercial approach did not generate enough revenue to sustain it. The original creator then re-released the code as open source under the LGPL3 license, now labeled version 6, available on both PyPI and GitHub. You can install it with: pip install PySimpleGUI. PySimpleGUI is a solo project and pull requests are not accepted. The author has always written all the code himself by choice and intends to continue doing so. Documentation is hosted on a separate site at Docs.PySimpleGUI.com. The library is still actively maintained and used daily, with people discovering and installing it regularly. The author describes recent personal projects that use it as a front-end for hardware tools running on Raspberry Pi, which gives a sense of the kinds of applications it suits well.

Copy-paste prompts

Prompt 1
Show me how to build a PySimpleGUI window with an input field, a browse button for picking a file, and a button that runs a Python function on the selected file.
Prompt 2
Help me create a PySimpleGUI desktop app that reads a CSV file and displays its rows in a scrollable table.
Prompt 3
I have a Python script that takes command-line arguments. Help me wrap it in a PySimpleGUI window so users can fill in the arguments with a form instead.
Prompt 4
Show me how to use PySimpleGUI to display a progress bar while a long-running Python function runs in the background.
Prompt 5
How do I add a menu bar with File and Help options to a PySimpleGUI window?
Open on GitHub → Explain another repo

← pysimplegui on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.